{"version":3,"file":"MirrorAsyncRoot.chunk.js","mappings":"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CC,8BgC9JD,ukChC+JCC,ciC/JD,krBjCgKCC,WkChKD,gElCiKCC,gBmCjKD,6DnCkKCC,aoClKD,6SpCmKCC,kBqCnKD,6NrCoKCC,0BsCpKD,6gBtCqKCC,kBuCrKD,0NvCsKCC,uBwCtKD,yGxCuKCC,wByCvKD,0HzCwKCC,6B0CxKD,y6B1CyKCC,kB2CzKD,2tL3C0KCC,qB4C1KD,wE5C2KCC,0B6C3KD,u2B7C4KCC,sB8C5KD,0M9C6KCC,2B+C7KD,isC/C8KCC,yBgD9KD,m/FhD+KCC,8BiD/KD,q3SjDgLCC,sBkDhLD,knMlDiLCC,qBmDjLD,guBnDkLCC,oBoDlLD,yRpDmLCC,qBqDnLD,4SrDoLCC,0BsDpLD,iLtDqLCC,wBuDrLD,sMvDsLCC,mBwDtLD,qZxDuLCC,ayDvLD,6gBzDwLCC,kB0DxLD,2D1DyLCC,sB2DzLD,qT3D0LCC,2B4D1LD,2N5D2LCC,sB6D3LD,8Q7D4LCC,2B8D5LD,6E9D6LCC,kB+D7LD,42B/D8LCC,mBgE9LD,87BhE+LCC,wBiE/LD,o3BjEgMCC,mBkEhMD,8uClEiMCC,sBmEjMD,40BnEkMCC,qBoElMD,iwBpEmMCC,qBqEnMD,+JrEoMCC,mBsEpMD,+JtEqMCC,cuErMD,ySvEsMCC,wBwEtMD,0iCxEuMCC,gCyEvMD,iFzEwMCC,+B0ExMD,qY1EyMCC,wB2EzMD,yS3E0MCC,0B4E1MD,oL5E2MCC,gB6E3MD,sP7E4MCC,Q8E5MD,kgE9E6MCC,6B+E7MD,8M/E8MCC,egF9MD,kOhF+MCC,mBiF/MD,wFjFgNCC,wBkFhND,4mBlFiNCC,sBmFjND,8QnFkNCC,2BoFlND,6EpFmNCC,wBqFnND,izVrFoNCC,sBsFpND,m9CtFqNCC,iBuFrND,kvDvFsNCC,yBwFtND,ujDxFuNCC,gByFvND,0OzFwNCC,qB0FxND,+zB1FyNCC,gB2FzND,2Y3F0NCC,kB4F1ND,qe5F2NCC,qB6F3ND,wM7F4NCC,0B8F5ND,2E9F6NCC,qB+F7ND,qG/F8NCC,0BgG9ND,ujEhG+NCC,sBiG/ND,klCjGgOCC,2BkGhOD,y+HlGiOCC,iBmGjOD,iGnGkOCC,eoGlOD,0JpGmOCC,UqGnOD,6ErGoOCC,kBsGpOD,4FtGqOCC,gBuGrOD,mJvGsOCC,WwGtOD,sHxGuOCC,gByGvOD,+VzGyOCC,gB0GzOkB,0K1G0OlBC,gB0G7NoB,miB1G8NpBC,oB2G3OkB,wQ3G4OlBC,oB2G3NoB,2uB3G4NpBC,U4G7OkB,wQ5G8OlBC,U4G7NoB,0W5G8NpBC,W6G/OkB,qjC7GgPlBC,W6GvMoB,0hC7GwMpBC,kB8GjPkB,4uB9GkPlBC,kB8G3MoB,4wB9G4MpBC,c+GnPkB,6M/GoPlBC,c+GrOoB,6U/GsOpBC,gBgHrPkB,+kBhHsPlBC,gBgHzNoB,uzBhH0NpBC,eiHvPkB,w8BjHwPlBC,eiH7MoB,ouDjH8MpBC,iBkHzPkB,wpClH0PlBC,iBkHvMoB,o/DlHwMpBC,gBmH3PkB,w8BnH4PlBC,gBmHhNoB,4mDnHiNpBC,gBoH7PkB,wgCpH8PlBC,gBoHhNoB,ssBpHiNpBC,eqH/PkB,spCrHgQlBC,eqH7MoB,kmErH8MpBC,kBsHjQkB,ivCtHkQlBC,kBsHtMoB,2oItHuMpBC,cuHnQkB,0lCvHoQlBC,cuHnNoB,i2DvHoNpBC,YwHrQkB,6uBxHsQlBC,YwHjOoB,ixBxHkOpBC,YyHvQkB,uiBzHwQlBC,YyH7OoB,ibzH8OpBC,Y0HzQkB,wpC1H0QlBC,Y0H7NoB,wvBCxCjBC,GAAiB,EAqCrB,SAASC,GAAiBvoC,EAAIguB,EAAQz7E,GAErC,IAAMijD,EAASwK,EAAGwoC,mBAAoBxa,EAAQhuB,EAAGyoC,gBAC3CC,EAAS1oC,EAAG2oC,iBAAkB3a,GAAS73E,OAE7C,GAAKq/C,GAAqB,KAAXkzC,EAAgB,MAAO,GAEtC,IAAME,EAAe,iBAAiB1yF,KAAMwyF,GAC5C,GAAKE,EAAe,CAKnB,IAAMC,EAAYzqF,SAAUwqF,EAAc,IAC1C,OAAOr2F,EAAKu2F,cAAgB,OAASJ,EAAS,OAjDhD,SAAuBnrB,EAAQsrB,GAQ9B,IANA,IAAM/3D,EAAQysC,EAAOjnE,MAAO,MACtByyF,EAAS,GAETxsE,EAAOgxC,KAAKx/B,IAAK86D,EAAY,EAAG,GAChCzhE,EAAKmmC,KAAKz/B,IAAK+6D,EAAY,EAAG/3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A,IACA,KACA,GACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,GACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,GACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,GACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,KAGIC,GAAoC,GAEjC9mN,GAAI,EAAGA,GAAI6mN,GAAyBpwN,OAAQuJ,IAAQ,EAC3D8mN,GAAsBppN,KAAK,CAACmpN,GAAyB7mN,IAAI6mN,GAAyB7mN,GAAI,KCq7BxF,IA3iCA,IAAM+mN,GAAoB,CACxB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGIC,GAA6B,GAE1BhnN,GAAI,EAAGA,GAAI+mN,GAAkBtwN,OAAQuJ,IAAQ,EACpDgnN,GAAetpN,KAAK,CAACqpN,GAAkB/mN,IAAI+mN,GAAkB/mN,GAAI,KCxiCnE,IAAMozK,GAAS,CACb3gG,KAAM,CAAC,KAAM,MACbgD,MAAO,CAAC,KAAM,MACd8D,QAAS,CAAC,GAAK,KAGX0tI,GAAO,CACXx0I,KAAM,CAAC,OACP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","sources":["components/LeftSideActions/styles.ts","components/LeftSideActions/index.tsx","components/Carousel/FrameCatalog/index.tsx","components/Carousel/LensCatalog/styles.ts","components/Carousel/LensCatalog/index.tsx","components/Carousel/index.tsx","../node_modules/html-parse-stringify/src/parse-tag.js","../node_modules/html-parse-stringify/src/parse.js","../node_modules/html-parse-stringify/src/stringify.js","../node_modules/html-parse-stringify/src/index.js","../node_modules/html-escaper/esm/index.js","../node_modules/react-i18next/dist/es/Trans.js","components/TransitionView/Toggle/styles.ts","components/TransitionView/Toggle/index.tsx","components/TransitionView/styles.tsx","components/TransitionView/index.tsx","components/QRCodeModal/styles.tsx","components/QRCodeModal/index.tsx","components/AddPrescriptionModal/styles.ts","components/AddPrescriptionModal/index.tsx","pages/LiveTryOn.tsx","components/PictureMode/PictureModeView.tsx","components/VideoMode/VideoModeView/index.tsx","Routes.tsx","VMWidget.tsx","components/AvailableMode.tsx","components/Carousel/ColorsCatalog/index.tsx","components/Carousel/styles.ts","components/ErrorBoundary/styles.ts","components/ErrorBoundary/index.tsx","components/ErrorModal/styles.ts","components/ErrorModal/index.tsx","components/FooterActions/styles.ts","components/Price/styles.tsx","components/Price/index.tsx","components/core/Icons/ArrowRightIcon.tsx","components/FooterActions/index.tsx","components/InitColorSwatches/index.tsx","components/PrivacyPolicy/styles.tsx","components/PrivacyPolicy/PrivacyPolicyWrapper/styles.tsx","components/PrivacyPolicy/PrivacyPolicyWrapper/index.tsx","services/vtoApiService.ts","hooks/useBipaContent.ts","components/PrivacyPolicy/BipaModal.tsx","components/OrientationScreen/styles.tsx","components/OrientationScreen/index.tsx","hooks/useSetDocumentHeight.ts","hooks/useDeviceOrientation.ts","components/PrivacyPolicy/PrivacyPolicyModal.tsx","components/PrivacyPolicy/TermsAndConditionsModal.tsx","components/Layout/normalize.ts","components/Layout/index.tsx","components/Loader/index.tsx","components/Loader/loader.tsx","components/Loader/styles.tsx","components/Menu/MenuList.tsx","components/Info/styles.ts","components/Info/index.tsx","components/Menu/index.tsx","components/Menu/styles.ts","components/PictureMode/TakePicture/TakePictureInstructions.tsx","components/PictureMode/TakePicture/index.tsx","components/PictureMode/TakePicture/styles.tsx","components/PictureMode/UploadPicture/UploadButton/styles.tsx","hooks/useUpload.ts","components/PictureMode/UploadPicture/UploadButton/index.tsx","components/PictureMode/UploadPicture/index.tsx","components/PictureMode/index.tsx","components/PictureMode/styles.tsx","components/PictureVideoError/styles.ts","components/PictureVideoError/index.tsx","hooks/useQueryParams.ts","components/ProtectedRoute.tsx","services/vmApiService.ts","components/QRCodeModal/QRCode/styles.tsx","schemas/vmData.ts","components/QRCodeModal/QRCode/index.tsx","components/QrCodeUi.tsx","components/RightSIdeActions/styles.ts","components/core/Icons/WishlistFilledIcon.tsx","components/Wishlist/index.tsx","hooks/useWishlist.ts","components/LensActivation/styles.ts","components/LensActivation/index.tsx","components/RightSIdeActions/index.tsx","libs/getColorFromStyle.ts","libs/getFontFromStyle.ts","libs/saveScreenshot.ts","components/ScreenshotPreview/ScreenshotImage/styles.tsx","components/ScreenshotPreview/ScreenshotImage/index.tsx","components/ScreenshotPreview/styles.ts","components/ScreenshotPreview/index.tsx","hooks/useShare.ts","components/VMInitialize/index.tsx","hooks/useVmInitParams.ts","components/VideoMode/VideoFaceScan/styles.tsx","components/VideoMode/VideoFaceScan/index.tsx","components/VideoMode/VideoScanInstructions/styles.ts","components/VideoMode/VideoScanInstructions/index.tsx","components/core/BackButton.tsx","components/core/Button.tsx","components/core/Drawer/styles.tsx","components/core/Drawer/index.tsx","components/core/Icons/AlertIcon.tsx","components/core/Icons/CloseIcon.tsx","components/core/Icons/NavBarActionScan.tsx","components/core/Icons/NavBarActionVideo.tsx","components/core/Icons/NavBarActionPicture.tsx","components/core/Icons/WishlistIcon.tsx","components/core/Icons/RefreshIcon.tsx","components/core/Icons/ChooseLens.tsx","components/core/Icons/ChooseColor.tsx","components/core/Icons/ChooseFrame.tsx","components/core/Icons/LightIcon.tsx","components/core/Icons/LightLessIcon.tsx","components/core/Icons/CameraIcon.tsx","components/core/Icons/UploadIcon.tsx","components/core/Icons/FaceShapeIcon.tsx","components/core/Icons/SunIcon.tsx","components/core/Icons/CaretLeftIcon.tsx","components/core/Icons/CartIcon.tsx","components/core/Icons/NoGlassesIcon.tsx","components/core/Icons/ShareIcon.tsx","components/core/Icons/SaveIcon.tsx","components/core/Icons/InfoIcon.tsx","components/core/Icons/FocusIcon.tsx","components/core/Icons/ArrowIcon.tsx","components/core/Icons/QRCodeIcon.tsx","components/core/Icons/RotateIcon.tsx","components/core/Icons/RotateIconDesktop.tsx","components/core/Icons/MenuOpen.tsx","components/core/Icons/MenuClose.tsx","components/core/Icons/CloseScreenshotIcon.tsx","components/core/Icons/CheckIcon.tsx","components/core/Icons/RelaxFaceIcon.tsx","components/core/Icons/EyeglassesOffIcon.tsx","components/core/Icons/HoldDeviceIcon.tsx","components/core/Icons/TransitionIconReduced.tsx","components/core/Icons/TransitionsIcon.tsx","components/core/Icons/TurnFaceIcon.tsx","components/core/Modal/styles.ts","components/core/Modal/index.tsx","components/core/Overlay/styles.ts","components/core/Overlay/index.tsx","components/core/StickyButton/index.tsx","components/core/StickyButton/styles.tsx","hooks/useAddToCart.ts","hooks/useAlternativePath.ts","hooks/useAnimationApp.ts","hooks/useAsync.ts","hooks/useDimensions.tsx","hooks/useInterval.tsx","hooks/useModal.ts","hooks/useMoveGlassObserver.ts","hooks/usePortalDiv.tsx","hooks/useRefValue.ts","hooks/useVirtualMirrorApp.ts","hooks/useScreenshot.ts","hooks/useUpcAvailability.tsx","utils/I18NextMergeBackend.ts","i18n.ts","libs/analytics/utils.ts","libs/analytics/helpers.ts","libs/analytics/componentTracking.ts","libs/analytics/errors.ts","libs/analytics/clicks.ts","libs/analytics/events.ts","libs/analytics/impressions.ts","libs/analytics/hooks.ts","libs/getColorSwatches.ts","libs/styled.ts","libs/transition.ts","libs/truncateString.ts","libs/utils.ts","pages/PictureMode.tsx","pages/PrivacyPolicy/styles.tsx","components/core/Icons/CloseLineIcon.tsx","pages/PrivacyPolicy/index.tsx","pages/VideoMode.tsx","components/VMInitialize/styles.ts","providers/VmProvider.tsx","components/VtoInitialize/index.tsx","hooks/useVtoInitParams.ts","components/VtoInitialize/styles.tsx","providers/Vto.tsx","providers/VtoProvider.tsx","providers/configProvider.ts","services/apiService.ts","store/actions/animationApp.ts","store/actions/configurator.ts","store/actions/privacyPolicy.tsx","store/actions/products.ts","store/actions/ui.ts","store/actions/wishlist.tsx","store/index.ts","store/reducers/ui.ts","store/reducers/animationApp.ts","store/reducers/privacyPolicy.tsx","store/reducers/products.tsx","store/reducers/wishlist.tsx","store/reducers/configurator.ts","store/reducers/index.ts","store/localStorage.ts","theme.ts","utils/cookies.ts","utils/filterColors.ts","utils/language.ts","utils/region.ts","utils/routes.ts","../node_modules/three/src/math/Plane.js","../node_modules/three/src/math/Frustum.js","../node_modules/three/src/renderers/webgl/WebGLAttributes.js","../node_modules/three/src/renderers/webgl/WebGLBindingStates.js","../node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js","../node_modules/three/src/renderers/webgl/WebGLCapabilities.js","../node_modules/three/src/renderers/webgl/WebGLClipping.js","../node_modules/three/src/math/Ray.js","../node_modules/three/src/math/Triangle.js","../node_modules/three/src/materials/Material.js","../node_modules/three/src/math/ColorManagement.js","../node_modules/three/src/math/Color.js","../node_modules/three/src/materials/MeshBasicMaterial.js","../node_modules/three/src/objects/Mesh.js","../node_modules/three/src/geometries/BoxGeometry.js","../node_modules/three/src/renderers/shaders/UniformsUtils.js","../node_modules/three/src/extras/ImageUtils.js","../node_modules/three/src/materials/ShaderMaterial.js","../node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js","../node_modules/three/src/textures/Source.js","../node_modules/three/src/textures/Texture.js","../node_modules/three/src/renderers/WebGLRenderTarget.js","../node_modules/three/src/cameras/Camera.js","../node_modules/three/src/cameras/PerspectiveCamera.js","../node_modules/three/src/cameras/CubeCamera.js","../node_modules/three/src/textures/CubeTexture.js","../node_modules/three/src/renderers/WebGLCubeRenderTarget.js","../node_modules/three/src/renderers/webgl/WebGLCubeMaps.js","../node_modules/three/src/cameras/OrthographicCamera.js","../node_modules/three/src/extras/PMREMGenerator.js","../node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js","../node_modules/three/src/renderers/webgl/WebGLExtensions.js","../node_modules/three/src/renderers/webgl/WebGLGeometries.js","../node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js","../node_modules/three/src/renderers/webgl/WebGLInfo.js","../node_modules/three/src/renderers/webgl/WebGLObjects.js","../node_modules/three/src/textures/DataArrayTexture.js","../node_modules/three/src/textures/Data3DTexture.js","../node_modules/three/src/renderers/webgl/WebGLUniforms.js","../node_modules/three/src/renderers/webgl/WebGLShader.js","../node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk.js","../node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/iridescence_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js","../node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js","../node_modules/three/src/renderers/webgl/WebGLProgram.js","../node_modules/three/src/renderers/webgl/WebGLShaderCache.js","../node_modules/three/src/renderers/shaders/UniformsLib.js","../node_modules/three/src/renderers/shaders/ShaderLib.js","../node_modules/three/src/renderers/webgl/WebGLPrograms.js","../node_modules/three/src/renderers/webgl/WebGLProperties.js","../node_modules/three/src/renderers/webgl/WebGLRenderLists.js","../node_modules/three/src/materials/MeshDepthMaterial.js","../node_modules/three/src/materials/MeshDistanceMaterial.js","../node_modules/three/src/renderers/webgl/WebGLShadowMap.js","../node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js","../node_modules/three/src/renderers/webgl/WebGLState.js","../node_modules/three/src/renderers/webgl/WebGLTextures.js","../node_modules/three/src/renderers/webgl/WebGLUtils.js","../node_modules/three/src/cameras/ArrayCamera.js","../node_modules/three/src/renderers/webgl/WebGLAnimation.js","../node_modules/three/src/objects/Group.js","../node_modules/three/src/renderers/webxr/WebXRController.js","../node_modules/three/src/textures/DepthTexture.js","../node_modules/three/src/renderers/webxr/WebXRManager.js","../node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLAnimation.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/constants.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/MathUtils.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Quaternion.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Vector3.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Vector2.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Box3.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/core/EventDispatcher.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/core/BufferAttribute.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Sphere.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Matrix4.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Euler.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/core/Layers.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Matrix3.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/core/Object3D.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/utils.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/core/BufferGeometry.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/geometries/BoxGeometry.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/geometries/PlaneGeometry.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/materials/Material.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/UniformsUtils.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/materials/ShaderMaterial.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/ColorManagement.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Color.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Ray.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Triangle.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/materials/MeshBasicMaterial.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/objects/Mesh.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/extras/ImageUtils.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderChunk.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/UniformsLib.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/shaders/ShaderLib.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLBackground.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/textures/Source.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/textures/Texture.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/textures/DataArrayTexture.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/math/Vector4.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLLights.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLRenderStates.js","../node_modules/@luxottica/glasses-rt-webglrenderer/node_modules/three/src/renderers/webgl/WebGLMaterials.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/bending.pars.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/bending.vertex.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/tapering.pars.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/tapering.vertex.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/tapering.func.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/fade.pars.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/fade.vertex.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/fade.frag.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/fadeDither.pars.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/shaderChunks/fadeDither.frag.glsl.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/GlassesRTWebGLRenderer.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/utils.js","../node_modules/@luxottica/glasses-rt-webglrenderer/src/GLTFGlassesParser.ts","../node_modules/@luxottica/glasses-rt-webglrenderer/src/SceneSorter.ts","../node_modules/@luxottica/virtual-mirror/src/constants/Styling.ts","../node_modules/@luxottica/virtual-mirror/src/app/mirror/ErrorBoundary.tsx","../node_modules/@luxottica/virtual-mirror/src/app/gui/BipaErrorOverlay.tsx","../node_modules/@luxottica/virtual-mirror/src/app/gui/LoadingSpinner.tsx","../node_modules/@luxottica/virtual-mirror/src/app/mirror/MirrorLoader.tsx","../node_modules/@luxottica/virtual-mirror/src/app/mirror/MirrorAsyncRoot.tsx","../node_modules/@luxottica/virtual-mirror/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-is/index.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/components/Context.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/utils/batch.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/utils/Subscription.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/components/Provider.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/mergeProps.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/connect/connect.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/hooks/useSelector.js","../node_modules/@luxottica/virtual-mirror/node_modules/react-redux/es/index.js","../node_modules/react-ga/dist/esm/utils/console/warn.js","../node_modules/react-ga/dist/esm/components/OutboundLink.js","../node_modules/react-ga/dist/esm/utils/trim.js","../node_modules/react-ga/dist/esm/utils/toTitleCase.js","../node_modules/react-ga/dist/esm/utils/format.js","../node_modules/react-ga/dist/esm/utils/mightBeEmail.js","../node_modules/react-ga/dist/esm/utils/console/log.js","../node_modules/react-ga/dist/esm/utils/testModeAPI.js","../node_modules/react-ga/dist/esm/core.js","../node_modules/react-ga/dist/esm/utils/loadGA.js","../node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","../node_modules/react-ga/dist/esm/index.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/constants/Environment.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/config/GlassesApiConfig.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/config/CatalogueApiConfig.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/helpers/UpcAvailabilityResponse/NotAvailable.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/helpers/UpcAvailabilityResponse/Standard.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/CatalogService.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/helpers/UpcAvailabilityResponse/QATool.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/Catalog.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/AssetDecoder.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/remotelog/AppViewSessionKeys.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/constants/AssetNames.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/constants/GltfDefault.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/constants/MockAssetData.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/error/GenericError.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/error/GlassesDownloadError.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/error/GlassesDownloadForbiddenError.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/error/GlassesNotFoundError.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/helpers/AssetHelper.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/GlassesExtractor.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/ZipDownloader.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-glasses/src/GlassesDownloader.ts","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/components/Context.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/utils/batch.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/utils/Subscription.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/components/Provider.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/mergeProps.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/connect/connect.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/hooks/useSelector.js","../node_modules/@luxottica/vto-core/node_modules/react-redux/es/index.js","../node_modules/@luxottica/vto-core/src/constants/errors.ts","../node_modules/@luxottica/vto-core/src/app/render/cache/GlassesCache.ts","../node_modules/@luxottica/vto-core/src/app/render/cache/VideoCache.ts","../node_modules/@luxottica/vto-core/src/helpers/AnalyticsHelper.ts","../node_modules/@luxottica/vto-core/src/helpers/ParameterHelper.ts","../node_modules/@luxottica/vto-core/src/functions/GetScreenshot.ts","../node_modules/@luxottica/vto-core/src/helpers/VtoInstanceContainer.ts","../node_modules/@luxottica/vto-core/src/constants/actions.ts","../node_modules/@luxottica/vto-core/src/reducers/renderReducer.ts","../node_modules/@luxottica/vto-core/src/functions/CloseRenderFunction.tsx","../node_modules/@luxottica/vto-core/src/helpers/CallbackHelper.ts","../node_modules/@luxottica/vto-core/src/config/acceptance.js","../node_modules/@luxottica/vto-core/src/config/development.js","../node_modules/@luxottica/vto-core/src/config/development-localserver.js","../node_modules/@luxottica/vto-core/src/config/integration.js","../node_modules/@luxottica/vto-core/src/config/production.js","../node_modules/@luxottica/vto-core/src/config/staging.js","../node_modules/@luxottica/vto-core/src/reducers/appReducer.ts","../node_modules/@luxottica/vto-core/src/helpers/GlassesHelper.ts","../node_modules/@luxottica/vto-core/src/VtoApi.ts","../node_modules/@luxottica/vto-core/src/helpers/EnvironmentHelper.ts","../node_modules/@luxottica/vto-core/src/helpers/LocalizationHelper.ts","../node_modules/@luxottica/vto-core/src/interfaces/InitializeOptions.ts","../node_modules/@luxottica/vto-core/src/functions/InitializeFunction.tsx","../node_modules/@luxottica/vto-core/src/interfaces/VtoCoreEnvironment.ts","../node_modules/@luxottica/vto-core/src/functions/IsUpcSupportedFunction.tsx","../node_modules/@luxottica/vto-core/src/app/render/LoadingSpinner.tsx","../node_modules/@luxottica/vto-core/src/helpers/TransitionColorHelper.ts","../node_modules/@luxottica/vto-core/src/helpers/DownloadHelper.ts","../node_modules/@luxottica/vto-core/src/icons/RotateIcon.tsx","../node_modules/@luxottica/vto-core/src/app/render/debug/PupilOverlay.tsx","../node_modules/@luxottica/vto-core/src/helpers/OverlayHelper.ts","../node_modules/@luxottica/vto-core/src/app/render/debug/PupilImageOverlay.tsx","../node_modules/@luxottica/vto-core/src/app/render/debug/MeshCenterOverlay.tsx","../node_modules/@luxottica/vto-core/src/app/render/debug/RenderDebugOverlay.tsx","../node_modules/@luxottica/vto-core/src/app/render/RenderCanvas.tsx","../node_modules/@luxottica/vto-core/src/helpers/MathHelper.ts","../node_modules/@luxottica/vto-core/src/icons/DoubleFingerIcon.tsx","../node_modules/@luxottica/vto-core/src/app/render/SwipeableContainer.tsx","../node_modules/@luxottica/vto-core/src/app/render/RenderContainer.tsx","../node_modules/@luxottica/vto-core/src/app/render/RenderError.tsx","../node_modules/@luxottica/vto-core/src/app/render/RenderLoader.tsx","../node_modules/@luxottica/vto-core/src/interfaces/RenderOptions.ts","../node_modules/@luxottica/vto-core/src/functions/RenderFunction.tsx","../node_modules/@luxottica/vto-core/src/constants/Styling.ts","../node_modules/@luxottica/vto-core/src/reducers/combinedReducers.ts","../node_modules/@luxottica/vto-core/src/VtoCore.ts","../node_modules/@luxottica/vto-core/src/Store.ts","../node_modules/@luxottica/vto-core/src/functions/SetTransitionOpacity.ts","../node_modules/@luxottica/vto-core/src/functions/SetTransitionOverrideColor.ts","../node_modules/@luxottica/vto-core/src/functions/setTransitionLensName.ts","../node_modules/@luxottica/vto-core/src/functions/DownloadTransitionColorCatalogue.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Meshes/GlassesInterfaces.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/MaterialInterfaces.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/AttributesDebugMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Geometry/GlassesB3DGeometry.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/GlassesB3DTransitionMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/GlassesB3DTransitionMirrorMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/GlassesB3DGradientMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Meshes/B3DMesh.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/b3d/b3dbundle.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Helpers/B3DHelper.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Meshes/VTOPackInterfaces.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Meshes/B3DMeshFactories.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/loaders/B3DLoader.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/loaders/B3DGeometryLoader.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/loaders/B3DBSPGeometryLoader.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Geometry/HeadBinaryGeometry.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Renderers/ScriptableRenderingPipelines/GlassesB3DTransitionMirrorSRP.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/HeadStandardShadowMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Renderers/ScriptableRenderingPipelines/LensStandardTransitionMirrorSRP.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/LensStandardIridescentMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/LensStandardTransitionMirrorMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/LensStandardGradientMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/HeatmapMaterial.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/FeatureBuilder/ShaderChunkReplacer.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Services/LoggingService.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Materials/FeatureBuilder/FeatureMaterialBuilder.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/Helpers/MathUtils.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/loaders/IridescenceMaterialLoaderPlugin.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/src/AssetManager/LensesManager.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/minimal.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/index-minimal.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/reader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/reader_buffer.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/roots.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/rpc.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/rpc/service.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/util/longbits.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/util/minimal.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/writer.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-core/node_modules/protobufjs/src/writer_buffer.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/node_modules/three/examples/jsm/loaders/GLTFLoader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/node_modules/three/examples/jsm/loaders/RGBELoader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/loaders/IridescenceMaterialLoaderPlugin.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/loaders/AssetLoader.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/shaders/SRGBShader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/BackgroundTexture.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/shaders/CopyShader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/Pass.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/ShaderPass.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/MaskPass.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/EffectComposer.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/RenderPass.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/composer/shaders/FillShader.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/DefaultGlRenderDebugOptions.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/face_tri_shorts.bin","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/head-6.uvdata","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/RenderType.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/DefaultGlRenderOptions.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/FittingOffset.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/RenderDataUtils.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/FastFittingMode.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/helpers/MathHelper.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/Inspector.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/measure-calculator/data/BygozomaticBreadthSearchAreaIds.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/measure-calculator/data/HeadBreadthSearchAreaIds.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/measure-calculator/data/GeometryData.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/measure-calculator/data/Measurements.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/measure-calculator/calculator/MeasureCalculator.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/objects/HeadPoses.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/GlUtils.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/GlPrograms.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/renderers/DepthRenderer.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/GlassesAssetType.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/PushGlasses.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/GeometryDataEngine.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/px.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/Materials.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/envMap/CubeMap.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/nx.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/py.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/ny.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/pz.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/assets/def_VTO-VM/nz.jpeg","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/helpers/GeometryHelper.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/helpers/ImageHelper.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/constants/LensesType.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/objects/GlassesSceneData.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/objects/GLTFGlasses.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/objects/Glasses.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/ThreeRender.ts","../node_modules/@luxottica/vto-core/node_modules/@luxottica/vm-renderer-threejs/src/renderers/GlassesInspector.ts","../node_modules/@luxottica/vto-core/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@luxottica/vto-core/node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/redux-devtools-extension/logOnly.js","../node_modules/redux-devtools-extension/logOnlyInProduction.js","../node_modules/redux-devtools-extension/utils/assign.js","../node_modules/void-elements/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const ActionContainer = styled.div`\n position: absolute;\n top: 23%;\n`\n\nexport const OptionsWrapper = styled.ul`\n display: flex;\n flex-direction: column;\n padding: 0;\n`\n\nexport const OptionStyled = styled.li<{ isActive?: boolean; expand?: boolean }>`\n padding: ${pxToEm(8)};\n border: ${({ isActive, theme }) => isActive && `1px solid ${theme.palette.white[100]}`};\n margin-bottom: ${pxToEm(10)};\n border-radius: ${pxToEm(30)};\n line-height: 0;\n display: flex;\n align-items: center;\n align-self: flex-start;\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0);\n padding-right: ${({ expand }) => expand && '12px'};\n transition: padding-right 0.4s;\n backdrop-filter: ${({ isActive }) => (isActive ? 'blur(3px)' : 'none')};\n background-color: ${({ isActive }) => (isActive ? 'rgba(255,255,255,0.1)' : 'none')};\n white-space: nowrap;\n cursor: pointer;\n\n ${({ theme }) => theme.media.small} {\n margin-bottom: ${pxToEm(22)};\n }\n\n svg {\n g {\n transform: scale(1.5) translate(-5px, -5px);\n }\n }\n`\n\nexport const Label = styled.span<{ toggleText?: boolean }>`\n color: ${({ theme }) => theme.palette.white[100]};\n font: ${({ theme }) => theme.fonts.span};\n margin-left: ${({ toggleText }) => (toggleText ? pxToEm(10) : 0)};\n opacity: ${({ toggleText }) => (toggleText ? '1' : '0')};\n transition: opacity 0.3s;\n display: ${({ toggleText }) => (toggleText ? 'inline' : 'none')};\n`\n","import { ChooseFrameIcon, ChooseColorIcon, ChooseLensIcon } from '@components/core/Icons'\nimport { ActivePanelName } from '@customTypes/transition'\nimport { useAnimation } from '@hooks/useAnimationApp'\nimport {\n trackClickTransitionColor,\n trackClickTransitionFrame,\n trackClickTransitionLens,\n} from '@libs/analytics'\nimport { delay } from 'lodash'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { OptionsWrapper, OptionStyled, ActionContainer, Label } from './styles'\n\ntype OptionValue = {\n name: ActivePanelName\n logo: JSX.Element\n label: string\n analytics: () => void\n}\n\nconst useLeftSideOptions = (): OptionValue[] => {\n const { t } = useTranslation()\n\n return [\n {\n name: 'lens',\n logo: ,\n label: t('transitions.choose-lens'),\n analytics: trackClickTransitionLens,\n },\n {\n name: 'color',\n logo: ,\n label: t('transitions.choose-lens-color'),\n analytics: trackClickTransitionColor,\n },\n {\n name: 'frame',\n logo: ,\n label: t('transitions.choose-frame'),\n analytics: trackClickTransitionFrame,\n },\n ]\n}\n\ninterface OptionProps {\n option: OptionValue\n isActive?: boolean\n onChange: (name: ActivePanelName) => void\n}\n\nconst TIME_TO_HIDE_TOOLTIP = 2000\nconst Option: React.FC = ({ option, onChange, isActive }) => {\n const [expand, setExpand] = useState(false)\n const timer = useRef(null)\n\n useEffect(() => {\n if (isActive) {\n setExpand(true)\n timer.current = delay(() => setExpand(false), TIME_TO_HIDE_TOOLTIP)\n } else {\n setExpand(false)\n }\n\n return () => {\n if (timer.current) {\n clearTimeout(timer.current)\n }\n }\n }, [isActive])\n\n const cbOnStart = useCallback(() => {\n setExpand(true)\n }, [])\n\n const cbOnEnd = useCallback(() => {\n setExpand(false)\n }, [])\n\n useAnimation(true, !expand, cbOnStart, cbOnEnd, 'transitionLabel')\n\n return (\n {\n option.analytics()\n onChange(option.name)\n }}\n isActive={isActive}\n expand={expand}\n >\n {option.logo}\n \n \n )\n}\n\ninterface LeftSideActionsProps {\n optionActiveName: ActivePanelName | null\n setActiveName: (name: ActivePanelName) => void\n}\n\nexport const LeftSideActions: React.FC = ({\n optionActiveName,\n setActiveName,\n}) => {\n const options = useLeftSideOptions()\n\n return (\n \n \n {options.map(o => {\n return (\n \n \n \n )\n })}\n \n \n )\n}\n","import {\n CatalogContainer,\n CatalogItem,\n CatalogItemInner,\n CatalogItemWrapper,\n Image,\n StyledLabelColor,\n CarouselWrapper,\n} from '../styles'\nimport React, { useEffect, useRef, useState } from 'react'\nimport Swiper, { SwiperInstance } from 'react-id-swiper'\nimport { SwiperOptions } from 'swiper'\nimport { debounce } from 'lodash'\nimport { Product } from '@customTypes/product'\nimport { useVM } from '@providers/VmProvider'\n\nconst TIME_TO_HIDE_TOOLTIP = 2000\n\nconst swiperParams: SwiperOptions = {\n slidesPerView: 'auto',\n spaceBetween: 5,\n centeredSlides: true,\n slideToClickedSlide: true, // see: LVM-283\n}\n\ninterface Catalog {\n items: Product[]\n selectedUpc: string\n onChange: (upc: string) => void\n}\nexport const FrameCatalog: React.FC = ({ items, selectedUpc, onChange }) => {\n const selectedIndex = items.length > 0 ? items.findIndex(el => el.upc === selectedUpc) : 0\n\n const [currentSlide, setCurrentSlide] = useState(selectedIndex || 0)\n const [isTooltipVisible, setTooltipVisibility] = useState(true)\n const swiper = useRef(null)\n const timer = useRef | null>(null)\n\n const { isReady } = useVM()\n const setSwiper = (swiperInstance: SwiperInstance) => {\n swiper.current = swiperInstance\n }\n\n const changeUpc = debounce((upc: string) => {\n onChange(upc)\n }, 800)\n\n useEffect(() => {\n if (items.length > 0 && selectedUpc !== items[currentSlide].upc) {\n changeUpc(items[currentSlide].upc)\n }\n }, [items, selectedUpc, currentSlide, changeUpc])\n\n useEffect(() => {\n if (isReady) {\n setTooltipVisibility(true)\n timer.current = setTimeout(() => {\n setTooltipVisibility(false)\n timer.current && clearTimeout(timer.current)\n timer.current = null\n }, TIME_TO_HIDE_TOOLTIP)\n\n swiper.current?.on('slideChangeTransitionEnd', () => {\n if (swiper.current) {\n setCurrentSlide(swiper.current.realIndex)\n }\n })\n }\n\n return function cleanup() {\n swiper.current?.off('click')\n swiper.current?.off('slideChangeTransitionEnd')\n }\n }, [swiper, currentSlide, isReady])\n\n const frameColorLabel = items[currentSlide]?.frameColorLabel\n const lensColorLabel = items[currentSlide]?.lensColorLabel\n\n return (\n \n \n {items.length > 0 && (\n \n {items.map(({ upc, thumbnailUrl }, index) => (\n \n \n \n \n \n \n \n ))}\n \n )}\n\n {isReady && (\n \n {frameColorLabel && {frameColorLabel}}\n {lensColorLabel && {lensColorLabel}}\n \n )}\n \n \n )\n}\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { CatalogItem, CatalogItemInner, CarouselWrapper } from '../styles'\n\nexport const StyledCatalogItemInner = styled(CatalogItemInner)`\n width: auto;\n height: auto;\n`\n\nexport const StyledCatalogItem = styled(CatalogItem)<{ isActive: boolean }>`\n margin-right: ${pxToEm(20)};\n background-color: ${({ isActive, theme }) =>\n isActive ? `${theme.palette.black}` : `${theme.palette.white[70]}`};\n width: max-content;\n color: ${({ isActive, theme }) =>\n isActive ? `${theme.palette.white[100]}` : `${theme.palette.black}`};\n border-radius: ${pxToEm(100)};\n padding: ${pxToEm(15)} ${pxToEm(25)};\n background-clip: border-box;\n text-transform: capitalize;\n border: none;\n font: ${({ theme }) => theme.fonts.paragraph};\n`\n\nexport const StyledLensDescriptionWrapper = styled.div`\n text-align: center;\n padding: ${pxToEm(10)} ${pxToEm(20)};\n margin-top: ${pxToEm(15)};\n height: ${pxToEm(110)};\n background-color: ${({ theme }) => theme.palette.white[100]};\n font: ${({ theme }) => theme.fonts.span};\n display: flex;\n align-items: center;\n\n ${({ theme }) => theme.media.medium} {\n height: ${pxToEm(117)};\n padding: ${pxToEm(25)} ${pxToEm(70)};\n }\n`\n\nexport const CarouselWrapperStyled = styled(CarouselWrapper)`\n bottom: 0;\n z-index: 2;\n`\n","import { CatalogContainer, CatalogItemWrapper } from '../styles'\nimport { FC, useCallback, useEffect, useRef, useState } from 'react'\nimport Swiper, { SwiperInstance } from 'react-id-swiper'\nimport { SwiperOptions } from 'swiper'\nimport { debounce } from 'lodash'\nimport { useTranslation } from 'react-i18next'\nimport {\n StyledCatalogItem,\n StyledCatalogItemInner,\n StyledLensDescriptionWrapper,\n CarouselWrapperStyled,\n} from './styles'\nimport { getTransitionLensLabel } from '@libs/transition'\nimport { trackClickLensCarousel } from '@libs/analytics'\nimport { useVM } from '@providers/VmProvider'\n\nconst TIME_TO_HIDE_TOOLTIP = 5000\n\nconst swiperParams: SwiperOptions = {\n slidesPerView: 'auto',\n spaceBetween: 5,\n centeredSlides: true,\n slideToClickedSlide: true, // see: LVM-283\n}\n\ninterface LensCatalogProps {\n lenses: string[]\n selectedLens: string\n onChangeLens: (lens: string) => void\n}\n\n// description field from translations\nconst LENSES_MAP = [\n { type: 'SIGNATURE', description: 'signature-gen8-description' },\n { type: 'XTRACTIVE', description: 'xtractive-description' },\n { type: 'VANTAGE', description: 'xtractive-polarized-description' },\n]\n\nconst formatTranslationsByMap = (\n obj: Record,\n map = LENSES_MAP\n): { type: string; description: string }[] => {\n return map.map(el => ({\n ...el,\n description: obj[el.description],\n }))\n}\n\nexport const LensCatalog: FC = ({ lenses, selectedLens, onChangeLens }) => {\n const { t } = useTranslation()\n\n const lensTypes = formatTranslationsByMap(t('transitions', { returnObjects: true }))\n\n const selectedIndex = lenses.findIndex(el => el === selectedLens)\n const selectedLensType = lensTypes.find(l => l.type.toLowerCase() === selectedLens.toLowerCase())\n const selectedLensDescription = selectedLensType?.description\n\n const [currentSlide, setCurrentSlide] = useState(selectedIndex !== -1 ? selectedIndex : 0)\n const [isTooltipVisible, setTooltipVisibility] = useState(true)\n const [isLensesReady, setIsLensesReady] = useState(false)\n\n const swiper = useRef(null)\n\n const { isReady } = useVM()\n\n const setSwiper = (swiperInstance: SwiperInstance) => {\n swiper.current = swiperInstance\n }\n\n const onLensChange = debounce((color: string) => {\n trackClickLensCarousel()\n onChangeLens(color)\n }, 800)\n\n const handleClick = useCallback(\n (lens: string) => {\n if (lens === lenses[currentSlide]) {\n setTooltipVisibility(c => !c)\n }\n },\n [lenses, currentSlide]\n )\n\n useEffect(() => {\n if (selectedLens !== lenses[currentSlide] && !!lenses[currentSlide]) {\n onLensChange(lenses[currentSlide])\n setTooltipVisibility(true)\n }\n }, [lenses, selectedLens, currentSlide, onLensChange])\n\n useEffect(() => {\n if (isLensesReady) {\n swiper.current?.on('slideChange', () => {\n if (swiper.current) {\n const realIndex = swiper.current.realIndex\n setCurrentSlide(realIndex)\n }\n })\n }\n\n return function cleanup() {\n swiper.current?.off('slideChange')\n }\n }, [swiper, lenses, isLensesReady])\n\n useEffect(() => {\n if (isTooltipVisible) {\n const timer = setTimeout(() => {\n setTooltipVisibility(false)\n }, TIME_TO_HIDE_TOOLTIP)\n return () => clearTimeout(timer)\n }\n }, [isTooltipVisible])\n\n useEffect(() => {\n if (!!lenses.length) {\n // since we lazy load the Transitions Lens\n // we need to update the carousel after fetching the Transitions Colors from the server\n swiper.current?.update()\n }\n }, [lenses])\n\n useEffect(() => {\n if (isReady && !!lenses.length) {\n setIsLensesReady(true)\n } else setIsLensesReady(false)\n }, [isReady, lenses])\n\n return (\n \n \n \n {lenses.map((lens, index) => (\n handleClick(lens)}\n className=\"vm__lens-catalog-wrapper\"\n >\n \n \n {getTransitionLensLabel(lens)}\n \n \n \n ))}\n \n {selectedLensDescription && (\n {selectedLensDescription}\n )}\n \n \n )\n}\n","import React from 'react'\nimport { FrameCatalog } from '@components/Carousel/FrameCatalog'\nimport { ColorsCatalog } from '@components/Carousel/ColorsCatalog'\nimport { LensCatalog } from '@components/Carousel/LensCatalog'\nimport { ActivePanelName } from '@customTypes/transition'\nimport { useVM } from '@providers/VmProvider'\nimport { Product } from '@customTypes/product'\n\ninterface CarouselProps {\n products: Product[]\n activeName: ActivePanelName | null\n}\n\nexport const Carousel: React.FC = ({ products, activeName }) => {\n const {\n currentProduct,\n currentColor,\n lensCatalog,\n currentLens = '',\n colorsCatalog,\n changeUpc,\n changeLens,\n setCurrentColor,\n } = useVM()\n\n const selectedUpc = currentProduct?.upc || ''\n\n const renderItems = () => {\n switch (activeName) {\n case 'lens':\n return (\n \n )\n case 'color':\n return (\n \n )\n case 'frame':\n return (\n \n )\n default:\n return null\n }\n }\n\n return <>{renderItems()}>\n}\n","import lookup from 'void-elements'\nconst attrRE = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g\n\nexport default function stringify(tag) {\n const res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: [],\n }\n\n const tagMatch = tag.match(/<\\/?([^\\s]+?)[/\\s>]/)\n if (tagMatch) {\n res.name = tagMatch[1]\n if (\n lookup[tagMatch[1]] ||\n tag.charAt(tag.length - 2) === '/'\n ) {\n res.voidElement = true\n }\n\n // handle comment tag\n if (res.name.startsWith('!--')) {\n const endIndex = tag.indexOf('-->')\n return {\n type: 'comment',\n comment: endIndex !== -1 ? tag.slice(4, endIndex) : '',\n }\n }\n }\n\n const reg = new RegExp(attrRE)\n let result = null\n for (;;) {\n result = reg.exec(tag)\n\n if (result === null) {\n break\n }\n\n if (!result[0].trim()) {\n continue\n }\n\n if (result[1]) {\n const attr = result[1].trim()\n let arr = [attr, '']\n\n if (attr.indexOf('=') > -1) {\n arr = attr.split('=')\n }\n\n res.attrs[arr[0]] = arr[1]\n reg.lastIndex--\n } else if (result[2]) {\n res.attrs[result[2]] = result[3].trim().substring(1, result[3].length - 1)\n }\n }\n\n return res\n}\n","import parseTag from './parse-tag'\n\nconst tagRE = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g\nconst whitespaceRE = /^\\s*$/\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null)\n\nexport default function parse(html, options) {\n options || (options = {})\n options.components || (options.components = empty)\n const result = []\n const arr = []\n let current\n let level = -1\n let inComponent = false\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n var end = html.indexOf('<')\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n })\n }\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== '' + current.name + '>') {\n return\n } else {\n inComponent = false\n }\n }\n const isOpen = tag.charAt(1) !== '/'\n const isComment = tag.startsWith(''\n return buff\n }\n}\n\nexport default function (doc) {\n return doc.reduce(function (token, rootEl) {\n return token + stringify('', rootEl)\n }, '')\n}\n","import parse from './parse'\nimport stringify from './stringify'\n\nexport default {\n parse,\n stringify,\n}\n","/**\n * Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nvar replace = ''.replace;\n\nvar ca = /[&<>'\"]/g;\nvar es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\n\nvar esca = {\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"'\n};\nvar unes = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"'\n};\n\nexport function escape(es) {\n return replace.call(es, ca, pe);\n};\n\nexport function unescape(un) {\n return replace.call(un, es, cape);\n};\n\nfunction pe(m) {\n return esca[m];\n}\n\nfunction cape(m) {\n return unes[m];\n}\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useContext } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { unescape } from 'html-escaper';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node && node.children ? node.children : node.props && node.props.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return React.isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (React.isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = React.isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(React.createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;\n}","import { resetButtonStyles } from '@components/Menu/styles'\nimport { pxToEm } from '@libs/styled'\nimport styled, { css } from 'styled-components'\n\nexport const ToggleBtn = styled.button<{ expand?: boolean }>`\n position: absolute;\n top: ${pxToEm(30)};\n width: ${({ expand }) => (expand ? 'auto' : pxToEm(32))};\n height: ${pxToEm(32)};\n border-radius: ${pxToEm(32)};\n z-index: 1;\n transition: width 0.5s ease;\n box-sizing: content-box;\n ${({ theme }) => theme.media.medium} {\n top: ${pxToEm(41)};\n }\n ${resetButtonStyles}\n cursor: pointer;\n`\nexport const IconWrapper = styled.div`\n position: absolute;\n width: ${pxToEm(20)};\n height: ${pxToEm(20)};\n top: -${pxToEm(10)};\n right: -${pxToEm(5)};\n border-radius: 50%;\n display: flex;\n line-height: 0;\n justify-content: center;\n align-items: center;\n backdrop-filter: blur(${pxToEm(50)});\n border: solid 1px ${({ theme }) => theme.palette.white[70]};\n cursor: pointer;\n background-image: linear-gradient(\n 153deg,\n ${({ theme }) => theme.palette.white[70]} 26%,\n ${({ theme }) => theme.palette.white[40]} 97%\n );\n`\n\nexport const TransitionIconWrapper = styled.div<{ withText?: boolean }>`\n width: ${pxToEm(40)};\n height: ${pxToEm(40)};\n border-radius: ${pxToEm(20)};\n backdrop-filter: blur(4px);\n background-color: rgba(0, 0, 0, 0.65);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n ${({ withText }) =>\n withText &&\n css`\n width: auto;\n color: white;\n font-size: ${pxToEm(12)};\n justify-content: flex-start;\n padding-left: ${pxToEm(20)};\n padding-right: ${pxToEm(20)};\n font: ${({ theme }) => theme.fonts.span};\n white-space: nowrap;\n `}\n`\n","import {\n CloseIcon,\n TransitionIconReduced,\n TransitionsIcon,\n // TryTransitionIcon,\n // TryTransitionMobileIcon,\n} from '@components/core/Icons'\nimport { useAnimation } from '@hooks/useAnimationApp'\nimport { trackClickTransitionView } from '@libs/analytics'\n// import { isMobileView } from '@libs/utils'\nimport { useCallback, useState } from 'react'\nimport { Trans } from 'react-i18next'\nimport { IconWrapper, ToggleBtn, TransitionIconWrapper } from './styles'\ninterface ToggleProps {\n changeMenuVisibility: () => void\n isTransitionActive: boolean\n}\n\nexport const Toggle: React.FC = ({ changeMenuVisibility, isTransitionActive }) => {\n const [expand, setExpand] = useState(false)\n const cbOnStart = useCallback(() => {\n setExpand(true)\n }, [])\n\n const cbOnEnd = useCallback(() => {\n setExpand(false)\n }, [])\n\n // const { t } = useTranslation()\n\n useAnimation(true, !expand, cbOnStart, cbOnEnd, 'transitionBtn')\n\n const onToggle = useCallback(() => {\n if (!isTransitionActive) {\n trackClickTransitionView()\n }\n changeMenuVisibility()\n }, [isTransitionActive, changeMenuVisibility])\n\n // const TryTransirionIcon = isMobileView() ? TryTransitionMobileIcon : TryTransitionIcon\n\n return (\n \n {expand ? (\n \n {/* {t('general.try-with')} \n */}\n ]}\n />\n \n ) : (\n \n \n \n )}\n {isTransitionActive && (\n \n \n \n )}\n \n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const CtaContainer = styled.div`\n position: absolute;\n top: ${pxToEm(70)};\n left: ${pxToEm(10)};\n bottom: ${pxToEm(110)};\n z-index: 1;\n\n ${({ theme }) => theme.media.medium} {\n left: ${pxToEm(23)};\n }\n`\n","import { LeftSideActions } from '@components/LeftSideActions'\nimport { OverlayWrapper } from '@components/core/Overlay'\nimport { ActivePanelName } from '@customTypes/transition'\nimport { useAnimationApp } from '@hooks/useAnimationApp'\nimport { useConfig } from '@providers/configProvider'\nimport { setTransitionViewCarousel } from '@store/actions/ui'\nimport { AppState } from '@store/index'\nimport { useCallback, useEffect, useMemo } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { Carousel } from '../Carousel'\nimport { Toggle } from './Toggle'\nimport { useVM } from '@providers/VmProvider'\nimport { CtaContainer } from './styles'\n\ninterface TransitionViewProps {\n children?: React.ReactNode\n}\n\nexport const TransitionView: React.FC = ({ children }) => {\n const dispatch = useDispatch()\n const { activeName, isMenuVisible } = useSelector((s: AppState) => s.ui)\n const {\n isReady,\n vmProducts: products,\n currentProduct: selectedProduct,\n isTransitionActive,\n toggleTransitionActive,\n } = useVM()\n\n const selectedUpc = selectedProduct?.upc\n const isTransition = selectedProduct?.isTransition || false\n\n const setActiveName = useCallback(\n (activeName: ActivePanelName) => {\n dispatch(setTransitionViewCarousel(activeName))\n },\n [dispatch]\n )\n\n const { isComplete } = useAnimationApp()\n const { transitionFeature } = useConfig()\n\n const currentProduct = products.find(p => p.upc === selectedUpc)\n const isEvolve = currentProduct?.transitionLens?.isEvolve || false\n\n useEffect(() => {\n if (isComplete && isTransition) {\n setActiveName(transitionFeature?.activePanel || 'lens')\n }\n }, [isComplete, isTransition, transitionFeature?.activePanel, setActiveName])\n\n useEffect(() => {\n if (!isTransition) {\n setActiveName('frame')\n }\n }, [isTransition, setActiveName])\n\n useEffect(() => {\n if (isEvolve && isTransitionActive) {\n toggleTransitionActive()\n }\n }, [isEvolve, isTransitionActive, toggleTransitionActive])\n\n const transitionProducts = products.filter(p => p.isTransition && !p.transitionLens?.isEvolve)\n\n const showTransitionToggler = useMemo(() => {\n return isTransition && transitionFeature?.enabled && !isEvolve && !isMenuVisible\n }, [isTransition, isEvolve, isMenuVisible, transitionFeature])\n\n return (\n <>\n {isReady && (\n \n {showTransitionToggler && (\n \n )}\n {isTransitionActive && !isMenuVisible && (\n \n )}\n \n )}\n\n {isTransitionActive && }\n {!isTransitionActive && }\n {isTransitionActive && isReady && }\n {children}\n >\n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const QRCodeWrapper = styled.div`\n z-index: 20;\n position: absolute;\n width: 100%;\n top: 0;\n left: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n`\n\nexport const QRCodeModalContent = styled.div`\n z-index: 1;\n position: absolute;\n width: 70%;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: ${({ theme }) => theme.palette.white[100]};\n padding: 0 ${pxToEm(24)};\n`\n\nexport const CloseBtn = styled.div`\n position: absolute;\n right: 0;\n padding: ${pxToEm(30)};\n svg {\n cursor: pointer;\n }\n`\n\nexport const QRCodeModalTitle = styled.div`\n font: ${({ theme }) => theme.fonts.qrCodeTitle};\n margin-top: ${pxToEm(88)};\n padding: 0 ${pxToEm(80)};\n text-align: center;\n`\n\nexport const ProductName = styled.div`\n text-align: center;\n margin: ${pxToEm(24)} 0 ${pxToEm(40)};\n font: ${({ theme }) => theme.fonts.paragraph};\n`\n\nexport const QRCode = styled.div`\n width: ${pxToEm(160)};\n height: ${pxToEm(160)};\n background: ${({ theme }) => theme.palette.black};\n margin: 0 auto ${pxToEm(60)};\n`\n\nexport const Instructions = styled.div`\n margin: ${pxToEm(50)} auto 0;\n margin-bottom: ${pxToEm(30)};\n padding: 0 ${pxToEm(24)};\n display: flex;\n`\n\nexport const InstructionStep = styled.div`\n padding: ${pxToEm(16)} ${pxToEm(24)};\n width: 50%;\n display: flex;\n\n &:first-child {\n border-right: 1px solid ${({ theme }) => theme.palette.silver};\n }\n`\n\nexport const InstructionStepNumber = styled.div`\n margin-right: ${pxToEm(8)};\n min-width: ${pxToEm(16)};\n width: ${pxToEm(16)};\n height: ${pxToEm(16)};\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.palette.white[100]};\n background-color: ${({ theme }) => theme.palette.black};\n font: ${({ theme }) => theme.fonts.span};\n`\n\nexport const FittingRoom = styled.div`\n padding: ${pxToEm(24)} ${pxToEm(80)};\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: 1px solid ${({ theme }) => theme.palette.silver};\n\n svg {\n margin-right: ${pxToEm(24)};\n }\n`\n\nexport const Text = styled.div`\n font: ${({ theme }) => theme.fonts.span};\n`\n","import { CloseIcon } from '@components/core/Icons'\nimport { AppState } from '@store/index'\nimport { setQRCodeModalVisibility } from '@store/actions/ui'\nimport { useTranslation } from 'react-i18next'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { QRCode } from './QRCode'\nimport {\n QRCodeModalContent,\n CloseBtn,\n QRCodeModalTitle,\n ProductName,\n Instructions,\n InstructionStep,\n InstructionStepNumber,\n Text,\n QRCodeWrapper,\n} from './styles'\n\ninterface QRCodeModalProps {\n productName: string\n}\n\nexport const QRCodeModal: React.FC = ({ productName }) => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n const isOpen = useSelector((s: AppState) => s.ui.isQRCodeModalVisible)\n\n if (!isOpen) {\n return null\n }\n\n return (\n \n \n dispatch(setQRCodeModalVisibility(false))}>\n \n \n {t('tablet-store-qrcode-reader.scan-the-code')}\n {productName}\n \n \n \n 1\n {t('tablet-store-qrcode-reader.take-your-phone')}\n \n \n 2\n {t('tablet-store-qrcode-reader.enjoy-and-download')}\n \n \n \n \n )\n}\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { Button } from '@components/core/Button'\nimport { resetButtonStyles } from '@components/Menu/styles'\n\nexport const ModalWindowContainer = styled.div`\n z-index: 1001;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n display: flex;\n align-items: flex-start;\n background-color: ${({ theme }) => theme.palette.white[100]};\n border-radius: ${pxToEm(16)};\n width: ${pxToEm(322)};\n height: ${pxToEm(370)};\n padding: 0 ${pxToEm(16)};\n\n ${({ theme }) => theme.media.medium} {\n border-radius: ${pxToEm(16)};\n width: ${pxToEm(545)};\n }\n\n ${({ theme }) => theme.media.large} {\n border-radius: 0;\n width: 100%;\n height: 100%;\n }\n`\n\nexport const ModalCloseButton = styled.button`\n ${resetButtonStyles};\n position: absolute;\n right: ${pxToEm(11)};\n top: ${pxToEm(11)};\n svg {\n cursor: pointer;\n }\n`\n\nexport const ModalContainer = styled.div`\n max-width: ${pxToEm(290)};\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n padding: ${pxToEm(56)} 0 ${pxToEm(24)} 0;\n height: 100%;\n margin: 0 auto;\n\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(47)} 0 ${pxToEm(32)} 0;\n }\n ${({ theme }) => theme.media.large} {\n height: unset;\n padding: ${pxToEm(88)} 0 0 0;\n }\n`\n\nexport const TitleContainer = styled.div`\n text-align: center;\n\n ${({ theme }) => theme.media.large} {\n margin-bottom: ${pxToEm(80)};\n }\n`\nexport const Title = styled.div`\n margin-bottom: ${pxToEm(24)};\n font-weight: 600;\n h2 {\n font: ${({ theme }) => theme.fonts.titleSmall};\n }\n`\n\nexport const Text = styled.span`\n font: ${({ theme }) => theme.fonts.paragraph};\n line-height: 1.25;\n`\n\nexport const AddPrescriptionLensesButton = styled(Button)`\n font: ${({ theme }) => theme.fonts.paragraph};\n font-size: ${pxToEm(14)};\n background: var(--vm-components-rx-cta-bg);\n color: var(--vm-components-rx-cta-text)};\n border-color: var(--vm-components-rx-cta-text)};\n padding: 0;\n width: 100%;\n margin: 0 0 ${pxToEm(16)} 0;\n height: 48px;\n`\nexport const AddToCartButton = styled(Button)`\n font: ${({ theme }) => theme.fonts.buttonTextLink};\n font-size: ${pxToEm(14)};\n background: var(--vm-components-add-to-cart-cta-bg)};\n color: var(--vm-components-add-to-cart-cta-text)};\n border-color: var(--vm-components-add-to-cart-cta-text)};\n padding: 0;\n width: 100%;\n margin: 0;\n height: 48px;\n`\nexport const ButtonsContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: ${pxToEm(242)};\n`\n","import { CloseScreenshotIcon } from '@components/core/Icons'\nimport React, { useCallback } from 'react'\nimport { Modal } from '@components/core/Modal'\nimport {\n ModalCloseButton,\n ModalWindowContainer,\n AddPrescriptionLensesButton,\n AddToCartButton,\n ButtonsContainer,\n ModalContainer,\n Text,\n Title,\n TitleContainer,\n} from './styles'\nimport { useModal } from '@hooks/useModal'\nimport { useTranslation } from 'react-i18next'\nimport { useConfig } from '@providers/configProvider'\nimport { Product } from '@customTypes/product'\nimport { useAddToCart } from '@hooks/useAddToCart'\nimport { useAlternativePath } from '@hooks/useAlternativePath'\n\ninterface AddPrescriptionModalProps {\n product: Product\n}\n\nexport const AddPrescriptionModal: React.FC = ({ product }) => {\n const { onAddPrescriptionLenses, addToCartText } = useConfig()\n\n const { addToCart } = useAddToCart({ product })\n const { isModalVisible, toggleModalVisibility } = useModal()\n const { t } = useTranslation()\n\n const { alternativeDecision } = useAlternativePath(product)\n\n const { alternativeTitle, alternativeText, alternativeCtaTxt, alternativeBtn } =\n alternativeDecision || {}\n\n const handleAddPrescriptionLenses = useCallback(() => {\n if (!!alternativeBtn) alternativeBtn(product)\n else onAddPrescriptionLenses && onAddPrescriptionLenses(product)\n }, [alternativeBtn, onAddPrescriptionLenses, product])\n\n const handleAddToCart = useCallback(() => {\n addToCart && addToCart()\n }, [addToCart])\n\n return (\n \n \n \n \n \n \n \n \n \n {alternativeTitle || t('live-try-on-ecommerce.choose-your-need')}\n
\n \n \n {alternativeText || t('live-try-on-ecommerce.choose-your-prescription-lenses')}\n \n \n \n \n {alternativeCtaTxt || t('live-try-on-ecommerce.add-prescription-lenses')}\n \n \n {addToCartText || t('general.add-to-cart')}\n \n \n \n \n \n )\n}\n","import { useDispatch } from 'react-redux'\nimport { useConfig } from '@providers/configProvider'\nimport { VMProvider } from '@providers/VmProvider'\n\nimport { Menu } from '@components/Menu'\nimport { RightSideActions } from '@components/RightSIdeActions'\nimport { TransitionView } from '@components/TransitionView'\nimport { FooterActions } from '@components/FooterActions'\nimport { Drawer } from '@components/core/Drawer'\nimport { ScreenshotPreview } from '@components/ScreenshotPreview'\nimport { QRCodeModal } from '@components/QRCodeModal'\nimport { setQRCodeModalVisibility } from '@store/actions/ui'\nimport { AddPrescriptionModal } from '@components/AddPrescriptionModal'\nimport { ErrorModal } from '@components/ErrorModal'\nimport { InitColorSwatches } from '@components/InitColorSwatches'\nimport { useTranslation } from 'react-i18next'\n\nconst LiveTryOn: React.FC = () => {\n const config = useConfig()\n const { fromStore } = config\n const dispatch = useDispatch()\n\n const { t } = useTranslation()\n\n return (\n \n {({\n isReady,\n isVMInitialized,\n isTransitionActive,\n currentProduct,\n isNoUpc,\n isEvolveProduct,\n setColors,\n }) => (\n <>\n {currentProduct && (\n <>\n {isVMInitialized && }\n {isReady && (\n dispatch(setQRCodeModalVisibility(true))}\n />\n )}\n \n {(isTransitionActive || isEvolveProduct) && (\n \n )}\n \n \n\n \n \n \n\n \n \n >\n )}\n \n >\n )}\n \n )\n}\n\nexport default LiveTryOn\n","import { useDispatch } from 'react-redux'\nimport { useConfig } from '@providers/configProvider'\n\nimport { PictureModeProvider } from '@providers/VtoProvider'\nimport { setQRCodeModalVisibility } from '@store/actions/ui'\n\nimport { Menu } from '@components/Menu'\nimport { FooterActions } from '@components/FooterActions'\nimport { TransitionView } from '@components/TransitionView'\nimport { RightSideActions } from '@components/RightSIdeActions'\nimport { QRCodeModal } from '@components/QRCodeModal'\nimport { ScreenshotPreview } from '@components/ScreenshotPreview'\nimport { Drawer } from '@components/core/Drawer'\nimport { AddPrescriptionModal } from '@components/AddPrescriptionModal'\nimport { ErrorModal } from '@components/ErrorModal'\nimport { useTranslation } from 'react-i18next'\n\nexport const PictureModeView = () => {\n const { fromStore } = useConfig()\n const dispatch = useDispatch()\n\n const { t } = useTranslation()\n\n return (\n \n {({ isReady, isTransitionActive, currentProduct, isNoUpc, onRefresh }) => (\n <>\n {currentProduct && (\n <>\n \n {isReady && (\n dispatch(setQRCodeModalVisibility(true))}\n />\n )}\n\n \n \n\n \n \n \n\n \n \n >\n )}\n \n >\n )}\n \n )\n}\n","import { useDispatch } from 'react-redux'\nimport { useConfig } from '@providers/configProvider'\n\nimport { VideoModeProvider } from '@providers/VtoProvider'\nimport { setQRCodeModalVisibility } from '@store/actions/ui'\n\nimport { FooterActions } from '@components/FooterActions'\nimport { Menu } from '@components/Menu'\nimport { RightSideActions } from '@components/RightSIdeActions'\nimport { TransitionView } from '@components/TransitionView'\nimport { QRCodeModal } from '@components/QRCodeModal'\nimport { Drawer } from '@components/core/Drawer'\nimport { ScreenshotPreview } from '@components/ScreenshotPreview'\nimport { AddPrescriptionModal } from '@components/AddPrescriptionModal'\nimport { ErrorModal } from '@components/ErrorModal'\nimport { useTranslation } from 'react-i18next'\n\nexport const VideoModeView = () => {\n const { fromStore } = useConfig()\n const dispatch = useDispatch()\n\n const { t } = useTranslation()\n\n return (\n \n {({ isReady, isTransitionActive, currentProduct, isNoUpc, onRefresh }) => (\n <>\n {currentProduct && (\n <>\n \n {isReady && (\n dispatch(setQRCodeModalVisibility(true))}\n />\n )}\n \n \n\n \n \n \n\n \n \n >\n )}\n \n >\n )}\n \n )\n}\n","import React from 'react'\nimport { MemoryRouter, Route, Routes } from 'react-router'\nimport LiveTryOn from '@pages/LiveTryOn'\nimport PictureMode from '@pages/PictureMode'\nimport VideoMode from '@pages/VideoMode'\nimport PrivacyPolicyPage from '@pages/PrivacyPolicy'\nimport {\n liveTryOn,\n pictureMode,\n videoMode,\n uploadInstructions,\n pictureModeView,\n takePicture,\n videoModeView,\n privacyPolicy,\n availableMode,\n videoScan,\n pictureVideoModeError,\n takePictureInstructions,\n} from '@utils/routes'\nimport { UploadInstructions } from '@components/PictureMode/UploadPicture'\nimport { PictureModeEntryPage } from '@components/PictureMode'\nimport { TakePicture } from '@components/PictureMode/TakePicture'\nimport { PictureModeView } from '@components/PictureMode/PictureModeView'\nimport { VideoModeView } from '@components/VideoMode/VideoModeView'\nimport { VideoFaceScan } from '@components/VideoMode/VideoFaceScan'\nimport { AvailableMode } from '@components/AvailableMode'\nimport ProtectedRoute from '@components/ProtectedRoute'\nimport { VideoScanInstructions } from '@components/VideoMode/VideoScanInstructions'\nimport { PictureVideoError } from '@components/PictureVideoError'\nimport { TakePictureInstructions } from '@components/PictureMode/TakePicture/TakePictureInstructions'\n\nexport const VMRoutes: React.FC = () => {\n return (\n \n \n } />\n } />\n \n \n \n }\n />\n \n \n \n }\n >\n } />\n } />\n } />\n } />\n } />\n } />\n \n \n \n \n }\n >\n } />\n } />\n } />\n } />\n \n \n \n )\n}\n","import { ThemeProvider } from 'styled-components'\nimport { Config } from '@customTypes/config'\nimport { ConfigContext, useConfig } from '@providers/configProvider'\nimport { ErrorBoundary } from '@components/ErrorBoundary'\nimport { I18nextProvider } from 'react-i18next'\nimport { Provider, useDispatch } from 'react-redux'\nimport { useEffect } from 'react'\nimport { VMRoutes } from './Routes'\nimport { store } from './store'\nimport { GlobalStyles, theme } from './theme'\nimport { useI18nInstance } from './i18n'\nimport { useInitAnimationApp } from '@hooks/useAnimationApp'\nimport { setWishlist } from '@store/actions/wishlist'\nimport { setVmProducts } from '@store/actions/products'\nimport { resetUiState } from '@store/actions/ui'\n\nconst AnimationAppActions: React.FC = () => {\n const { restartMenuAnimation } = useConfig()\n\n const { resetMenuAnimation } = useInitAnimationApp()\n\n useEffect(() => {\n if (restartMenuAnimation) {\n resetMenuAnimation()\n }\n }, [resetMenuAnimation, restartMenuAnimation])\n\n return null\n}\n\nconst App: React.FC = () => {\n const { wishlistedUpcs } = useConfig()\n const i18nInstance = useI18nInstance()\n const dispatch = useDispatch()\n\n useEffect(() => {\n if (wishlistedUpcs) {\n dispatch(setWishlist(wishlistedUpcs))\n }\n }, [dispatch, wishlistedUpcs])\n\n useEffect(() => {\n // reset state\n dispatch(setVmProducts([]))\n dispatch(resetUiState())\n }, [dispatch])\n\n return (\n \n \n \n \n \n )\n}\n\nconst VMWidget: React.FC<{ config: Config }> = ({ config }) => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default VMWidget\n","import { useConfig } from '@providers/configProvider'\nimport { liveTryOn, pictureMode, videoMode } from '@utils/routes'\nimport { useEffect } from 'react'\nimport { useNavigate } from 'react-router'\nimport { Experience, VtoPage } from '@customTypes/experience'\nimport { useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { clearPictureVideoIds } from '@utils/sessionStorage'\n\nexport const AvailableMode: React.FC = () => {\n const navigate = useNavigate()\n const { isPictureModeEnabled, isTryOnEnabled, isVideoModeEnabled, experience } = useConfig()\n const isPrivacyAccepted = useSelector((s: AppState) => s.privacyPolicy.isPrivacyAccepted)\n\n const defaultExperience: Experience | undefined =\n experience ||\n (isTryOnEnabled\n ? VtoPage.LiveTryOn\n : isPictureModeEnabled\n ? VtoPage.PictureMode\n : isVideoModeEnabled\n ? VtoPage.VideoMode\n : undefined)\n\n useEffect(() => {\n if (!isPrivacyAccepted) {\n // when the cookie expires then clear picture id and video id\n clearPictureVideoIds()\n }\n\n if (isTryOnEnabled && defaultExperience === VtoPage.LiveTryOn) {\n navigate(liveTryOn())\n return\n }\n if (isPictureModeEnabled && defaultExperience === VtoPage.PictureMode) {\n navigate(pictureMode())\n return\n }\n if (isVideoModeEnabled && defaultExperience === VtoPage.VideoMode) {\n navigate(videoMode())\n return\n }\n }, [\n defaultExperience,\n isPictureModeEnabled,\n isPrivacyAccepted,\n isTryOnEnabled,\n isVideoModeEnabled,\n navigate,\n ])\n\n return null\n}\n","import {\n CatalogContainer,\n CatalogItem,\n CatalogItemInner,\n CatalogItemWrapper,\n StyledLabelColor,\n CarouselWrapper,\n} from '../styles'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport Swiper, { SwiperInstance } from 'react-id-swiper'\n\nimport { SwiperOptions } from 'swiper'\nimport { Color } from '@customTypes/product'\nimport { trackClickColorCarousel } from '@libs/analytics'\nimport { useVM } from '@providers/VmProvider'\n\nconst TIME_TO_HIDE_TOOLTIP = 2000\n\nconst swiperParams: SwiperOptions = {\n slidesPerView: 'auto',\n spaceBetween: 5,\n centeredSlides: true,\n slideToClickedSlide: true, // see: LVM-283\n}\n\ninterface ColorsCatalogProps {\n colors: Color[]\n selectedColor: string\n onChangeColor: (color: string) => void\n}\n\nexport const ColorsCatalog: React.FC = ({\n colors,\n selectedColor,\n onChangeColor,\n}) => {\n const selectedIndex = colors.findIndex(el => el.colorCode === selectedColor)\n const [currentSlide, setCurrentSlide] = useState(selectedIndex !== -1 ? selectedIndex : 0)\n const [isTooltipVisible, setTooltipVisibility] = useState(true)\n const swiper = useRef(null)\n const timer = useRef | null>(null)\n\n const [isColorsReady, setIsColorReady] = useState(false)\n\n const { isReady } = useVM()\n\n const setSwiper = (swiperInstance: SwiperInstance) => {\n swiper.current = swiperInstance\n }\n\n const changeColor = useCallback(\n (color: string) => {\n if (!!color) {\n onChangeColor(color)\n trackClickColorCarousel()\n }\n },\n [onChangeColor]\n )\n\n useEffect(() => {\n if (isColorsReady) {\n setTooltipVisibility(true)\n timer.current = setTimeout(() => {\n setTooltipVisibility(false)\n timer.current && clearTimeout(timer.current)\n timer.current = null\n }, TIME_TO_HIDE_TOOLTIP)\n\n swiper.current?.on('slideChangeTransitionStart', () => {\n if (swiper.current) {\n setCurrentSlide(swiper.current.realIndex)\n }\n })\n\n if (selectedColor != colors[currentSlide]?.colorCode) {\n changeColor(colors[currentSlide]?.colorCode)\n }\n }\n\n return function cleanup() {\n swiper.current?.off('click')\n swiper.current?.off('slideChangeTransitionEnd')\n }\n }, [swiper, colors, selectedColor, currentSlide, changeColor, isColorsReady])\n\n useEffect(() => {\n if (!!colors.length) {\n // since we lazy load the Transitions Lens\n // we need to update the carousel after fetching the Transitions Colors from the server\n swiper.current?.update()\n }\n }, [colors])\n\n useEffect(() => {\n if (isReady && !!colors.length) {\n setIsColorReady(true)\n } else setIsColorReady(false)\n }, [isReady, colors])\n\n const selectedColorLabel = colors.find(color => color?.colorCode === selectedColor)?.colorName\n\n return (\n \n \n \n {colors.map(({ colorCode, swatchImage }) => (\n \n \n \n \n \n ))}\n \n {isColorsReady && (\n \n {selectedColorLabel}\n \n )}\n \n \n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled, { css } from 'styled-components'\n\nexport const CatalogContainer = styled.div`\n position: relative;\n .swiper-container {\n width: 100%;\n }\n .swiper-wrapper {\n display: flex;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n }\n`\n\nexport const Image = styled.img`\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 50%;\n`\n\nexport const CatalogItem = styled.div<{ bgImg?: string; isActive?: boolean }>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n width: 70%;\n height: 70%;\n background-color: white;\n overflow: hidden;\n border: ${({ theme, isActive }) => isActive && `0.275em solid ${theme.palette.white[100]}`};\n opacity: ${({ isActive }) => (isActive ? '1' : '0.75')};\n padding: ${pxToEm(4)};\n background-clip: content-box;\n ${({ bgImg }) =>\n bgImg &&\n css`\n background-image: url(${bgImg});\n background-size: contain;\n `}\n`\n\nexport const CatalogItemInner = styled.div`\n width: ${pxToEm(80)};\n height: ${pxToEm(80)};\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n`\n\nexport const CatalogItemWrapper = styled.div`\n &.swiper-slide-active {\n padding: 0;\n }\n\n &.swiper-slide {\n flex-shrink: unset;\n width: auto;\n height: auto;\n transition-property: unset;\n }\n`\nexport const CatalogInfoContainer = styled.div`\n position: absolute;\n bottom: 100%;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n`\n\nexport const StyledLabel = styled.span`\n color: white;\n position: absolute;\n width: max-content;\n transition: opacity 0.3s ease;\n`\n\nexport const StyledLabelColor = styled(StyledLabel)`\n top: -${pxToEm(40)};\n left: 0;\n width: 100%;\n text-align: center;\n transition: all 0.2s ease-in-out;\n display: flex;\n flex-direction: column;\n justify-content: center;\n font: ${({ theme }) => theme.fonts.spanBold};\n\n &.show {\n opacity: 1;\n }\n\n &.hide {\n opacity: 0;\n }\n\n ${({ theme }) => theme.media.large} {\n flex-direction: row;\n gap: 14px;\n }\n\n span {\n margin: 0 !important;\n }\n`\n\nexport const CarouselWrapper = styled.div<{ visibility: 'visible' | 'hidden' }>`\n position: absolute;\n bottom: ${pxToEm(85)};\n padding-top: ${pxToEm(40)};\n left: 0;\n right: 0;\n overflow: hidden;\n z-index: ${({ visibility }) => (visibility === 'visible' ? '2' : '-1')};\n visibility: ${({ visibility }) => visibility};\n`\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const ErrorBoundaryWrapper = styled.div`\n padding: ${pxToEm(40)} ${pxToEm(32)};\n background: ${({ theme }) => theme.palette.whiteSmoke};\n height: 100%;\n display: flex;\n justify-content: center;\n font: ${({ theme }) => theme.fonts.headingSmall};\n text-align: center;\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(80)} ${pxToEm(155)};\n }\n`\n","import { Layout } from '@components/Layout'\nimport { trackGenericError } from '@libs/analytics'\nimport React from 'react'\nimport { ErrorBoundaryWrapper } from './styles'\nimport { VM_READY } from '@components/Loader/loader'\n\ninterface IErrorBoundaryComponentState {\n error: Error | null\n}\n\ninterface IErrorBoundary {\n children?: React.ReactNode\n}\n\nexport class ErrorBoundary extends React.Component {\n state: IErrorBoundaryComponentState = { error: null }\n\n componentDidCatch(error: Error) {\n trackGenericError('400', error.message)\n this.setState({ error })\n }\n\n render() {\n if (this.state.error) {\n // TODO: create error widget component\n return (\n // injects .vm-ready classname to remove the AppLoader component if there is any error\n \n {this.state.error.message}\n \n )\n }\n return this.props.children\n }\n}\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { resetButtonStyles } from '@components/Menu/styles'\n\nexport const ModalWindowContainer = styled.div`\n z-index: 1001;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: flex-start;\n background-color: ${({ theme }) => theme.palette.white[100]};\n width: 100%;\n height: 100%;\n`\n\nexport const ModalCloseButton = styled.button`\n ${resetButtonStyles};\n position: absolute;\n right: ${pxToEm(11)};\n top: ${pxToEm(11)};\n`\n\nexport const ModalContainer = styled.div`\n max-width: ${pxToEm(290)};\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: ${pxToEm(56)} 0 ${pxToEm(24)} 0;\n height: 100%;\n margin: 0 auto;\n\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(47)} 0 ${pxToEm(32)} 0;\n }\n`\n\nexport const Text = styled.span`\n font: ${({ theme }) => theme.fonts.paragraph};\n font-size: 14px;\n font-weight: 400;\n line-height: normal;\n text-align: center;\n color: #e84159;\n margin-top: 6px;\n`\nexport const ModalTitle = styled.h1`\n font-family: var(--fasa-font-bold);\n font-size: 28px;\n font-style: normal;\n font-weight: 700;\n line-height: 36px;\n margin-bottom: 40px;\n margin-top: 8px;\n`\nexport const ModalMessage = styled.div`\n margin-bottom: 55px;\n display: flex;\n flex-direction: column;\n align-items: center;\n`\n","import React, { useEffect, useState } from 'react'\nimport { AlertIcon, CloseScreenshotIcon } from '@components/core/Icons'\nimport { Modal } from '@components/core/Modal'\nimport {\n ModalCloseButton,\n ModalWindowContainer,\n ModalContainer,\n Text,\n ModalTitle,\n ModalMessage,\n} from './styles'\nimport { useConfig } from '@providers/configProvider'\nimport { MainLoader } from '@components/Loader'\nimport { useTranslation } from 'react-i18next'\n\ninterface ErrorModalProps {\n isModalVisible: boolean\n message: string\n}\n\nexport const ErrorModal: React.FC = ({ isModalVisible, message }) => {\n const { t } = useTranslation()\n\n const [isShow, setIsShow] = useState(false)\n const { onError } = useConfig()\n\n useEffect(() => {\n setIsShow(isModalVisible)\n }, [isModalVisible])\n\n const onClose = () => {\n setIsShow(false)\n\n if (onError)\n onError({\n error: message,\n })\n }\n\n return (\n \n \n \n \n \n \n {t('CORE.RENDER_ERROR.TITLE_1')}!\n\n \n \n {message}\n \n\n \n \n \n \n )\n}\n","import { Button } from '@components/core/Button'\nimport { pxToEm } from '@libs/styled'\nimport styled, { css } from 'styled-components'\n\nexport const FooterWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n bottom: ${pxToEm(20)};\n z-index: 1;\n\n ${({ theme }) => theme.media.large} {\n bottom: 0;\n }\n`\n\nexport const FooterInner = styled.div`\n position: relative;\n padding: ${pxToEm(5)};\n border-radius: ${pxToEm(50)};\n backdrop-filter: blur(pxToEm(4));\n background-color: var(--vm-components-footer-mobile-bg);\n max-width: ${pxToEm(300)};\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0 auto;\n min-height: ${pxToEm(58)};\n\n ${({ theme }) => theme.media.large} {\n padding: 0 ${pxToEm(24)};\n max-width: unset;\n border-radius: 0;\n background-color: var(--vm-components-footer-desktop-bg);\n height: ${pxToEm(80)};\n }\n`\n\nexport const FooterInnerStyled = styled(FooterInner)`\n display: flex;\n align-items: center;\n justify-content: center;\n\n ${({ theme }) => theme.media.large} {\n background: transparent;\n }\n`\n\nexport const IconWrapper = styled.div`\n z-index: 2;\n width: ${pxToEm(40)};\n height: ${pxToEm(40)};\n line-height: 0;\n border-radius: 50%;\n backdrop-filter: blur(4px);\n background-color: var(--vm-components-icon-mobile-bg);\n svg,\n path {\n fill: var(--vm-components-icon-mobile-fill);\n }\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n ${({ theme }) => theme.media.medium} {\n width: ${pxToEm(48)};\n height: ${pxToEm(48)};\n }\n\n ${({ theme }) => theme.media.large} {\n background-color: var(--vm-components-icon-desktop-bg);\n svg,\n path {\n fill: var(--vm-components-icon-desktop-fill);\n }\n }\n`\n\nexport const FooterLabelWrapper = styled.div<{ isAlignedLeft?: boolean }>`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n ${({ isAlignedLeft }) =>\n isAlignedLeft\n ? css`\n align-items: flex-start;\n flex: 1;\n padding-left: ${pxToEm(10)};\n `\n : css`\n position: absolute;\n inset: 0;\n `}\n`\n\nexport const FooterLabel = styled.span`\n font: ${({ theme }) => theme.fonts.span};\n color: var(--vm-components-footer-mobile-text);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: ${pxToEm(230)};\n\n ${({ theme }) => theme.media.medium} {\n max-width: ${pxToEm(260)};\n text-overflow: none;\n }\n\n ${({ theme }) => theme.media.large} {\n color: var(--vm-components-footer-desktop-text);\n }\n`\n\nexport const ProductName = styled(FooterLabel)`\n font: ${({ theme }) => theme.fonts.spanBold};\n`\n\nexport const ProductLensName = styled(FooterLabel)`\n font: ${({ theme }) => theme.fonts.paragraphSmall};\n`\n\nexport const AddToBagButton = styled(Button)`\n z-index: 2;\n background: var(--vm-components-icon-mobile-bg);\n color: var(--vm-components-icon-mobile-fill);\n width: unset;\n height: unset;\n padding: ${pxToEm(16)};\n margin: 0;\n cursor: pointer;\n\n ${({ theme }) => theme.media.large} {\n background: var(--vm-components-icon-desktop-bg);\n color: var(--vm-components-icon-desktop-fill);\n }\n`\n","import styled from 'styled-components'\n\nexport const PriceLine = styled.div`\n display: flex;\n gap: 5px;\n\n &.row-reverse {\n flex-direction: row-reverse;\n }\n`\n\nexport const PriceValue = styled.div`\n display: flex;\n font: ${({ theme }) => theme.fonts.span};\n color: var(--vm-components-footer-mobile-text);\n\n ${({ theme }) => theme.media.large} {\n color: var(--vm-components-footer-desktop-text);\n }\n\n &.full-price {\n text-decoration: line-through;\n color: var(--vm-components-footer-mobile-price-full);\n }\n\n &.new-price {\n color: var(--vm-components-footer-mobile-price-new);\n }\n\n ${({ theme }) => theme.media.large} {\n &.full-price {\n color: var(--vm-components-footer-desktop-price-full);\n }\n\n &.new-price {\n color: var(--vm-components-footer-desktop-price-new);\n }\n }\n\n span {\n margin: 0 !important;\n &.porder-1 {\n order: 1;\n }\n &.porder-2 {\n order: 2;\n }\n &.porder-3 {\n order: 3;\n }\n }\n`\n","import React from 'react'\nimport { PriceLine, PriceValue } from './styles'\nimport { Price as PriceType, ProductPrice } from '@customTypes/product'\nimport { useConfig } from '@providers/configProvider'\n\ninterface PriceProps {\n price?: ProductPrice\n}\n\ninterface PriceLabelProps {\n price: PriceType\n currency: string\n className: string\n currencySpacer?: string\n}\n\nconst PriceLabel: React.FC = ({ price, className, currency, currencySpacer }) => {\n const { currencySide } = useConfig()\n const orders = currencySide === 'LEFT' ? [1, 2, 3] : [3, 2, 1]\n\n currencySpacer =\n currencySpacer === undefined || currencySpacer === null ? ' ' : currencySpacer\n\n const hasComma = (price.text || '').indexOf(',') > -1\n\n return (\n \n {currency}\n {/* TODO: need to sanitize the currencySpacer input */}\n \n \n {hasComma ? price.text : parseFloat(price.text).toFixed(2)}\n \n \n )\n}\n\nexport const Price: React.FC = ({ price }) => {\n const { priceLineOrder } = useConfig()\n\n if (!price) return null\n const { previous, current, currency, currencySpacer } = price\n\n // reverse the row if the newPrice is first\n const reverse = priceLineOrder[0] === 'newPrice'\n\n return (\n \n
\n {previous && (\n \n )}\n\n \n \n
\n )\n}\n","import React from 'react'\n\nexport const ArrowRightIcon: React.FC = () => {\n return (\n \n )\n}\n","import {\n FooterWrapper,\n FooterInner,\n IconWrapper,\n FooterLabel,\n FooterLabelWrapper,\n ProductName,\n AddToBagButton,\n FooterInnerStyled,\n ProductLensName,\n} from './styles'\n\nimport { CameraIcon, CartIcon, SaveIcon, ShareIcon } from '@components/core/Icons'\nimport { Price } from '@components/Price'\n\nimport { Product } from '@customTypes/product'\nimport { useCallback } from 'react'\nimport { getTransitionLensLabel } from '@libs/transition'\nimport { useConfig } from '@providers/configProvider'\nimport { isDesktopView, isIpadView, isMobileView } from '@libs/utils'\nimport { useTranslation } from 'react-i18next'\nimport { truncateString } from '@libs/truncateString'\nimport { useTakePhoto } from '@libs/analytics'\nimport { useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { useModal } from '@hooks/useModal'\nimport { useAddToCart } from '@hooks/useAddToCart'\nimport { ArrowRightIcon } from '@components/core/Icons/ArrowRightIcon'\nimport { useVM } from '@providers/VmProvider'\nimport { useAlternativePath } from '@hooks/useAlternativePath'\n\ninterface FooterActionsProps {\n className?: string\n product: Product\n showScreenshotIcon?: boolean\n}\n\nexport const FooterActions: React.FC = ({\n className,\n product,\n showScreenshotIcon = false,\n}) => {\n const {\n isTakeScreenshotEnabled,\n addToCartText,\n onAddPrescriptionLenses,\n onAddToBag,\n disableArrowIcon,\n disableCartIcon,\n useDownloadIcon,\n useCartIcon,\n } = useConfig()\n\n const {\n isReady,\n currentLens: lensType,\n isTransitionActive,\n isPreparingScreenshot,\n getScreenshot,\n isConfigurator,\n currentColor,\n colorsCatalog,\n } = useVM()\n\n const { t } = useTranslation()\n const trackTakePhoto = useTakePhoto(product)\n const { isAlternativePath } = useAlternativePath(product)\n\n const activeName = useSelector((s: AppState) => s.ui.activeName)\n\n const { toggleModalVisibility, isModalVisible } = useModal()\n const { addToCart, currentProductPrice } = useAddToCart({ product })\n const truncatedProductName = `${truncateString(product.name, isDesktopView() ? 15 : 10)} ${\n product.size ? `(${product.size})` : ''\n }`\n\n const handleAddToCart =\n (!!onAddPrescriptionLenses || isAlternativePath) && product.rxAvailable && !isModalVisible\n ? toggleModalVisibility\n : addToCart\n\n const takeScreenShot = useCallback(() => {\n if (isReady && !isPreparingScreenshot) {\n getScreenshot && getScreenshot()\n trackTakePhoto()\n }\n }, [getScreenshot, isReady, isPreparingScreenshot, trackTakePhoto])\n\n const addToBagButton = () => {\n const isArrowIcon =\n !disableArrowIcon && ((!!onAddPrescriptionLenses && product.rxAvailable) || isAlternativePath)\n\n return isDesktopView() ? (\n useCartIcon ? (\n \n \n \n ) : (\n \n {addToCartText || t('general.add-to-cart')}\n \n )\n ) : (\n \n {isArrowIcon || !!disableCartIcon ? (\n \n ) : (\n \n )}\n \n )\n }\n\n const PhotoShareIcon = () => {\n return (\n \n {showScreenshotIcon ? (\n \n ) : useDownloadIcon ? (\n \n ) : (\n \n )}\n \n )\n }\n\n if (!isReady || (isTransitionActive && activeName === 'lens')) {\n return null\n }\n\n const isLeftPhotoShareIcon = !isTransitionActive && isTakeScreenshotEnabled\n\n if (isConfigurator) {\n const selectedLensColor = colorsCatalog.find(i => i.colorCode === currentColor)\n\n return (\n \n \n {(isMobileView() || isIpadView()) && (\n \n {truncatedProductName}\n {selectedLensColor && {selectedLensColor.lensName}}\n \n )}\n {PhotoShareIcon()}\n \n \n )\n }\n\n return (\n \n \n {isLeftPhotoShareIcon && PhotoShareIcon()}\n {isTransitionActive && isTakeScreenshotEnabled && PhotoShareIcon()}\n \n {truncatedProductName}\n \n {isTransitionActive ? (\n getTransitionLensLabel(lensType)\n ) : (\n \n )}\n \n \n {!isTransitionActive && !!onAddToBag && !product.isProductNotAvailable && addToBagButton()}\n \n \n )\n}\n","import { VirtualMirrorCatalogue } from '@luxottica/virtual-mirror'\nimport { useCallback, useEffect } from 'react'\n\nimport { Color } from '@customTypes/product'\nimport { useConfig } from '@providers/configProvider'\nimport { useRefValue } from '@hooks/useRefValue'\nimport { getColorSwatches } from '@libs/getColorSwatches'\n\ninterface InitColorSwatchesProps {\n setColors: (colors: Color[]) => void\n}\n\nexport const InitColorSwatches: React.FC = ({ setColors }) => {\n const { vmInit } = useConfig()\n\n const initializeVirtualMirror = useCallback(\n async (colorSwatches: () => Promise) => {\n try {\n const colorsData = await colorSwatches()\n\n VirtualMirrorCatalogue.build({\n ...((vmInit.glassesEnv && {\n catalogueEnvironment: vmInit.glassesEnv,\n // Use any due to impossible to import GlassesEnvironment type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }) as any),\n key: vmInit.key,\n })\n .downloadTransitionColorCatalogue()\n .then(transitionColors => {\n const colors: Color[] = Object.keys(transitionColors).map(colorCode => {\n const colorData = colorsData.find((color: Color) => color.colorCode === colorCode)\n return {\n colorCode,\n colorName: colorData?.colorName,\n lensName: colorData?.lensName,\n swatchImage: colorData?.swatchImage,\n clen: colorData?.clen,\n } as Color\n })\n setColors(colors)\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error retrieving color swatches: ${error}`)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n },\n [vmInit.glassesEnv, vmInit.key, setColors]\n )\n const initVMRef = useRefValue(initializeVirtualMirror)\n\n useEffect(() => {\n initVMRef.current(getColorSwatches())\n }, [initVMRef])\n\n return <>>\n}\n","import styled from 'styled-components'\n\nexport const ButtonsWrapper = styled.div`\n display: flex;\n justify-content: center;\n`\n\nexport const StyledContent = styled.p`\n flex-shrink: 1;\n min-height: 0;\n overflow-y: auto;\n white-space: pre-line;\n text-align: left;\n table {\n width: 100%;\n td,\n th {\n border: 1px solid ${({ theme }) => theme.palette.black};\n margin: 0;\n p {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n tr {\n margin: 0;\n }\n }\n`\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nexport const PrivacyContainer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n background: ${({ theme }) => theme.palette.white[100]};\n color: ${({ theme }) => theme.palette.black};\n width: 100%;\n z-index: 1001;\n`\n\nexport const TitleWrapper = styled.div`\n margin: ${pxToEm(24)} 0;\n flex-direction: row;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n text-align: center;\n ${({ theme }) => theme.media.medium} {\n margin: ${pxToEm(70)} 0 ${pxToEm(56)};\n }\n h1 {\n font: ${({ theme }) => theme.fonts.titleSmall};\n }\n`\n\nexport const CtaItems = styled.div<{ withShadow: boolean }>`\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.palette.white[100]};\n padding: ${pxToEm(24)} ${pxToEm(32)} ${pxToEm(32)};\n ${({ withShadow }) =>\n withShadow && `box-shadow: 0 -${pxToEm(14)} ${pxToEm(10)} -${pxToEm(8)} rgba(0, 0, 0, 0.12);`}\n\n button {\n padding: 0 ${pxToEm(38)};\n height: ${pxToEm(48)};\n border-radius: ${pxToEm(66)};\n background: ${({ theme }) => theme.palette.black};\n\n &.decline {\n background: ${({ theme }) => theme.palette.white[100]};\n border: solid 1px ${({ theme }) => theme.palette.black};\n color: ${({ theme }) => theme.palette.black};\n }\n }\n`\n\nexport const PrivacyPolicyWrapperStyled = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n background-color: ${({ theme }) => theme.palette.white[100]};\n text-align: center;\n padding: 0 ${pxToEm(21)};\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n z-index: 1000;\n height: 100%;\n max-height: 100%;\n\n p {\n text-align: left;\n flex-grow: 1;\n margin: 0;\n }\n`\n\nexport const PrivacyPolicyContentWrapper = styled.div<{ withLabel: boolean }>`\n ${({ theme }) => theme.media.medium} {\n max-width: ${pxToEm(568)};\n }\n max-width: ${pxToEm(400)};\n margin: 0 auto;\n overflow: auto;\n text-align: left;\n white-space: pre-line;\n margin-bottom: ${({ withLabel }) => (withLabel ? pxToEm(130) : pxToEm(100))};\n font: ${({ theme }) => theme.fonts.paragraph};\n`\n\nexport const CloseIconWrapper = styled.div`\n display: none;\n ${({ theme }) => theme.media.medium} {\n display: block;\n position: absolute;\n top: ${pxToEm(35)};\n right: ${pxToEm(35)};\n }\n`\n","import React, { useCallback } from 'react'\nimport {\n PrivacyPolicyWrapperStyled,\n CtaItems,\n TitleWrapper,\n PrivacyPolicyContentWrapper,\n CloseIconWrapper,\n PrivacyContainer,\n} from './styles'\nimport { CloseIcon } from '@components/core/Icons'\nimport { pxToEm } from '@libs/styled'\nimport { useConfig } from '@providers/configProvider'\n\ninterface PrivacyWrapperProps {\n title: string\n content: React.ReactNode\n ctaContent: React.ReactNode\n className: string\n withLabel?: boolean\n withShadow?: boolean\n}\n\nexport const PrivacyPolicyWrapper: React.FC = ({\n title,\n content,\n ctaContent,\n withLabel = false,\n withShadow = true,\n className,\n}) => {\n const { onClose } = useConfig()\n\n const onCloseBtnClick = useCallback(() => {\n onClose && onClose()\n }, [onClose])\n\n return (\n \n \n \n \n \n \n \n {title}
\n \n {content}\n \n {ctaContent}\n \n \n )\n}\n","import ApiService from './apiService'\nimport config from '@config/index'\nimport { VtoAuthDataReq, VtoAuthDataRes, VtoBipaRes } from '@customTypes/vtoData'\n\nconst apiService = new ApiService(config.vtoApiUrl)\n\nclass VtoApiService {\n private api: ApiService\n constructor(api: ApiService) {\n this.api = api\n }\n\n public generateAuthToken = (data: VtoAuthDataReq) => {\n return this.api.post('/auth/vm/token', data)\n }\n\n public getBipaContentUrls = (headers?: HeadersInit) => {\n return this.api.get('/services/vtobipams/public/v2/bipa/version', headers)\n }\n}\n\nexport const vtoApiService = new VtoApiService(apiService)\n","import { useConfig } from '@providers/configProvider'\nimport { vtoApiService } from '@services/vtoApiService'\nimport { useEffect } from 'react'\nimport { useAsync } from './useAsync'\nimport { BipaContentRes } from '@customTypes/vtoData'\nimport { fallbackLanguage } from '@utils/language'\n\nconst fetchData = async (url: string): Promise => {\n const raw = await fetch(url)\n return raw.json()\n}\n\nexport const useBipaContent = (skip: boolean) => {\n const config = useConfig()\n const { locale = fallbackLanguage(config) } = config\n\n const {\n run: getAuthData,\n data: authData,\n loading: isAuthLoading,\n } = useAsync(vtoApiService.generateAuthToken)\n\n const {\n run: getBipaContentUrls,\n data: bipaContent,\n loading: isBipaContentLoading,\n } = useAsync(vtoApiService.getBipaContentUrls)\n\n const { run: getBipa, data: bipa, loading: isBipaLoading } = useAsync(fetchData)\n\n useEffect(() => {\n if (skip) return\n if (!authData) {\n getAuthData({ rememberMe: true })\n }\n }, [authData, getAuthData, skip])\n\n useEffect(() => {\n if (skip) return\n if (!bipaContent && authData) {\n getBipaContentUrls({ Authorization: `Bearer ${authData.access_token}` })\n }\n }, [getBipaContentUrls, bipaContent, authData, skip])\n\n const jsonUrl = (bipaContent && JSON.parse(bipaContent?.jsonUrl)) || {}\n const bipaUrl = jsonUrl[locale || 'en-US'] || jsonUrl['en-US']\n\n useEffect(() => {\n if (skip) return\n if (!bipa && bipaUrl) {\n getBipa(bipaUrl)\n }\n }, [bipa, bipaUrl, getBipa, skip])\n\n return {\n bipa,\n loading: isAuthLoading || isBipaContentLoading || isBipaLoading,\n }\n}\n","import { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { Button } from '../core/Button'\nimport React from 'react'\nimport { setVisibilityBipaModal } from '@store/actions/ui'\nimport { useTranslation } from 'react-i18next'\nimport { ButtonsWrapper } from './styles'\nimport { PrivacyPolicyWrapper } from './PrivacyPolicyWrapper'\nimport { useBipaContent } from '@hooks/useBipaContent'\nimport { Loading } from '@components/Loader'\n\nexport const BipaModal: React.FC = () => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n const isBipaModalVisible = useSelector((s: AppState) => s.ui.isBipaModalVisible)\n\n const { loading, bipa } = useBipaContent(!isBipaModalVisible)\n\n if (!isBipaModalVisible) {\n return null\n }\n\n const renderCtaContent = () => (\n \n \n \n )\n\n return (\n \n ) : (\n \n )\n }\n className=\"vmmv-bipa-modal\"\n />\n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const ScreenDeviceWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: ${({ theme }) => theme.palette.abbey};\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n`\n\nexport const ScreenDeviceShapeWrapper = styled.div`\n position: relative;\n height: calc(${pxToEm(144)} + ${pxToEm(4.8)});\n width: calc(${pxToEm(176)} + ${pxToEm(4.8)});\n margin-bottom: ${pxToEm(16)};\n`\n\nexport const ScreenDeviceShapeHorizontal = styled.div`\n width: ${pxToEm(144)};\n height: ${pxToEm(64)};\n border: ${pxToEm(2.4)} solid ${({ theme }) => theme.palette.darkGray};\n border-radius: ${pxToEm(8)};\n position: relative;\n top: calc(${pxToEm(80)});\n left: 0;\n`\n\nexport const ScreenDeviceShapeVertical = styled.div`\n width: ${pxToEm(64)};\n height: ${pxToEm(144)};\n border: ${pxToEm(2.4)} solid ${({ theme }) => theme.palette.white[100]};\n border-radius: ${pxToEm(8)};\n background-color: ${({ theme }) => theme.palette.darkGray};\n position: absolute;\n bottom: 0;\n right: 0;\n`\n\nexport const ScreenDeviceText = styled.div`\n color: ${({ theme }) => theme.palette.white[100]};\n font-size: ${pxToEm(18)};\n margin: 0;\n`\n\nexport const ScreenDeviceArrowWrapper = styled.div`\n position: absolute;\n width: ${pxToEm(48)};\n height: ${pxToEm(40)};\n top: ${pxToEm(27.2)};\n left: ${pxToEm(53)};\n`\n\nexport const IconWrapper = styled.div`\n position: absolute;\n top: ${pxToEm(16)};\n right: 0;\n z-index: 1001;\n padding: ${pxToEm(8)};\n background: ${({ theme }) => theme.palette.lightgray};\n`\n","import React, { useCallback } from 'react'\nimport { useDeviceOrientation } from '@hooks/useDeviceOrientation'\nimport { ArrowIcon, CloseIcon } from '@components/core/Icons'\nimport { useSetDocumentHeight } from '@hooks/useSetDocumentHeight'\nimport { useTranslation } from 'react-i18next'\nimport { isDesktopView } from '@libs/utils'\nimport {\n ScreenDeviceWrapper,\n ScreenDeviceShapeWrapper,\n ScreenDeviceArrowWrapper,\n ScreenDeviceShapeHorizontal,\n ScreenDeviceShapeVertical,\n ScreenDeviceText,\n IconWrapper,\n} from './styles'\nimport { closeVirtualMirror } from '@components/Menu/MenuList'\nimport { trackClickButtonClose } from '@libs/analytics'\nimport { useConfig } from '@providers/configProvider'\n\nconst DocHeight: React.FC = () => {\n useSetDocumentHeight()\n return null\n}\n\nexport const OrientationSreen: React.FC = () => {\n const orientation = useDeviceOrientation()\n const { t } = useTranslation()\n const { onClose } = useConfig()\n\n const onCloseBtnClick = useCallback(() => {\n onClose && onClose()\n trackClickButtonClose()\n closeVirtualMirror()\n }, [onClose])\n\n if (!orientation.isLandscape || isDesktopView()) return null\n\n return (\n <>\n {onClose && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n {t('general.turn-your-device')}\n \n \n >\n )\n}\n","import { useConfig } from '@providers/configProvider'\nimport { useEffect } from 'react'\n\nexport const useSetDocumentHeight = () => {\n const { selector } = useConfig()\n useEffect(() => {\n let isEffectRunning = true\n const container = document.querySelector(selector)\n const setHeight = () => {\n if (container) {\n container.style.height = `${window.innerHeight}px`\n }\n if (isEffectRunning) {\n window.requestAnimationFrame(setHeight)\n }\n }\n setHeight()\n\n return () => {\n isEffectRunning = false\n }\n }, [selector])\n}\n","import { useState, useEffect } from 'react'\n\nexport const useDeviceOrientation = () => {\n const [isLandscape, setLandscape] = useState(\n window.matchMedia('(orientation: landscape)').matches\n )\n\n const handleOrientationChange = () => {\n setLandscape(window.matchMedia('(orientation: landscape)').matches)\n }\n\n useEffect(() => {\n window.addEventListener('resize', handleOrientationChange)\n return () => window.removeEventListener('resize', handleOrientationChange)\n }, [])\n\n return {\n isLandscape,\n }\n}\n","import { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { Button } from '../core/Button'\nimport React from 'react'\nimport { setVisibilityPrivacyPolicyModal } from '@store/actions/ui'\nimport { useTranslation } from 'react-i18next'\nimport { ButtonsWrapper, StyledContent } from './styles'\nimport { PrivacyPolicyWrapper } from './PrivacyPolicyWrapper'\n\nexport const PrivacyPolicyModal: React.FC = () => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n const isPrivacyPolicyModalVisible = useSelector((s: AppState) => s.ui.isPrivacyPolicyModalVisible)\n\n if (!isPrivacyPolicyModalVisible) {\n return null\n }\n\n const renderCtaContent = () => (\n \n \n \n )\n\n return (\n \n {t('PRIVACY_FIRST_AGREEMENT')}\n \n >\n }\n className=\"vmmv-privacy-policy-modal\"\n />\n )\n}\n","import { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { Button } from '../core/Button'\nimport React from 'react'\nimport { setVisibilityTermsConditionsModal } from '@store/actions/ui'\nimport { useTranslation } from 'react-i18next'\nimport { ButtonsWrapper, StyledContent } from './styles'\nimport { PrivacyPolicyWrapper } from './PrivacyPolicyWrapper'\n\nexport const TermsConditionsModal: React.FC = () => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n const isTermsConditionsVisible = useSelector((s: AppState) => s.ui.isTermsConditionsVisible)\n\n if (!isTermsConditionsVisible) {\n return null\n }\n\n const renderCtaContent = () => (\n \n \n \n )\n\n return (\n {t('vm-master-version.termsOfUse')}}\n className=\"vmmv-terms-conditions\"\n />\n )\n}\n","import { css } from 'styled-components'\n\nexport const normalize = css`\n /**\n * Render the main element consistently in IE.\n */\n\n main {\n display: block;\n }\n\n /* Grouping content\n ========================================================================== */\n\n /**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\n hr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n }\n\n /**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd em font sizing in all browsers.\n */\n\n pre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n }\n\n /* Text-level semantics\n ========================================================================== */\n\n /**\n * Remove the gray background on active links in IE 10.\n */\n\n a {\n background-color: transparent;\n }\n\n /**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\n abbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n }\n\n /**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\n b,\n strong {\n font-weight: bolder;\n }\n\n /**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd em font sizing in all browsers.\n */\n\n code,\n kbd,\n samp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n }\n\n /**\n * Add the correct font size in all browsers.\n */\n\n small {\n font-size: 80%;\n }\n\n /**\n * Prevent sub and sup elements from affecting the line height in\n * all browsers.\n */\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n /**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\n button,\n input {\n /* 1 */\n overflow: visible;\n }\n\n /**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\n button,\n select {\n /* 1 */\n text-transform: none;\n }\n\n /**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button;\n }\n\n /**\n * Remove the inner border and padding in Firefox.\n */\n\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n /**\n * Restore the focus styles unset by the previous rule.\n */\n\n button:-moz-focusring,\n [type=\"button\"]:-moz-focusring,\n [type=\"reset\"]:-moz-focusring,\n [type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n /**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from fieldset elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * fieldset elements in all browsers.\n */\n\n legend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n }\n\n /**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\n progress {\n vertical-align: baseline;\n }\n\n /**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n /**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n [type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n }\n\n /**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n /**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to inherit in Safari.\n */\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n }\n\n /* Interactive\n ========================================================================== */\n\n /*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\n details {\n display: block;\n }\n\n /*\n * Add the correct display in all browsers.\n */\n\n summary {\n display: list-item;\n }\n\n box-sizing: border-box;\n\n & *,\n & *:before,\n & *:after {\n box-sizing: inherit;\n }\n`\n","import { BipaModal } from '@components/PrivacyPolicy/BipaModal'\nimport { LAYOUT_ID } from '@hooks/useDimensions'\nimport { OrientationSreen } from '@components/OrientationScreen'\nimport { PrivacyPolicyModal } from '@components/PrivacyPolicy/PrivacyPolicyModal'\nimport { TermsConditionsModal } from '@components/PrivacyPolicy/TermsAndConditionsModal'\nimport { normalize } from './normalize'\nimport styled from 'styled-components'\nimport React from 'react'\n\nconst LayoutStyled = styled.div`\n font-size: 16px;\n height: 100%;\n position: relative;\n overflow: hidden;\n ${normalize}\n\n ${({ theme }) => theme.media.large} {\n max-width: 768px;\n margin: 0 auto;\n }\n\n &.column {\n display: flex;\n flex-direction: column;\n }\n\n &.white-bg {\n background-color: #ffffff;\n }\n`\ninterface LayoutProps {\n className?: string\n children: React.ReactNode\n}\n\nexport const Layout = React.forwardRef(\n ({ children, className }: LayoutProps, ref: React.Ref) => {\n return (\n <>\n \n {children}\n \n \n \n \n \n >\n )\n }\n)\n\nLayout.displayName = 'Layout'\n","import React from 'react'\nimport { LoaderWrapper, Dash, LoaderContent, Spin } from './styles'\nimport { withLoadingText, withAppLoader } from './loader'\n\nexport interface MainLoaderProps {\n container?: string\n children?: React.ReactNode\n isDisabled?: boolean\n isAbsolute?: boolean\n}\nexport const MainLoader: React.FC = ({ children, isAbsolute = true }) => {\n return (\n \n \n {Array(150)\n .fill('')\n .map((value: string, index: number) => (\n \n ))}\n \n {children && children}\n \n )\n}\n\nexport const Loader = withLoadingText(MainLoader)\n\nexport const AppLoader = withAppLoader(MainLoader)\n\nexport const Loading: React.FC<{ className?: string }> = ({ className }) => {\n const style = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: 'calc(100vh - 200px)',\n }\n\n return (\n \n \n
\n )\n}\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport { useTranslation } from 'react-i18next'\n\nimport { MainLoaderProps } from './index'\nimport { LoaderCenter, LoadingText } from './styles'\n\n// .vm-ready classname should be injected in Layout component once VM is ready\n// must inject to all major pages (privacy-policy, live try-on, picture-mode, video-more, error-boundary) so loader will hide once .vm-ready injected to those pages\nexport const VM_READY = 'vm-ready'\n\nexport function withAppLoader(MainLoader: React.ComponentType) {\n const Loader: React.FC = ({ container, isDisabled = false }) => {\n const containerRef = useRef(container ? document.querySelector(container) : null)\n const [isLoading, setIsLoading] = useState(true)\n\n const observerCallback = useCallback(\n (_: MutationRecord[], observer: MutationObserver) => {\n if (isLoading) {\n const vmReady = document.getElementsByClassName(VM_READY)\n\n // if VMMV container mutates and detects .vm-ready class is injected\n // then removes the loader\n if (vmReady && vmReady[0]) {\n setIsLoading(false)\n observer.disconnect()\n }\n }\n },\n [isLoading]\n )\n useEffect(() => {\n const observer = new MutationObserver(observerCallback)\n\n if (containerRef.current && isLoading && !isDisabled)\n observer.observe(containerRef.current as Node, { childList: true, subtree: true })\n\n return () => {\n observer.disconnect()\n }\n }, [observerCallback, isLoading, isDisabled])\n\n const containerStyle =\n containerRef.current && !!getComputedStyle ? getComputedStyle(containerRef.current) : null\n\n const paddingTop = !!containerStyle ? parseFloat(containerStyle.paddingTop) : 0\n const paddingBottom = !!containerStyle ? parseFloat(containerStyle.paddingBottom) : 0\n\n return containerRef.current && isLoading && !isDisabled\n ? ReactDOM.createPortal(\n \n \n ,\n containerRef.current\n )\n : null\n }\n\n return Loader\n}\n\nexport function withLoadingText(MainLoader: React.ComponentType) {\n const Loader = () => {\n const { t } = useTranslation()\n return (\n \n {t('picture-mode.loading')}\n \n )\n }\n\n return Loader\n}\n","import { pxToEm } from '@libs/styled'\nimport styled, { keyframes } from 'styled-components'\n\nexport const LoaderCenter = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #ffffff;\n z-index: 1000;\n\n // same with layout component\n @media only screen and (min-width: 1224px) {\n max-width: 768px;\n margin: 0 auto;\n }\n`\n\nexport const LoaderWrapper = styled.div<{ isAbsolute: boolean }>`\n position: ${({ isAbsolute }) => (isAbsolute ? 'absolute' : 'block')};\n top: 30%;\n`\n\nexport const LoaderContent = styled.div`\n color: #000;\n display: inline-block;\n position: relative;\n visibility: visible;\n width: ${pxToEm(200)};\n height: ${pxToEm(200)};\n z-index: 10;\n transform: translate(${pxToEm(70)});\n\n @keyframes motion {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n div {\n transform-origin: ${pxToEm(30)} ${pxToEm(100)};\n animation: motion 15.1s linear infinite;\n }\n\n div:after {\n content: ' ';\n display: block;\n position: absolute;\n top: ${pxToEm(3)};\n left: ${pxToEm(29)};\n width: ${pxToEm(1)};\n height: ${pxToEm(25)};\n border-radius: 20%;\n background: var(--vm-loader-dash-color);\n }\n`\n\nexport const Dash = styled.div<{ position: number }>`\n &.vmmv-loader-dash {\n animation-delay: ${({ position }) => `calc(-15s + (${position}*0.1s))`};\n transform: ${({ position }) => `rotate(calc(${position} * 2.416deg))`};\n }\n`\n\nexport const LoadingText = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font: ${({ theme }) => theme.fonts.heading};\n font-size: ${pxToEm(20)};\n text-align: center;\n z-index: 10;\n`\n\n// from - twitter bootstrap with love.\n// https://getbootstrap.com/docs/4.4/components/spinners/#growing-spinner\nconst spinnerGrow = keyframes`\n 0% {\n transform: scale(0);\n }\n\n 50% {\n opacity: 1;\n transform: none;\n }\n`\n\nexport const Spin = styled.div`\n display: inline-block;\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n opacity: 0;\n vertical-align: text-bottom;\n background-color: ${({ theme }) => theme.palette.black};\n animation: ${spinnerGrow} 1.5s linear infinite;\n`\n","import { NavBarActionScan, NavBarActionPicture, NavBarActionVideo } from '@components/core/Icons'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useLocation, useNavigate } from 'react-router'\nimport { MenuListWrapper, MenuOption, MenuLogo, ListText } from './styles'\nimport { liveTryOn, pictureMode, pictureModeView, videoMode, videoModeView } from '@utils/routes'\nimport { useConfig } from '@providers/configProvider'\nimport { trackClickMenuTryOn, trackClickMenuVideo, trackClickMenuPicture } from '@libs/analytics'\nimport { VirtualMirror } from '@luxottica/virtual-mirror'\nimport { CONTAINER_ID_LIVE_TRY_ON } from '@providers/VmProvider'\nimport { VtoCore } from '@luxottica/vto-core'\nimport { CONTAINER_ID_PICTURE_MODE, CONTAINER_ID_VIDEO_MODE } from '@providers/VtoProvider'\nimport { Config } from '@customTypes/config'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { setVtoPage } from '@store/actions/ui'\nimport { AppState } from '@store/index'\n\nexport const closeVirtualMirror = async () => {\n try {\n await VirtualMirror.closeMirror({ target: CONTAINER_ID_LIVE_TRY_ON })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error closing virtual mirror: ${error}`)\n }\n}\n\nexport const closeVto = (onClose: () => void, divId: string) => {\n VtoCore.closeRender({ divId }, onClose)\n}\n\ntype Option = {\n translationKey: string\n logo: JSX.Element\n route: string\n analytic: () => void\n active: string\n}\n\nconst getOptions = (config: Config): Option[] => {\n const {\n isTryOnEnabled,\n isPictureModeEnabled,\n isVideoModeEnabled,\n isTakePictureEnabled,\n isUploadPictureEnabled,\n } = config\n return [\n ...(isTryOnEnabled\n ? [\n {\n translationKey: 'general.live-try-on',\n logo: ,\n route: liveTryOn(),\n analytic: trackClickMenuTryOn,\n active: liveTryOn(),\n },\n ]\n : []),\n ...(isPictureModeEnabled && (isTakePictureEnabled || isUploadPictureEnabled)\n ? [\n {\n translationKey: 'general.picture-mode',\n logo: ,\n route: pictureMode(),\n analytic: trackClickMenuPicture,\n active: pictureMode(pictureModeView()),\n },\n ]\n : []),\n ...(isVideoModeEnabled\n ? [\n {\n translationKey: 'general.video-mode',\n logo: ,\n route: videoMode(),\n analytic: trackClickMenuVideo,\n active: videoMode(videoModeView()),\n },\n ]\n : []),\n ]\n}\n\nexport const MenuList: React.FC<{ visible: boolean }> = ({ visible }) => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const { pathname } = useLocation()\n const config = useConfig()\n\n const options = getOptions(config)\n const dispatch = useDispatch()\n const vtoPage = useSelector((s: AppState) => s.ui.vtoPage)\n\n const onUnmount = async (activeRoute: string, fn: () => void) => {\n dispatch(setVtoPage('off'))\n switch (activeRoute) {\n case liveTryOn():\n if (vtoPage === 'live-try-on') await closeVirtualMirror()\n\n fn()\n return\n case videoMode(videoModeView()):\n if (vtoPage === 'video-mode') closeVto(fn, CONTAINER_ID_VIDEO_MODE)\n else fn()\n return\n\n case pictureMode(pictureModeView()):\n if (vtoPage === 'picture-mode') closeVto(fn, CONTAINER_ID_PICTURE_MODE)\n else fn()\n return\n\n default:\n fn()\n return\n }\n }\n return (\n \n {options.map(o => {\n return (\n {\n o.analytic()\n pathname !== o.active &&\n onUnmount(pathname, () => navigate(o.route, { state: { from: pathname } }))\n }}\n className=\"vmmv-menu-option\"\n >\n {o.logo}\n {t(o.translationKey)}\n \n )\n })}\n \n )\n}\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { resetButtonStyles } from '@components/Menu/styles'\n\nexport const MenuButton = styled.button`\n position: relative;\n z-index: 1;\n ${resetButtonStyles}\n`\n\nexport const MenuOverlay = styled.div`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n opacity: 0.55;\n background-image: linear-gradient(to left, #000 10%, rgba(0, 0, 0, 0) 96%);\n`\n\nexport const MenuList = styled.ul<{ visible?: boolean }>`\n position: absolute;\n opacity: ${({ visible }) => (visible ? '1' : '0')};\n width: ${({ visible }) => (visible ? 'auto' : '0')};\n height: ${({ visible }) => (visible ? 'auto' : '0')};\n overflow: ${({ visible }) => (visible ? 'auto' : 'hidden')};\n top: ${pxToEm(65)};\n right: ${pxToEm(20)};\n transition: opacity 0.3s;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n padding: 0;\n list-style: none;\n`\n\nexport const ListItem = styled.li`\n color: ${({ theme }) => theme.palette.white[100]};\n font: ${({ theme }) => theme.fonts.span};\n margin-bottom: ${pxToEm(32)};\n`\n","import { InfoIcon } from '@components/core/Icons'\nimport {\n setVisibilityTermsConditionsModal,\n setVisibilityPrivacyPolicyModal,\n setVisibilityBipaModal,\n} from '@store/actions/ui'\nimport { useCallback } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useDispatch } from 'react-redux'\nimport { MenuButton, MenuOverlay, MenuList, ListItem } from './styles'\nimport styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\ninterface InfoProps {\n toggleVisibility: () => void\n isVisible: boolean\n}\n\nconst InfoButton = styled(MenuButton)`\n margin-right: 0;\n\n ${({ theme }) => theme.media.medium} {\n margin-right: ${pxToEm(8)};\n }\n`\n\nexport const Info: React.FC = ({ toggleVisibility, isVisible }) => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n\n const onTermsAndConditions = useCallback(() => {\n dispatch(setVisibilityTermsConditionsModal(true))\n }, [dispatch])\n\n const onPrivacyPolicy = useCallback(() => {\n dispatch(setVisibilityPrivacyPolicyModal(true))\n }, [dispatch])\n\n const onBipa = useCallback(() => {\n dispatch(setVisibilityBipaModal(true))\n }, [dispatch])\n\n return (\n <>\n \n \n \n {isVisible && }\n \n {t('PRIVACY_POLICY')}\n {t('NOTICE_OF_BIOMETRIC_USE')}\n \n {t('PRIVACY_IMPLICIT_TERMS_AND_CONDITIONS')}\n \n \n >\n )\n}\n","import { CloseIcon, MenuClose, MenuOpen } from '@components/core/Icons'\nimport { useAnimation } from '@hooks/useAnimationApp'\nimport { useConfig } from '@providers/configProvider'\nimport React, { useCallback, useState } from 'react'\nimport { closeVirtualMirror, closeVto, MenuList } from './MenuList'\nimport { MenuButton, MenuWrapper } from './styles'\nimport { Info } from '@components/Info'\nimport { trackClickButtonClose } from '@libs/analytics'\nimport { OverlayWrapper } from '@components/core/Overlay'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { setMenuVisibility, setVtoPage } from '@store/actions/ui'\nimport { CONTAINER_ID_PICTURE_MODE, CONTAINER_ID_VIDEO_MODE } from '@providers/VtoProvider'\n\ninterface MenuProps {\n hasMirrorRendered?: boolean\n fromStore?: boolean\n}\n\nexport const Menu: React.FC = ({ hasMirrorRendered, fromStore }) => {\n const [isInfoVisible, setIsInfoVisible] = useState(false)\n\n const isMenuVisible = useSelector((s: AppState) => s.ui.isMenuVisible)\n const vtoPage = useSelector((s: AppState) => s.ui.vtoPage)\n const dispatch = useDispatch()\n\n const { onClose } = useConfig()\n\n const cbOnEnd = useCallback(() => {\n dispatch(setMenuVisibility(false))\n }, [dispatch])\n\n const cbOnStart = useCallback(() => {\n dispatch(setMenuVisibility(true))\n }, [dispatch])\n\n useAnimation(!!hasMirrorRendered, isMenuVisible, cbOnStart, cbOnEnd, 'menu')\n\n const onMenuBtnClick = useCallback(() => {\n dispatch(setMenuVisibility(!isMenuVisible))\n }, [dispatch, isMenuVisible])\n\n const onCloseBtnClick = useCallback(() => {\n trackClickButtonClose()\n\n switch (vtoPage) {\n case 'live-try-on': {\n closeVirtualMirror()\n break\n }\n case 'picture-mode': {\n closeVto(() => {\n return\n }, CONTAINER_ID_PICTURE_MODE)\n break\n }\n case 'video-mode': {\n closeVto(() => {\n return\n }, CONTAINER_ID_VIDEO_MODE)\n }\n }\n\n dispatch(setVtoPage('off'))\n\n onClose && onClose()\n }, [dispatch, onClose, vtoPage])\n\n const toggleInfoVisibility = useCallback(() => {\n setIsInfoVisible(c => !c)\n }, [])\n\n const onOverlayClick = useCallback(() => {\n if (isMenuVisible || isInfoVisible) {\n setIsInfoVisible(false)\n dispatch(setMenuVisibility(false))\n }\n }, [isMenuVisible, isInfoVisible, dispatch])\n\n return (\n \n \n {isMenuVisible ? : }\n \n\n {fromStore && onClose && (\n \n \n \n )}\n {!fromStore && }\n {isMenuVisible && }\n \n \n )\n}\n","import styled, { css } from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nexport const resetButtonStyles = css`\n border: none;\n background: none;\n outline: none;\n stroke: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n`\n\nexport const MenuButton = styled.button`\n position: relative;\n cursor: pointer;\n z-index: 1;\n color: ${({ theme }) => theme.palette.white[100]};\n ${resetButtonStyles}\n`\n\nexport const MenuWrapper = styled.div<{ active?: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding: ${pxToEm(10)};\n padding-right: ${pxToEm(14)};\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: ${({ active }) => (active ? 2 : 1)};\n height: ${({ active }) => (active ? '100%' : 'auto')};\n background-image: ${({ active }) =>\n !active ? 'linear-gradient(to bottom, rgba(0,0,0,0.7) 10%, rgba(0,0,0,0) 96%)' : 'none'};\n\n ${({ theme }) => theme.media.medium} {\n padding-left: ${pxToEm(23)};\n padding-right: ${pxToEm(22)};\n }\n`\n\nexport const MenuListWrapper = styled.ul<{ visible?: boolean }>`\n position: absolute;\n padding: 0;\n opacity: ${({ visible }) => (visible ? '1' : '0')};\n top: ${pxToEm(65)};\n left: ${pxToEm(10)};\n transition: opacity 0.3s;\n width: ${({ visible }) => (visible ? 'auto' : '0')};\n height: ${({ visible }) => (visible ? 'auto' : '0')};\n overflow: ${({ visible }) => (visible ? 'auto' : 'hidden')};\n\n ${({ theme }) => theme.media.medium} {\n left: ${pxToEm(23)};\n }\n`\n\nexport const MenuOption = styled.li`\n display: flex;\n align-items: center;\n margin-bottom: ${pxToEm(20)};\n cursor: pointer;\n`\n\nexport const MenuLogo = styled.div`\n padding: ${pxToEm(10)};\n line-height: 0;\n border-radius: 50%;\n margin-right: ${pxToEm(10)};\n border: ${({ theme }) => `1px solid ${theme.palette.white[100]}`};\n backdrop-filter: blur(40px);\n background-color: ${({ theme }) => theme.palette.white[40]};\n`\n\nexport const ListText = styled.span<{ active?: boolean }>`\n padding: ${pxToEm(5)} ${pxToEm(10)};\n font: ${({ theme }) => theme.fonts.headingSmall};\n font-size: 15px;\n text-shadow: 0 0 7px rgba(0, 0, 0, 0.3);\n color: ${({ theme }) => theme.palette.white[100]};\n backdrop-filter: blur(20px);\n background-color: ${({ active, theme }) => (active ? theme.palette.white[40] : 'none')};\n border-radius: ${pxToEm(15)};\n`\n","import React from 'react'\nimport {\n FaceShapeIcon,\n SunIcon,\n FocusIcon,\n RelaxFaceIcon,\n HoldDeviceIcon,\n EyeglassesOffIcon,\n} from '@components/core/Icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n PictureModeEntryPageWraper,\n Title,\n TitleWrapper,\n TipsWrapper,\n TipTake,\n IconWrapper,\n TipDescription,\n} from '../styles'\nimport { BackButton } from '@components/core/BackButton'\n\nimport { pictureMode, takePicture } from '@utils/routes'\nimport { useNavigate } from 'react-router'\nimport { useFromPage } from '@libs/analytics'\nimport StickyButton from '@components/core/StickyButton'\n\nconst TAKE_PICTURE_TIPS = [\n { text: 'light', icon: },\n { text: 'look-straight-2', icon: },\n { text: 'relaxed-face', icon: },\n { text: 'take-eyeglasses-off', icon: },\n { text: 'move-your-hair', icon: },\n { text: 'hold-with-both-hands', icon: },\n]\n\nexport const TakePictureInstructions: React.FC = () => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const from = useFromPage()\n\n const handleGetStartedClick = () => navigate(pictureMode(takePicture()))\n\n return (\n <>\n {from && }\n \n \n {t('take-tips.title')}\n \n \n {TAKE_PICTURE_TIPS.map((tip, index) => (\n \n {tip.icon}\n \n \n ))}\n \n {t('general.ok-get-started')}\n \n >\n )\n}\n","import {\n FrameAdvisorCapture,\n FrameAdvisorRegion,\n FrameAdvisorResult,\n InitializeParameters,\n} from '@luxottica/frame-advisor-capture'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport { useDispatch } from 'react-redux'\nimport { BackButton } from '@components/core/BackButton'\nimport { pictureMode, pictureModeView, pictureVideoModeError } from '@utils/routes'\nimport { useTranslation } from 'react-i18next'\nimport { useConfig } from '@providers/configProvider'\nimport {\n Spinner,\n SpinnerWrapper,\n FaceScanAppWrapper,\n FaceScanAppContainer,\n GradientBackgroundPolygon,\n FaceScanAppTarget,\n BlurBlock,\n ParagraphDescription,\n Corner,\n} from './styles'\nimport { trackPicktureTakeFail, trackVmPrivacyFail, trackVmPrivacyReject } from '@libs/analytics'\nimport { default as appConfig } from '@config/index'\nimport { setVtoPage } from '@store/actions/ui'\nimport { setPictureId } from '@utils/sessionStorage'\nimport { fallbackLanguage } from '@utils/language'\n\nconst CONTAINER_ID = 'vm-app-facescanapp'\n\nexport const TakePicture: React.FC = () => {\n const { t } = useTranslation()\n const dispatch = useDispatch()\n const navigate = useNavigate()\n\n const config = useConfig()\n const {\n store: { region },\n vmInit: { environment, source },\n locale = fallbackLanguage(config),\n } = config\n\n const [showScan, setShowScan] = useState(false)\n const [scanSuccess, setScanSuccess] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n\n const vtoCaptureClose = useCallback(\n (onResCb?: () => void) => {\n FrameAdvisorCapture.close()\n FrameAdvisorCapture.closeVtoCapture()\n dispatch(setVtoPage('off'))\n onResCb?.()\n },\n [dispatch]\n )\n\n useEffect(() => {\n // Use any due to impossible to import InternalInitializeParameters type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const initOptions: InitializeParameters | any = {\n options: {\n locale: locale || 'en-US',\n environment: environment || appConfig.vmEnv,\n region: (region || 'US') as FrameAdvisorRegion,\n source: source,\n },\n callbacks: {\n onCaptureError: () => {\n trackPicktureTakeFail()\n setIsLoading(false)\n vtoCaptureClose()\n navigate(`${pictureMode(pictureVideoModeError())}?from=${pictureMode()}`)\n },\n onCountdown: (current: number, total: number) => {\n if (current === total) {\n setShowScan(false)\n }\n },\n onAdvisorResult: (result: FrameAdvisorResult) => {\n setIsLoading(false)\n result && setPictureId(result.videoId || '')\n vtoCaptureClose()\n navigate(pictureMode(pictureModeView()))\n },\n onCaptureProcess: () => {\n setShowScan(true)\n },\n onLoading: () => {\n setScanSuccess(true)\n setIsLoading(true)\n },\n onPrivacyFail: trackVmPrivacyFail,\n onPrivacyReject: trackVmPrivacyReject,\n },\n privacy: {\n termsAndConditions: 'javascript:void()',\n localizationText: 'javascript:void()',\n },\n }\n\n initOptions.auth = {\n accessToken: undefined,\n refreshToken: undefined,\n }\n\n FrameAdvisorCapture.initialize(initOptions)\n .then(initReturns => {\n if (!initReturns.isSupported) {\n // eslint-disable-next-line no-console\n console.error('The browser does not support a key feature for the experience')\n }\n FrameAdvisorCapture.capture({\n target: CONTAINER_ID,\n options: {\n showLoading: false,\n enableVto: true,\n enableMachineLearning: false,\n },\n })\n\n dispatch(setVtoPage('fa-vto-capture'))\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(error)\n })\n }, [navigate, dispatch, locale, environment, region, source, vtoCaptureClose])\n\n return (\n <>\n {!showScan && (\n \n \n \n )}\n \n \n \n {isLoading && (\n <>\n {t('picture-scan.picture-scan-step-2')}\n >\n )}\n {(showScan || isLoading) && (\n <>\n \n \n \n \n \n \n {isLoading && }\n \n >\n )}\n \n >\n )\n}\n","import styled, { css } from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nconst textDescription = css`\n z-index: 1;\n margin-top: ${pxToEm(80)};\n font: ${({ theme }) => theme.fonts.paragraph};\n`\n\nexport const SpinnerWrapper = styled.div`\n z-index: 2;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`\n\nexport const Spinner = styled.div`\n border: ${pxToEm(4)} solid ${({ theme }) => theme.palette.whiteSmoke};\n border-top: ${pxToEm(4)} solid ${({ theme }) => theme.palette.black};\n border-radius: 50%;\n width: ${pxToEm(80)};\n height: ${pxToEm(80)};\n animation: spin 1s linear infinite;\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`\n\nexport const FaceScanAppWrapper = styled.div`\n width: 100%;\n height: 100%;\n position: relative;\n\n .navigation,\n .page-title,\n .frame-advisor-error-overlay .frame-advisor-error-overlay-modal-button {\n display: none;\n }\n\n .frame-advisor-root-style .fa-time-remaining {\n position: absolute;\n font-family: var(--vm-default-font);\n font-size: ${pxToEm(104)};\n font-weight: bold;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-shadow: none;\n }\n\n .frame-advisor-error-overlay .frame-advisor-error-overlay-modal {\n height: ${pxToEm(150)};\n }\n\n .frame-advisor-root-style .fa-nudging-guide {\n ${textDescription}\n height: unset;\n text-shadow: none;\n }\n\n video::-webkit-media-controls {\n display: none;\n }\n`\n\nexport const ParagraphDescription = styled.p`\n ${textDescription}\n position: absolute;\n top: 0;\n text-align: center;\n width: 100%;\n color: ${({ theme }) => theme.palette.white[100]};\n`\n\nexport const BlurBlock = styled.div`\n filter: blur(15px);\n border: solid ${pxToEm(11)} rgba(33, 92, 207, 0.6);\n border-radius: ${pxToEm(30)};\n position: absolute;\n width: 80%;\n height: 50%;\n top: 50%;\n left: 50%;\n overflow: hidden;\n transform: translate(-50%, -50%);\n ${({ theme }) => theme.media.medium} {\n height: 60%;\n width: 60%;\n }\n`\n\nexport const Corner = styled.div<{ scanSuccess: boolean }>`\n width: ${({ scanSuccess }) => (scanSuccess ? '100%' : '40%')};\n height: ${({ scanSuccess }) => (scanSuccess ? '100%' : '40%')};\n border: ${pxToEm(4)} solid white;\n border-radius: ${pxToEm(30)};\n ${({ scanSuccess }) =>\n !scanSuccess &&\n `\n border-bottom: 0;\n border-right: 0;\n border-radius: 0;\n border-top-left-radius: ${pxToEm(30)};\n `}\n\n &.vmmv-top-right {\n transform: scale(-1, 1);\n }\n\n &.vmmv-bottom-left {\n transform: scale(1, -1);\n }\n\n &.vmmv-bottom-right {\n transform: rotate(180deg);\n }\n`\n\nexport const FaceScanAppTarget = styled.div`\n border-radius: ${pxToEm(30)};\n height: 50%;\n left: 50%;\n overflow: hidden;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 80%;\n z-index: 1;\n display: flex;\n align-content: space-between;\n justify-content: space-between;\n flex-wrap: wrap;\n\n ${({ theme }) => theme.media.medium} {\n height: 60%;\n width: 60%;\n }\n`\n\nexport const GradientBackground = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-image: linear-gradient(to bottom, #000c13 0%, rgba(196, 196, 196, 0) 100%);\n opacity: 0.6;\n`\n\nexport const GradientBackgroundPolygon = styled(GradientBackground)`\n clip-path: polygon(\n 0% 0%,\n 0% 100%,\n calc(10% + 2px) 100%,\n calc(10% + 2px) calc(28% + 2px),\n calc(14% + 2px) calc(25% + 2px),\n calc(86% - 2px) calc(25% + 2px),\n calc(90% - 2px) calc(28% + 2px),\n calc(90% - 2px) calc(72% - 2px),\n calc(86% - 2px) calc(75% - 2px),\n calc(14% + 2px) calc(75% - 2px),\n calc(10% + 2px) calc(72% - 2px),\n calc(10% + 2px) 100%,\n 100% 100%,\n 100% 0%\n );\n\n ${({ theme }) => theme.media.medium} {\n clip-path: polygon(\n 0% 0%,\n 0% 100%,\n calc(20% + 2px) 100%,\n calc(20% + 2px) calc(22% + 2px),\n calc(22% + 2px) calc(20% + 2px),\n calc(78% - 2px) calc(20% + 2px),\n calc(80% - 2px) calc(22% + 2px),\n calc(80% - 2px) calc(78% - 2px),\n calc(78% - 2px) calc(80% - 2px),\n calc(22% + 2px) calc(80% - 2px),\n calc(20% + 2px) calc(78% - 2px),\n calc(20% + 2px) 100%,\n 100% 100%,\n 100% 0%\n );\n }\n`\n\nexport const FaceScanAppContainer = styled.div`\n width: 100%;\n height: inherit;\n display: flex;\n justify-content: center;\n align-content: center;\n\n ellipse {\n stroke: transparent;\n }\n`\n","import styled, { css } from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { TFunction } from 'i18next'\n\nconst acceptButton = css`\n // padding: ${pxToEm(19)} ${pxToEm(16)};\n // width: fit-content;\n width: ${pxToEm(182)};\n height: ${pxToEm(56)};\n border-radius: ${pxToEm(50)};\n border: none;\n background: ${({ theme }) => theme.palette.primary.black[100]};\n color: ${({ theme }) => theme.palette.primary.white[100]};\n font: ${({ theme }) => theme.fonts.spanBold};\n margin: 0;\n`\n\nconst acceptButtonAfter = css`\n display: block;\n color: ${({ theme }) => theme.palette.primary.white[100]};\n`\n\nexport const TryAgainButton = styled.div`\n ${acceptButton};\n margin-bottom: ${pxToEm(32)};\n color: ${({ theme }) => theme.palette.primary.white[100]};\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n padding: 0px 20px;\n text-align: center;\n`\n\nexport const ButtonsContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n bottom: ${pxToEm(32)};\n justify-content: center;\n align-items: center;\n`\n\nexport const StyledDiv = styled.div<{ tFunc: TFunction }>`\n width: 45%;\n height: 40%;\n\n ${({ theme }) => theme.media.small} {\n width: 80%;\n height: 55%;\n }\n\n ${({ theme }) => theme.media.medium} {\n height: 60%;\n }\n\n &.frame-advisor-root-style {\n .frame-advisor-error-overlay,\n .upload-image-drop-zone-text,\n .upload-image-loading-text {\n display: none;\n }\n\n .upload-image-display-image-container,\n .upload-image-container {\n position: relative;\n }\n\n .upload-image-container,\n .upload-image {\n height: 100%;\n }\n\n .upload-image-container.button-wrapper {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n max-height: ${pxToEm(93)};\n background: ${({ theme }) => theme.palette.white[100]};\n box-shadow: 0 -${pxToEm(14)} ${pxToEm(10)} -${pxToEm(8)} rgba(0, 0, 0, 0.12);\n\n ${({ theme }) => theme.media.ipad['9.7']} {\n background: transparent;\n box-shadow: unset;\n max-height: ${pxToEm(25 + 93)};\n padding-bottom: ${pxToEm(25)};\n }\n }\n\n .upload-image-display-controls {\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n bottom: -110%;\n left: 50%;\n transform: translate(-50%, 0);\n\n ${({ theme }) => theme.media.small} {\n bottom: -50%;\n }\n }\n\n .upload-image-display-controls button {\n margin-bottom: ${pxToEm(16)};\n margin-top: 0;\n }\n\n .upload-image-display-controls .upload-image-display-decline {\n margin-bottom: ${pxToEm(40)};\n }\n\n .upload-image-display-accept {\n ${acceptButton};\n margin-bottom: ${pxToEm(32)};\n position: relative;\n color: ${({ theme }) => theme.palette.secondary.black[100]};\n cursor: pointer;\n\n &:after {\n content: '${({ tFunc }) => tFunc('picture-mode.ok-upload-cta') as string}';\n ${acceptButtonAfter};\n top: ${pxToEm(20)};\n left: ${pxToEm(48)};\n width: auto;\n white-space: nowrap;\n }\n }\n\n .upload-image-display-decline {\n visibility: hidden;\n position: relative;\n width: ${pxToEm(180)};\n font-size: 16px;\n cursor: pointer;\n\n &:after {\n content: '${({ tFunc }) => tFunc('picture-mode.select-another-picture') as string}';\n display: block;\n position: absolute;\n font: ${({ theme }) => theme.fonts.span};\n color: ${({ theme }) => theme.palette.black};\n visibility: visible;\n top: 0;\n left: ${pxToEm(22)};\n text-decoration: underline;\n white-space: nowrap;\n }\n }\n\n .upload-image-loading {\n backdrop-filter: none;\n transition: none;\n }\n\n .upload-image-loading.active {\n opacity: 1;\n background: ${({ theme }) => theme.palette.whiteSmoke};\n top: -1%;\n height: 110%;\n width: 110%;\n backdrop-filter: none;\n }\n\n .upload-image-loading .loading-bg {\n background: none;\n visibility: hidden;\n }\n\n .upload-image-container .upload-image #upload-image-drop-zone {\n ${acceptButton}\n &:after {\n content: '${({ tFunc }) => tFunc('picture-mode.ok-upload-cta') as string}';\n ${acceptButtonAfter};\n }\n }\n\n #upload-image-drop-zone {\n cursor: pointer;\n }\n\n img {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n height: 100%;\n transform: translate(-50%, -50%);\n object-fit: cover;\n }\n }\n`\n\nexport const StyledError = styled.div`\n margin: ${pxToEm(24)} 0 ${pxToEm(16)};\n text-align: center;\n`\n\nexport const ErrorLabel = styled.div`\n margin-top: ${pxToEm(16)};\n color: ${({ theme }) => theme.palette.pinkRed};\n font: ${({ theme }) => theme.fonts.paragraph};\n text-align: center;\n`\n\nexport const SeeInstructions = styled.div`\n text-decoration: underline;\n color: ${({ theme }) => theme.palette.black};\n font: ${({ theme }) => theme.fonts.span};\n cursor: pointer;\n`\n\nexport const StyledLink = styled.a`\n text-decoration: underline;\n font-weight: bold;\n cursor: pointer;\n`\n\nexport const PrivacyNotice = styled.div`\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n font: ${({ theme }) => theme.fonts.paragraphSmall};\n color: ${({ theme }) => theme.palette.black};\n opacity: 0.5;\n padding: ${pxToEm(12)} ${pxToEm(40)};\n text-align: center;\n\n ${({ theme }) => theme.media.medium} {\n padding: 0 ${pxToEm(155)} ${pxToEm(47)};\n }\n`\n","import React, { useCallback, useEffect, useState } from 'react'\nimport {\n FrameAdvisorCapture,\n FrameAdvisorRegion,\n FrameAdvisorResult,\n InitializeParameters,\n} from '@luxottica/frame-advisor-capture'\n\nimport { useNavigate } from 'react-router'\nimport { useDispatch } from 'react-redux'\nimport { useConfig } from '@providers/configProvider'\n\nimport { default as appConfig } from '@config/index'\nimport { pictureMode, pictureModeView, uploadInstructions } from '@utils/routes'\nimport { setPictureId } from '@utils/sessionStorage'\n\nimport { setVisibilityTermsConditionsModal, setVtoPage } from '@store/actions/ui'\nimport { fallbackLanguage } from '@utils/language'\n\nexport const UPLOAD_CONTAINER = 'vm-picture-upload'\n\nconst useUpload = (ref: React.MutableRefObject) => {\n const config = useConfig()\n const {\n store: { region },\n vmInit: { environment, source },\n locale = fallbackLanguage(config),\n } = config\n\n const navigate = useNavigate()\n const dispatch = useDispatch()\n\n const [isTipsVisible, setTipsVisible] = useState(false)\n const [loading, setLoading] = useState(true)\n const [isError, setIsError] = useState(false)\n\n const [fileUploadRef, setFileUploadRef] = useState(null)\n const [uploadCtaContainer, setUploadCtaContainer] = useState(null)\n\n const [isInvalidImage, setIsInvalidImage] = useState(false)\n const [isFileChange, setIsFileChange] = useState(false)\n\n const onFileChange = useCallback((e: Event) => {\n const files = (e.target as HTMLInputElement).files\n\n if (!!files?.length) {\n const file = files[0]\n const fileType = file.type\n let isValid = true\n\n if (fileType.includes('image')) {\n setIsFileChange(true)\n setTipsVisible(false)\n\n const fReader = new FileReader()\n fReader.onload = () => {\n const img = new Image()\n\n img.onload = function () {\n if (img.width < 540) isValid = false\n if (img.height < 720) isValid = false\n\n if (!isValid) {\n setIsInvalidImage(true)\n } else setIsInvalidImage(false)\n }\n\n img.src = fReader.result as string\n }\n\n fReader.readAsDataURL(file)\n }\n }\n }, [])\n\n const toggleTipsVisible = useCallback(() => {\n const image = document.querySelector('.upload-image-display')\n\n if (image) {\n setTipsVisible(false)\n } else {\n setTimeout(\n () => {\n setTipsVisible(true)\n setLoading(false)\n },\n loading ? 2000 : 0\n )\n }\n }, [loading])\n\n const fileUploader = () => {\n const fileUpload = document.querySelector('#upload-image-file')\n const ctaContainer = document.querySelector('.upload-image-display-controls')\n\n if (fileUpload) {\n setFileUploadRef(fileUpload)\n }\n\n if (ctaContainer) setUploadCtaContainer(ctaContainer)\n }\n\n const buttonWrapper = () => {\n const image = document.querySelector('.upload-image-display')\n const container = document.querySelector('.upload-image-container')\n const uploadDropZone = document.querySelector('#upload-image-drop-zone')\n\n if (uploadDropZone && !uploadDropZone.classList.contains('uploadDropZone')) {\n uploadDropZone.classList.add('vm__instruction-cta-ok')\n }\n\n if (!image) {\n container?.classList.add('button-wrapper')\n } else {\n container?.classList.remove('button-wrapper')\n }\n }\n\n const enableLoader = () => {\n const loadingActive = document.querySelector('.upload-image-loading.active')\n if (loadingActive) {\n setLoading(true)\n }\n }\n\n const observerCallback = useCallback(() => {\n fileUploader()\n toggleTipsVisible()\n enableLoader()\n buttonWrapper()\n }, [toggleTipsVisible])\n\n const closeFaCapture = useCallback(\n (onResCb?: () => void) => {\n FrameAdvisorCapture.close()\n dispatch(setVtoPage('off'))\n onResCb?.()\n },\n [dispatch]\n )\n\n const seeInstructions = () => {\n FrameAdvisorCapture.closeUploadImage()\n setTipsVisible(true)\n setIsError(false)\n setIsInvalidImage(false)\n renderUploadImage()\n }\n\n const seePrivacyPolicyModal = () => {\n dispatch(setVisibilityTermsConditionsModal(true))\n }\n\n const generateUploadInitParams = useCallback(() => {\n // Use any due to impossible to import InternalInitializeParameters type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const initOptions: InitializeParameters | any = {\n options: {\n locale: locale || 'en-US',\n environment: environment || appConfig.vmEnv,\n region: (region || 'US') as FrameAdvisorRegion,\n source: source,\n },\n callbacks: {\n onAdvisorResult: (result: FrameAdvisorResult) => {\n result && setPictureId(result.videoId || '')\n closeFaCapture()\n navigate(pictureMode(pictureModeView()), {\n state: { from: pictureMode(uploadInstructions()) },\n })\n },\n onCaptureError: () => {\n setLoading(false)\n setIsError(true)\n },\n },\n privacy: {\n termsAndConditions: 'javascript:void()',\n localizationText: 'javascript:void()',\n },\n }\n\n initOptions.auth = {\n accessToken: undefined,\n refreshToken: undefined,\n }\n return initOptions\n }, [locale, environment, region, source, closeFaCapture, navigate])\n\n const renderUploadImage = useCallback(() => {\n FrameAdvisorCapture.initialize(generateUploadInitParams())\n .then(initReturns => {\n if (!initReturns.isSupported) {\n // eslint-disable-next-line no-console\n console.error('The browser does not support a key feature for the experience')\n }\n FrameAdvisorCapture.uploadImage({\n target: UPLOAD_CONTAINER,\n options: {\n showLoading: false,\n enableVto: true,\n enableMachineLearning: false,\n },\n }).catch(error => {\n // eslint-disable-next-line no-console\n console.error({ error })\n })\n\n dispatch(setVtoPage('fa-upload'))\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(error)\n })\n }, [dispatch, generateUploadInitParams])\n\n useEffect(() => {\n renderUploadImage()\n }, [renderUploadImage])\n\n useEffect(() => {\n if (fileUploadRef) {\n fileUploadRef.addEventListener('change', onFileChange)\n\n return () => {\n fileUploadRef?.removeEventListener('change', onFileChange)\n }\n }\n }, [fileUploadRef, onFileChange])\n\n useEffect(() => {\n // we need to make sure that the FA container mutated before setting the style\n if (uploadCtaContainer) {\n uploadCtaContainer.style.display = isInvalidImage ? 'none' : ''\n }\n }, [isInvalidImage, uploadCtaContainer])\n\n useEffect(() => {\n if (isFileChange) {\n const timer = setTimeout(() => {\n setIsFileChange(false)\n }, 1000)\n\n return () => clearTimeout(timer)\n }\n }, [isFileChange])\n\n useEffect(() => {\n const observer = new MutationObserver(observerCallback)\n\n if (ref.current) {\n observer.observe(ref.current, { childList: true, subtree: true })\n }\n\n return () => {\n observer.disconnect()\n }\n }, [observerCallback, ref])\n\n return {\n isFileChange,\n isInvalidImage,\n isError,\n loading,\n isTipsVisible,\n closeFaCapture,\n seeInstructions,\n seePrivacyPolicyModal,\n }\n}\n\nexport { useUpload }\n","import React, { useEffect, useRef } from 'react'\nimport { BackButton } from '@components/core/BackButton'\n\nimport { Loader } from '@components/Loader'\nimport { useTranslation } from 'react-i18next'\nimport { AlertIcon } from '@components/core/Icons'\nimport {\n StyledDiv,\n ErrorLabel,\n ButtonsContainer,\n TryAgainButton,\n SeeInstructions,\n StyledError,\n StyledLink,\n PrivacyNotice,\n} from './styles'\nimport { trackPicktureUploadFail, useFromPage } from '@libs/analytics'\nimport { UPLOAD_CONTAINER, useUpload } from '@hooks/useUpload'\nimport { useConfig } from '@providers/configProvider'\n\ninterface UploadButtonProps {\n setTipsVisible: (value: boolean) => void\n}\n\nexport const UploadButton: React.FC = ({ setTipsVisible }) => {\n const { t } = useTranslation()\n const containerRef = useRef(null)\n\n const from = useFromPage()\n const {\n isTipsVisible,\n isError,\n loading,\n isInvalidImage,\n isFileChange,\n closeFaCapture,\n seeInstructions,\n seePrivacyPolicyModal,\n } = useUpload(containerRef)\n\n const { termsAndConditions, onTermsAndConditionsClick } = useConfig()\n\n const isLoading = loading || isFileChange\n\n useEffect(() => {\n if (isError) {\n trackPicktureUploadFail()\n }\n }, [isError])\n\n useEffect(() => {\n setTipsVisible(isTipsVisible)\n }, [isTipsVisible, setTipsVisible])\n\n function openTermsAndConditions() {\n window.open(termsAndConditions, '_blank')\n }\n\n const onPrivacyNoticeClick = () => {\n return onTermsAndConditionsClick\n ? onTermsAndConditionsClick\n : termsAndConditions\n ? openTermsAndConditions\n : seePrivacyPolicyModal\n }\n\n const wrapTextWithTag = (sentence: string, keyword: string) => {\n const parts = sentence.split(keyword)\n const wrappedSentence = (\n <>\n {parts[0]}\n {keyword}\n {parts[1]}\n >\n )\n return wrappedSentence\n }\n\n return (\n <>\n {isLoading && }\n {from && !isLoading && }\n\n \n {(isError || (isInvalidImage && !isLoading)) && (\n <>\n \n \n {isError && {t('picture-mode.picture-error')}}\n {isInvalidImage && {t('general.image-too-small')}}\n \n \n \n {t('picture-mode.try-again-cta')}\n \n \n {t('picture-mode.see-instructions-again')}\n \n \n >\n )}\n {!isLoading && !isError && !isTipsVisible && !isInvalidImage && (\n \n {wrapTextWithTag(\n t('picture-mode.upload-photo-disclaimer'),\n t('picture-mode.privacy-notice')\n )}\n {/* \n I accept\n {\n dispatch(setVisibilityTermsConditionsModal(true))\n }}\n >\n privacy notice\n \n */}\n \n )}\n >\n )\n}\n","import React, { useState } from 'react'\nimport { FaceShapeIcon, EyeglassesOffIcon, SunIcon, FocusIcon } from '@components/core/Icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n PictureModeEntryPageWraper,\n Title,\n TitleWrapper,\n ParagraphDescriptionCentered,\n TipUpload,\n IconWrapper,\n TipsWrapper,\n TipDescription,\n} from '../styles'\nimport { UploadButton } from './UploadButton'\n\nconst UPLOAD_TIPS = [\n { text: 'upload-a-picture-suggestion-1', icon: },\n { text: 'upload-a-picture-suggestion-2', icon: },\n { text: 'upload-a-picture-suggestion-3', icon: },\n { text: 'upload-a-picture-suggestion-4', icon: },\n]\n\nexport const UploadInstructions: React.FC = () => {\n const { t } = useTranslation()\n const [isTipsVisible, setTipsVisible] = useState(false)\n\n return (\n \n \n {t('general.upload-a-picture-cta')}\n \n {isTipsVisible && (\n <>\n \n {t('picture-mode.upload-a-picture-subtitle')}\n \n \n {UPLOAD_TIPS.map((tip, index) => (\n \n {tip.icon}\n {t(`picture-mode.${tip.text}`)}\n \n ))}\n \n >\n )}\n \n \n )\n}\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { CameraIcon, UploadIcon } from '@components/core/Icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n PictureModeEntryPageWraper,\n Title,\n TitleWrapper,\n PictureModeAction,\n ActionIconWrapper,\n ParagraphDescriptionCentered,\n} from './styles'\nimport { BackButton } from '@components/core/BackButton'\nimport { useLocation, useNavigate } from 'react-router'\nimport {\n pictureMode,\n uploadInstructions,\n takePictureInstructions,\n pictureModeView,\n} from '@utils/routes'\nimport { trackClickTakePicture, trackClickUploadPicture, useFromPage } from '@libs/analytics'\nimport { setPrivacyAcceptedCookie, isPrivacyCookieAcceptedFromFa } from '@utils/cookies'\nimport { useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { useConfig } from '@providers/configProvider'\nimport { getPictureId } from '@utils/sessionStorage'\n\nexport const PictureModeEntryPage: React.FC = () => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const from = useFromPage()\n const location = useLocation()\n const isPrivacyAccepted = useSelector((s: AppState) => s.privacyPolicy.isPrivacyAccepted)\n const { isUploadPictureEnabled, isTakePictureEnabled } = useConfig()\n const [isLoading, setIsLoading] = useState(true)\n\n useEffect(() => {\n if (isUploadPictureEnabled && isTakePictureEnabled) {\n return\n }\n\n if (isUploadPictureEnabled) {\n navigate(pictureMode(uploadInstructions()), { replace: true, state: { from } })\n }\n\n if (isTakePictureEnabled) {\n navigate(pictureMode(takePictureInstructions()), { replace: true, state: { from } })\n }\n }, [from, isTakePictureEnabled, isUploadPictureEnabled, navigate])\n\n useEffect(() => {\n if (isPrivacyAccepted && !isPrivacyCookieAcceptedFromFa()) {\n setPrivacyAcceptedCookie()\n }\n }, [isPrivacyAccepted])\n\n const onTakePicture = useCallback(() => {\n trackClickTakePicture()\n navigate(pictureMode(takePictureInstructions()), { state: { from: location.pathname } })\n }, [location, navigate])\n\n const onUploadPicture = useCallback(() => {\n trackClickUploadPicture()\n navigate(pictureMode(uploadInstructions()), { state: { from: location.pathname } })\n }, [location, navigate])\n\n useEffect(() => {\n const pictureId = getPictureId()\n if (pictureId) {\n navigate(pictureMode(pictureModeView()), {\n state: { from: pictureMode(uploadInstructions()) },\n })\n }\n setIsLoading(false)\n }, [navigate])\n\n if (isLoading) {\n return null\n }\n\n return (\n <>\n {from && }\n \n \n {t('general.picture-mode')}\n \n {t('picture-mode.subtitle')}\n \n \n \n \n \n {t('general.take-a-picture-cta')}\n \n \n \n \n \n \n \n {t('general.upload-a-picture-cta')}\n \n \n \n >\n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled, { css } from 'styled-components'\n\nconst centeredFlexColumn = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n`\n\nexport const PictureModeEntryPageWraper = styled.div`\n ${centeredFlexColumn}\n overflow: auto;\n width: 100%;\n height: 100%;\n color: ${({ theme }) => theme.palette.black};\n background: ${({ theme }) => theme.palette.whiteSmoke};\n padding: ${pxToEm(82)} ${pxToEm(24)} ${pxToEm(93)};\n ${({ theme }) => theme.media.medium} {\n overflow: unset;\n padding: ${pxToEm(80)} ${pxToEm(64)} ${pxToEm(93)};\n }\n ${({ theme }) => theme.media.large} {\n overflow: auto;\n padding: ${pxToEm(90)} ${pxToEm(48)} ${pxToEm(93)};\n }\n`\n\nexport const TitleWrapper = styled.div`\n margin-bottom: ${pxToEm(24)};\n ${({ theme }) => theme.media.medium} {\n margin-bottom: ${pxToEm(32)};\n margin-top: ${pxToEm(-40)};\n }\n`\n\nexport const Title = styled.h1`\n text-align: center;\n font: ${({ theme }) => theme.fonts.heading};\n font-size: ${pxToEm(20)};\n margin: 0;\n ${({ theme }) => theme.media.medium} {\n font-size: ${pxToEm(32)};\n }\n`\n\nexport const PictureModeAction = styled.div`\n ${centeredFlexColumn}\n margin-top: ${pxToEm(40)};\n ${({ theme }) => theme.media.medium} {\n margin-top: ${pxToEm(64)};\n }\n`\n\nexport const ActionIconWrapper = styled.div`\n width: ${pxToEm(80)};\n height: ${pxToEm(80)};\n box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);\n background-color: var(--vm-components-action-photo-bg);\n border-radius: 50%;\n margin-bottom: ${pxToEm(16)};\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n svg,\n path {\n fill: var(--vm-components-action-photo-fill);\n }\n`\n\nexport const ParagraphDescription = styled.p`\n font: ${({ theme }) => theme.fonts.paragraph};\n`\n\nexport const ParagraphDescriptionCentered = styled(ParagraphDescription)`\n font: ${({ theme }) => theme.fonts.paragraph};\n text-align: center;\n margin: 0;\n`\n\nexport const TipsWrapper = styled.div`\n margin-bottom: ${pxToEm(20)};\n display: flex;\n flex-direction: column;\n`\n\nexport const TipUpload = styled.div`\n display: flex;\n align-items: center;\n margin-top: ${pxToEm(24)};\n\n ${({ theme }) => theme.media.medium} {\n margin-top: ${pxToEm(32)};\n }\n`\n\nexport const TipTake = styled.div`\n display: flex;\n align-items: center;\n margin-top: ${pxToEm(14)};\n\n ${({ theme }) => theme.media.medium} {\n margin-top: ${pxToEm(32)};\n }\n`\n\nexport const IconWrapper = styled.div`\n width: ${pxToEm(59.1)};\n height: ${pxToEm(60)};\n border: 1px solid ${({ theme }) => theme.palette.black};\n border-radius: 50%;\n margin-right: ${pxToEm(24)};\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: ${pxToEm(50)};\n\n ${({ theme }) => theme.media.medium} {\n width: ${pxToEm(60)};\n height: ${pxToEm(60)};\n min-width: ${pxToEm(60)};\n }\n`\n\nexport const TipDescription = styled.p`\n flex: 1;\n font: ${({ theme }) => theme.fonts.span};\n word-wrap: break-word;\n max-width: ${pxToEm(300)};\n margin: 0;\n\n ${({ theme }) => theme.media.medium} {\n font: ${({ theme }) => theme.fonts.paragraph};\n }\n`\n","import { Button } from '@components/core/Button'\nimport styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { resetButtonStyles } from '@components/Menu/styles'\n\nexport const Title = styled.h2`\n font: ${({ theme }) => theme.fonts.title};\n margin-bottom: ${pxToEm(40)};\n margin-top: ${pxToEm(15)};\n\n ${({ theme }) => theme.media.medium} {\n margin-top: ${pxToEm(30)};\n }\n`\n\nexport const ErrorMessage = styled.p`\n font: ${({ theme }) => theme.fonts.paragraph};\n color: ${({ theme }) => theme.palette.pinkRed};\n text-align: center;\n margin: ${pxToEm(5)} auto;\n max-width: ${pxToEm(300)};\n`\n\nexport const ConfirmButton = styled(Button)`\n margin-top: auto;\n padding: 0 ${pxToEm(29)};\n height: ${pxToEm(56)};\n border-radius: ${pxToEm(50)};\n background: ${({ theme }) => theme.palette.black};\n margin-bottom: ${pxToEm(15)};\n white-space: nowrap;\n`\n\nexport const SeeInstructions = styled.button`\n ${resetButtonStyles}\n text-decoration: underline;\n color: ${({ theme }) => theme.palette.black};\n font: ${({ theme }) => theme.fonts.span};\n`\n\nexport const PictureVideoErrorWrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: ${pxToEm(25)};\n height: 100%;\n background-color: var(--vm-primary-white-100);\n\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(50)};\n }\n`\n","import { BackButton } from '@components/core/BackButton'\nimport { AlertIcon } from '@components/core/Icons'\nimport { useCallback } from 'react'\nimport { useNavigate } from 'react-router'\nimport { useQueryParams } from '@hooks/useQueryParams'\nimport { pictureMode, videoMode } from '@utils/routes'\nimport { useTranslation } from 'react-i18next'\nimport {\n Title,\n ErrorMessage,\n ConfirmButton,\n SeeInstructions,\n PictureVideoErrorWrapper,\n} from './styles'\n\nconst getSource = (from: string | null) => {\n switch (from) {\n case videoMode():\n return {\n takeNew: 'general.take-a-new-video',\n errorMessage: 'MIRROR.UI.VIDEO_DOESNT_FULFILL_REQUIREMENTS',\n }\n case pictureMode():\n return {\n takeNew: 'general.take-a-new-picture',\n errorMessage: 'picture-mode.picture-error',\n }\n default:\n return {\n takeNew: 'general.take-a-new-picture',\n errorMessage: 'picture-mode.picture-error',\n }\n }\n}\n\nexport const PictureVideoError: React.FC = () => {\n const navigate = useNavigate()\n const queryParams = useQueryParams()\n const { t } = useTranslation()\n\n const from = queryParams.get('from')\n const { takeNew, errorMessage } = getSource(from)\n\n const tryAgain = useCallback(() => {\n // go back 1 step to scan again\n navigate(-1)\n }, [navigate])\n\n const seeInstructions = useCallback(() => {\n // go back 2 step to see instruction\n // this will not remove the route state w/c state: { from: fromPath }\n navigate(-2)\n }, [navigate])\n\n return (\n <>\n \n \n {t('CORE.RENDER_ERROR.TITLE_1')}\n \n {t(`${errorMessage}`)}\n {t(`${takeNew}`)}\n \n {t('picture-mode.see-instructions-again')}\n \n \n >\n )\n}\n","import React from 'react'\nimport { useLocation } from 'react-router'\n\nexport const useQueryParams = () => {\n const { search } = useLocation()\n return React.useMemo(() => new URLSearchParams(search), [search])\n}\n","import { Navigate } from 'react-router'\nimport { privacyPolicy } from '@utils/routes'\nimport { useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\n\ninterface ProtectedRouteProps {\n children: React.ReactNode\n}\nconst ProtectedRoute: React.FC = ({ children }) => {\n const isPrivacyAccepted = useSelector((s: AppState) => s.privacyPolicy.isPrivacyAccepted)\n if (!isPrivacyAccepted) {\n return \n }\n return <>{children}>\n}\n\nexport default ProtectedRoute\n","import ApiService from './apiService'\nimport config from '@config/index'\nimport { VMData, VmHashData } from '@customTypes/vmData'\n\nconst apiService = new ApiService(config.vmApiUrl)\n\nclass VMApiService {\n private api: ApiService\n constructor(api: ApiService) {\n this.api = api\n }\n\n public generateHash = (data: VMData) => {\n return this.api.post('/api/virtualmirror', data)\n }\n}\n\nexport const vmApiService = new VMApiService(apiService)\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const StyledQRCode = styled.div<{ size: number; url: string }>`\n margin: 0 auto;\n height: ${({ size }) => pxToEm(size)};\n width: ${({ size }) => pxToEm(size)};\n background-color: ${({ theme }) => theme.palette.whiteSmoke};\n animation-name: ${({ url }) => (url ? 'none' : 'color')};\n animation-duration: 0.5s;\n animation-iteration-count: infinite;\n animation-timing-function: ease-in-out;\n animation-direction: alternate;\n border-radius: ${pxToEm(20)};\n\n @keyframes color {\n 0% {\n background-color: ${({ theme }) => theme.palette.whiteSmoke};\n }\n 100% {\n background-color: ${({ theme }) => theme.palette.whiteSmoke};\n }\n }\n\n canvas {\n border-radius: ${pxToEm(20)};\n }\n`\n","import {\n Boolean,\n Number,\n String,\n Literal,\n Array,\n Record,\n Union,\n Undefined,\n Optional,\n Null,\n} from 'runtypes'\n\nconst Analytics = Record({\n adobeSessionId: Optional(Union(String, Undefined)),\n pagePlatform: Optional(Union(String, Undefined)),\n pageBrand: Optional(Union(String, Undefined)),\n storeId: Optional(Union(String, Undefined)),\n sourcePosition: Optional(Union(String, Undefined)),\n pageEnvironment: Optional(Union(String, Undefined)),\n storeRegion: Optional(Union(String, Undefined)),\n storeCompany: Optional(Union(String, Undefined)),\n storeGlobalId: Optional(Union(String, Undefined)),\n source: Optional(Union(String, Undefined)),\n style: Optional(Union(String, Undefined)),\n})\n\nconst AvailableColor = Union(\n Literal('SIGNATURE-GEN8-AMBER'),\n Literal('SIGNATURE-GEN8-AMETHYST'),\n Literal('SIGNATURE-GEN8-BROWN'),\n Literal('SIGNATURE-GEN8-EMERALD'),\n Literal('SIGNATURE-GEN8-GRAY'),\n Literal('SIGNATURE-GEN8-GGREEN'),\n Literal('SIGNATURE-GEN8-SAPPHIRE'),\n Literal('XTRACTIVE-NEWGEN-BROWN'),\n Literal('XTRACTIVE-NEWGEN-GRAY'),\n Literal('XTRACTIVE-NEWGEN-GREEN'),\n Literal('XTRACTIVE-NEWGEN-GGREEN'),\n Literal('XTRACTIVE-GOLD-MIRROR'),\n Literal('XTRACTIVE-PINK-MIRROR'),\n Literal('XTRACTIVE-SILVER-MIRROR'),\n Literal('XTRACTIVE-RED-MIRROR'),\n Literal('XTRACTIVE-NEWGEN-GREEN-MIRROR'),\n Literal('XTRACTIVE-NEWGEN-BLUE-MIRROR'),\n Literal('XTRACTIVE-VANTAGE-POLARIZED'),\n Literal('SIGNATURE-GRAY'),\n Literal('SIGNATURE-BROWN'),\n Literal('SIGNATURE-GREEN'),\n Literal('SIGNATURE-SAPPHIRE'),\n Literal('SIGNATURE-AMETHYST'),\n Literal('SIGNATURE-EMERALD'),\n Literal('SIGNATURE-AMBER'),\n Literal('XTRACTIVE-GRAY'),\n Literal('XTRACTIVE-BROWN'),\n Literal('XTRACTIVE-GREEN'),\n Literal('0835C'),\n Literal('0834C'),\n Literal('0836C'),\n Literal('0838C'),\n Literal('0837C'),\n Literal('XTRACTIVE-POL-GRAY')\n)\n\nconst Brand = Record({\n name: String,\n logoUrl: String,\n})\n\nconst TransitionLens = Record({\n isEvolve: Optional(Boolean),\n defaultColor: Optional(String),\n defaultType: Optional(String),\n defaultAlphaLevel: Optional(Number),\n availableColors: Array(AvailableColor),\n})\n\nconst Product = Record({\n upc: String,\n code: String,\n name: String,\n colorCode: String,\n thumbnailUrl: String,\n brand: Brand,\n lensColorLabel: Optional(String),\n frameColorLabel: Optional(String),\n styleName: Optional(String),\n size: Optional(String),\n category: Optional(String),\n isCustom: Optional(Boolean),\n isTransition: Optional(Boolean),\n transitionLens: Optional(TransitionLens),\n})\n\nconst Store = Record({\n id: String,\n storeId: String,\n type: String,\n name: Optional(String),\n address: Optional(String),\n standAlone: Optional(Boolean),\n region: Optional(String),\n countryId: Optional(String),\n globalStoreId: Optional(String),\n})\n\nconst VtoMode = Record({\n isTryOnEnabled: Boolean,\n})\n\nexport const VMData = Record({\n store: Store,\n style: String,\n products: Array(Product),\n analytics: Analytics,\n glassesEnv: Optional(Union(String, Undefined, Null)),\n vmmvModes: Optional(VtoMode),\n})\n","import { useAsync } from '@hooks/useAsync'\nimport QRCodeStyling from 'qr-code-styling'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { vmApiService } from '@services/vmApiService'\nimport config from '@config/index'\nimport { StyledQRCode } from './styles'\nimport { useConfig } from '@providers/configProvider'\nimport { VMData } from 'src/schemas/vmData'\nimport { Product } from '@customTypes/product'\nimport { AppState } from '@store/index'\nimport { useSelector } from 'react-redux'\n\nexport interface QRCodeProps {\n size?: number\n className?: string\n}\n\nexport const QRCode: React.FC = ({ size = 160 }) => {\n const ref = useRef(null)\n const { store, style, analytics, fromStore, vmInit, products, isTryOnEnabled } = useConfig()\n const { run, data } = useAsync(vmApiService.generateHash)\n const vmProducts: Product[] = useSelector((s: AppState) => s.products.vmProducts)\n\n const vmData = useMemo(\n () => ({\n store,\n style,\n products: vmProducts.length ? vmProducts : products,\n analytics,\n glassesEnv: vmInit.glassesEnv,\n vmmvModes: { isTryOnEnabled: isTryOnEnabled || false },\n }),\n [store, style, vmProducts, products, analytics, vmInit.glassesEnv, isTryOnEnabled]\n )\n\n const validateVMData = useCallback(() => {\n try {\n VMData.check(vmData)\n } catch (error) {\n throw new Error(\n 'Request payload data does not match the expected type. Check VMData and try again.'\n )\n }\n }, [vmData])\n\n useEffect(() => {\n if (!data) {\n validateVMData()\n run(vmData)\n }\n }, [data, run, validateVMData, vmData])\n\n const qrCode = useMemo(\n () =>\n new QRCodeStyling({\n width: size,\n height: size,\n qrOptions: {\n mode: 'Byte',\n errorCorrectionLevel: 'L',\n },\n dotsOptions: {\n type: 'square',\n color: '#000000',\n },\n cornersDotOptions: {\n type: 'square',\n color: '#000000',\n },\n cornersSquareOptions: {\n type: 'square',\n color: '#000000',\n },\n }),\n [size]\n )\n const url = `${config.vmUrl}?hash=${encodeURIComponent(data?.hash || '')}&fromStore=${fromStore}`\n useEffect(() => {\n if (ref.current) {\n qrCode.append(ref.current)\n }\n }, [qrCode])\n\n useEffect(() => {\n qrCode.update({\n data: data?.hash ? url : '',\n width: size,\n height: size,\n })\n }, [size, qrCode, data, url])\n\n return (\n \n \n \n )\n}\n","import { Provider } from 'react-redux'\nimport { ThemeProvider } from 'styled-components'\nimport { Config } from '../types/config'\nimport { store } from '../store'\nimport { theme } from '../theme'\nimport { ErrorBoundary } from '@components/ErrorBoundary'\nimport { ConfigContext } from '@providers/configProvider'\nimport { QRCode } from '@components/QRCodeModal/QRCode'\n\ntype QrCodeUiProps = { config: Config }\n\nexport const QrCodeUi = (props: QrCodeUiProps) => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\nimport { resetButtonStyles } from '@components/Menu/styles'\n\nexport const RightSideActionsWrapper = styled.div`\n position: absolute;\n top: ${pxToEm(70)};\n right: ${pxToEm(14)};\n bottom: ${pxToEm(110)};\n display: flex;\n flex-direction: column;\n z-index: 1;\n min-width: ${pxToEm(32)};\n\n ${({ theme }) => theme.media.medium} {\n right: ${pxToEm(22)};\n }\n\n .transitions-simulation-slider-wrapper {\n &.vmmv-single-right-action {\n position: absolute;\n top: 23%;\n width: 100%;\n }\n }\n\n ${({ theme }) => theme.media.ipad['9.7']}, ${({ theme }) => theme.media.ipad['11']}, ${({\n theme,\n }) => theme.media.ipad['12.9']} {\n .transitions-simulation-slider-wrapper {\n position: absolute;\n top: 23%;\n width: 100%;\n }\n }\n`\n\nexport const ActionBtn = styled.button`\n ${resetButtonStyles}\n cursor: pointer;\n margin-bottom: ${pxToEm(35)};\n`\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const WishlistFilledIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = 'none',\n stroke = '#fff',\n}) => {\n return (\n \n )\n}\n","import { ActionBtn } from '@components/RightSIdeActions/styles'\nimport { useConfig } from '@providers/configProvider'\nimport { Product } from '@customTypes/product'\nimport { WishlistIcon } from '@components/core/Icons'\nimport { WishlistFilledIcon } from '@components/core/Icons/WishlistFilledIcon'\nimport { useWishlist } from '@hooks/useWishlist'\nimport { useAddToWishlist } from '@libs/analytics'\n\ninterface WishlistProps {\n currentProduct: Product\n}\n\nexport const Wishlist: React.FC = ({ currentProduct }) => {\n const { onToggleWishlist } = useConfig()\n const { wishlisted, toggleWishlist, pending } = useWishlist(currentProduct)\n const trackAddToWishlist = useAddToWishlist(currentProduct)\n\n const handleToggleWishlist = () => {\n toggleWishlist()\n !wishlisted && trackAddToWishlist()\n }\n\n if (!onToggleWishlist) return null\n\n return (\n \n {wishlisted ? (\n \n ) : (\n \n )}\n \n )\n}\n","import { Product } from '@customTypes/product'\nimport { useConfig } from '@providers/configProvider'\nimport { AppState } from '@store/index'\nimport { useCallback, useMemo, useState } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { toggleWishlist as toggleWishlistAction } from '@store/actions/wishlist'\n\nexport const useWishlist = (currentProduct: Product) => {\n const { onToggleWishlist } = useConfig()\n const dispatch = useDispatch()\n const [pending, setPending] = useState(false)\n\n const wishlist = useSelector((s: AppState) => s.wishlist.wishlist)\n const wishlisted = useMemo(\n () => wishlist.includes(currentProduct.upc),\n [currentProduct.upc, wishlist]\n )\n\n const toggleWishlist = useCallback(async () => {\n try {\n setPending(true)\n onToggleWishlist && (await onToggleWishlist(currentProduct))\n dispatch(toggleWishlistAction(currentProduct.upc))\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e)\n } finally {\n setPending(false)\n }\n }, [currentProduct, dispatch, onToggleWishlist, setPending])\n\n return {\n toggleWishlist,\n wishlist,\n wishlisted,\n pending,\n }\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const Wrapper = styled.div`\n position: relative;\n`\n\nexport const SliderWrapper = styled.div<{ isEvolve: boolean }>`\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: ${({ isEvolve }) => (isEvolve ? pxToEm(176) : pxToEm(194))};\n\n ${({ theme }) => theme.media.medium} {\n height: ${pxToEm(244)};\n }\n\n ${({ theme }) => theme.media.large} {\n height: ${pxToEm(300)};\n }\n\n ${({ theme }) => theme.media.ipad['9.7']} {\n height: ${pxToEm(350)};\n }\n\n ${({ theme }) => theme.media.ipad['11']} {\n height: ${pxToEm(380)};\n }\n\n ${({ theme }) => theme.media.ipad['12.9']} {\n height: ${pxToEm(400)};\n }\n\n @media only screen and (max-height: 655px) and (min-width: 1024px) {\n height: 35vh;\n }\n\n svg {\n &:first-child {\n margin-bottom: ${pxToEm(10)};\n }\n &:last-child {\n margin-top: ${pxToEm(10)};\n margin-bottom: ${pxToEm(15)};\n }\n }\n`\n\nexport const RangeTrackStyled = styled.div`\n display: flex;\n height: 100%;\n`\n\nexport const RangeTrackSelectedStyled = styled.div`\n height: 100%;\n width: ${pxToEm(2)};\n border-radius: ${pxToEm(5)};\n align-self: center;\n background-color: ${({ theme }) => theme.palette.white[100]};\n box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.35);\n`\n\nexport const RangeThumbStyled = styled.div`\n height: ${pxToEm(20)};\n width: ${pxToEm(20)};\n position: relative;\n padding: ${pxToEm(30)};\n outline: none;\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n border-radius: 50%;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &::before {\n height: ${pxToEm(14)};\n width: ${pxToEm(14)};\n background-color: ${({ theme }) => theme.palette.white[100]};\n }\n\n &::after {\n height: ${pxToEm(22)};\n width: ${pxToEm(22)};\n background-color: transparent;\n border: 2px solid ${({ theme }) => theme.palette.white[100]};\n }\n`\n\nexport const LabelStyled = styled.span`\n position: absolute;\n bottom: ${pxToEm(-29)};\n right: ${pxToEm(10)};\n color: ${({ theme }) => theme.palette.white[100]};\n font: ${({ theme }) => theme.fonts.span};\n white-space: nowrap;\n`\n","import { LightIcon, LightLessIcon } from '@components/core/Icons'\nimport { useAnimation } from '@hooks/useAnimationApp'\nimport { useInterval } from '@hooks/useInterval'\nimport { trackClickBrightnessBar } from '@libs/analytics'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { Range, Direction } from 'react-range'\nimport {\n Wrapper,\n SliderWrapper,\n RangeThumbStyled,\n RangeTrackStyled,\n RangeTrackSelectedStyled,\n LabelStyled,\n} from './styles'\nimport { useVM } from '@providers/VmProvider'\n\ninterface LensActivationProps {\n isEvolve: boolean\n}\n\nconst MIN_VALUE = 0\nconst MAX_VALUE = 1\nconst STEP_VALUE = 0.1\n\nconst Label: React.FC = () => {\n const labelRef = useRef(null)\n\n useEffect(() => {\n setTimeout(() => {\n if (labelRef.current?.style) {\n labelRef.current.style.opacity = '0'\n }\n }, 3000)\n }, [])\n\n const { t } = useTranslation()\n return (\n \n {t('transitions.change-brightness')}\n \n )\n}\n\nconst LensActivationWithoutAnimation: React.FC = ({ isEvolve }) => {\n const { lensActivation: opacity, setLensActivation: onChangeLensOpacity } = useVM()\n\n const changeLensOpacity = useCallback(\n (numbers: number[]) => {\n onChangeLensOpacity(numbers[0])\n trackClickBrightnessBar()\n },\n [onChangeLensOpacity]\n )\n\n return (\n \n \n \n (\n \n {children}\n \n )}\n renderThumb={({ props }) => }\n />\n \n \n \n \n )\n}\n\n// Due to requirements animation time should be 4s.\n// Change 40 times per 4s, so every 100ms should execute 1 action\n// Change opacity from 1->0 and 0->1\n// Step = 1 / 40 = 0.025\nconst OPACITY_STEP = 0.025\nconst INTERVAL = 100\n\nexport const LensActivation: React.FC = props => {\n const { lensActivation: opacity, setLensActivation: onChangeLensOpacity } = useVM()\n const [animationName, setAnimationName] = useState<'increase' | 'decrease' | null>(null)\n\n const decreaseOpacity = useCallback(() => {\n setAnimationName('decrease')\n }, [])\n\n const onEnd = useCallback(() => {\n setAnimationName(null)\n }, [])\n\n const increaseOpacity = useCallback(() => {\n setAnimationName('increase')\n }, [])\n\n useAnimation(opacity === 1, opacity === 0, decreaseOpacity, onEnd, 'decreaseOpacity', 0)\n useAnimation(opacity === 0, opacity === 1, increaseOpacity, onEnd, 'increaseOpacity', 0)\n\n useInterval(() => {\n if (opacity === 0 || animationName !== 'decrease') return\n const nextOpacity = opacity - OPACITY_STEP >= 0 ? opacity - OPACITY_STEP : 0\n onChangeLensOpacity(nextOpacity)\n }, INTERVAL)\n\n useInterval(() => {\n if (opacity === 1 || animationName !== 'increase') return\n const nextOpacity = opacity + OPACITY_STEP <= 1 ? opacity + OPACITY_STEP : 1\n onChangeLensOpacity(nextOpacity)\n }, INTERVAL)\n\n return \n}\n","import { QRCodeIcon, RefreshIcon } from '@components/core/Icons'\nimport { Product } from '@customTypes/product'\nimport { isMobileView } from '@libs/utils'\nimport { useConfig } from '@providers/configProvider'\nimport { RightSideActionsWrapper, ActionBtn } from './styles'\nimport { Wishlist } from '@components/Wishlist'\nimport { LensActivation } from '@components/LensActivation'\nimport { useMemo } from 'react'\nimport { useVM } from '@providers/VmProvider'\n\ninterface RightSideActionsProps {\n product: Product\n className?: string\n onRefresh?: () => void\n enableWishlistCb?: boolean\n onQRCb?: () => void\n}\n\nexport const RightSideActions: React.FC = ({\n className,\n onRefresh,\n product,\n enableWishlistCb,\n onQRCb,\n}) => {\n const { currentProduct, isTransitionActive, isConfigurator, currentColor } = useVM()\n const isTransition = currentProduct?.isTransition || false\n const isEvolve = currentProduct?.transitionLens?.isEvolve || false\n\n const { isQrCodeEnabled, onToggleWishlist } = useConfig()\n\n const isShowFavToggle = enableWishlistCb && !!onToggleWishlist\n const isShowRefresh = !!onRefresh\n const isShowQR = isQrCodeEnabled && !isMobileView() && !!onQRCb\n\n const showTransitionsSlider =\n (isConfigurator && currentColor) || (isTransition && (isTransitionActive || isEvolve))\n\n const ctaCnt = useMemo(() => {\n let cnt = 0\n if (isShowFavToggle) cnt++\n if (isShowRefresh) cnt++\n if (isShowQR) cnt++\n\n return cnt\n }, [isShowFavToggle, isShowQR, isShowRefresh])\n\n return (\n \n {isShowFavToggle && }\n {onRefresh && (\n \n \n \n )}\n {isShowQR && (\n \n \n \n )}\n {showTransitionsSlider && (\n \n \n
\n )}\n \n )\n}\n","const colorMap: Record = {\n sunglasshut: '#000',\n sgh: '#000',\n to: '#222',\n lc: '#000',\n opsm: '#2a2f57',\n oo: '#2a2f57',\n rb: '#2a2f57',\n sv: '#2a2f57',\n mk: 'rgba(42, 47, 88, .6)',\n avenir: 'rgba(42, 47, 88, .6)',\n m4c: 'rgba(42, 47, 88, .6)',\n}\n\nexport const getColorFromStyle = (style: string) => ({\n infoColor: colorMap[style] || '#000',\n})\n","/* eslint-disable quotes */\nconst fontMap: Record = {\n sgh: 'HelveticaNeue',\n sunglasshut: 'HelveticaNeue',\n oo: 'Avenir, sans-serif',\n rb: 'Avenir, sans-serif',\n sv: 'Avenir, sans-serif',\n to: \"'HelveticaNeueforTarget-Rm', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica Neue', Helvetica, Arial, sans-serif\",\n lc: 'sofia-pro, sans-serif',\n opsm: 'Avenir, sans-serif',\n m4c: 'Montserrat',\n mk: 'Gotham',\n avenir: 'Avenir, sans-serif',\n}\n\nexport const getFontFromStyle = (style: string) => fontMap[style] || 'sans-serif'\n\nexport const getDefaultFont = () => 'sans-serif'\n","import { Product, Brand } from '@customTypes/product'\nimport { Store } from '@customTypes/store'\nimport { Screenshot } from '@customTypes/screenshot'\nimport { getColorFromStyle } from './getColorFromStyle'\nimport { getFontFromStyle } from './getFontFromStyle'\nimport { isMobileView, isSmallMobileView } from './utils'\n\nimport rb from '../assets/rb-logo.svg'\nimport mk from '../assets/mk-logo.svg'\nimport oo from '../assets/oo-logo.svg'\nimport opsm from '../assets/opsm-logo.svg'\nimport sgh from '../assets/sgh-logo.svg'\nimport sv from '../assets/sv-logo.svg'\nimport to from '../assets/to-logo.svg'\nimport { LAYOUT_ID } from '@hooks/useDimensions'\n\nexport const getDefaultLogoPath = (code: string): string => {\n const logos: Record = {\n rb,\n mk,\n oo,\n opsm,\n sgh,\n sv,\n to,\n }\n return logos[code]\n}\n\nexport const getNoCacheBrandUrl = (style: string, brand: Brand, standAlone?: boolean) => {\n return ['sv', 'rb', 'sgh', 'oo', 'to', 'mk', 'opsm', 'lc'].includes(style) && !standAlone\n ? getDefaultLogoPath(style)\n : brand.logoUrl\n}\n\nexport const IMAGE_TYPE = 'image/jpeg'\nexport const IMAGE_QUALITY = 0.95\n\nconst createImage = (src: string): Promise => {\n return new Promise(function (resolve, reject) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n img.onload = () => resolve(img)\n img.onerror = reject\n img.src = src\n })\n}\n\ntype Line = {\n content: string\n x: number\n y: number\n}\n\nfunction wrapText(\n context: CanvasRenderingContext2D,\n text: string,\n x: number,\n y: number,\n maxWidth: number,\n lineHeight: number\n) {\n let lines: Line[] = []\n let words = text.split(' '),\n line = ''\n\n for (let i = 0; i < words.length; i++) {\n let test = words[i]\n let metrics = context.measureText(test)\n\n while (metrics.width > maxWidth) {\n // Determine how much of the word will fit\n test = test.substring(0, test.length - 1)\n metrics = context.measureText(test)\n }\n if (words[i] != test) {\n words.splice(i + 1, 0, words[i].substr(test.length))\n words[i] = test\n }\n\n test = line + words[i] + ' '\n metrics = context.measureText(test)\n\n if (metrics.width > maxWidth && i > 0) {\n lines = lines.concat({ content: line, x, y })\n line = words[i] + ' '\n y += lineHeight\n } else {\n line = test\n }\n }\n lines = lines.concat({ content: line, x, y })\n return lines\n}\n\nexport const createScreenshotCanvas = async (\n screenshot: Screenshot,\n product: Product,\n style: string,\n store?: Store,\n isMonobrand?: boolean\n): Promise => {\n const { thumbnailUrl, brand, name, alternativeThumbnailUrl } = product\n const font = getFontFromStyle(style)\n const { infoColor } = getColorFromStyle(style)\n const standAloneStore = store && store.standAlone\n const hasTemplateStyle = store && store.logo\n const noCacheBrandUrl = getNoCacheBrandUrl(style, brand, standAloneStore)\n const brandLogoUrl = hasTemplateStyle && store.logo ? store.logo : noCacheBrandUrl\n\n const brandName = !isMonobrand ? `${product.brand.name}\\n` : ''\n const productURL = alternativeThumbnailUrl || thumbnailUrl\n\n const [brandLogoEl, thumbnailEl, screenshotEl] = await Promise.all(\n [brandLogoUrl, productURL, screenshot.imgURI].map(createImage)\n )\n\n const container = document.getElementById(LAYOUT_ID)\n\n if (container !== null) {\n // set the size of the screenshot based on its container\n screenshotEl.width = container.offsetWidth\n screenshotEl.height = container.offsetHeight\n screenshotEl.style.objectFit = 'cover'\n screenshotEl.style.position = 'center'\n }\n\n const baseWidth = screenshotEl.width\n const canvasW = baseWidth\n const canvasH = screenshotEl.height\n const screenshotX = 0\n const screenshotY = 0\n const screenshotW = canvasW\n const screenshotH = canvasH\n\n // ******** CONSTANTS ******** //\n const padding = isMobileView() ? 16 : 24\n const modelNamePadding = isSmallMobileView() ? padding * 1.5 : padding * 2\n\n // wrapper\n const realWrapperWidth = baseWidth - padding * 2\n const realWrapperHeight = canvasH * 0.2\n\n const textH = realWrapperHeight * 0.16\n\n const cvs = document.createElement('canvas')\n\n cvs.width = canvasW\n cvs.height = canvasH\n\n const ctx = cvs.getContext('2d')\n\n if (ctx === null) throw new Error('2d canvas context non supported')\n\n ctx.textBaseline = 'top'\n\n // Background\n ctx.fillStyle = 'white'\n\n ctx.fillRect(0, 0, canvasW, canvasH)\n ctx.drawImage(screenshotEl, screenshotX, screenshotY, screenshotW, screenshotH)\n\n const modelNameFontSize = realWrapperHeight * 0.12 // safari doesn't support \"rem\" font in canvas\n const modelInfoFontSize = realWrapperHeight * 0.1\n\n // Brand Logo\n let brandDrawWidth = brandLogoEl.width\n let brandDrawHeight = brandLogoEl.height\n const brandLogoContainer = realWrapperHeight * 0.45\n const brandLogoHeight = brandLogoContainer - padding\n\n if (brandDrawHeight > brandLogoHeight) {\n // resize the logo\n const ratio = brandLogoHeight / brandDrawHeight\n brandDrawWidth = brandDrawWidth * ratio\n brandDrawHeight = brandDrawHeight * ratio\n }\n\n // if the width exceeds 180px\n if (brandDrawWidth >= 150) {\n const ratio = 150 / brandDrawWidth\n brandDrawWidth = brandDrawWidth * ratio\n brandDrawHeight = brandDrawHeight * ratio\n }\n\n // LENS\n let lensDrawWidth = thumbnailEl.width\n let lensDrawHeight = thumbnailEl.height\n const lensLogoContainer = realWrapperHeight * 0.55\n const lensLogoPad = 10\n const lensLogoHeight = lensLogoContainer - lensLogoPad * 2 // with 10px padding top/bottom\n\n if (lensDrawHeight > lensLogoHeight) {\n // resize the logo\n\n const ratio = lensLogoHeight / lensDrawHeight\n lensDrawWidth = lensDrawWidth * ratio\n lensDrawHeight = lensDrawHeight * ratio\n }\n\n // model name text lines\n let modelNameLines = wrapText(ctx, name + ' ', 0, 0, realWrapperWidth / 2.8, textH)\n\n if (modelNameLines.length === 0) {\n modelNameLines = [{ content: '', x: 0, y: 0 }]\n }\n\n // lens text lines\n const lensInfoText = `${brandName}${\n product.frameColorLabel ? product.frameColorLabel?.replace(';', ' ') + '\\n' : ''\n }${product.lensColorLabel ? product.lensColorLabel : ''}`\n const textLines = lensInfoText.split('\\n')\n\n let subtextLens: Line[] = []\n for (let i = 0; i < textLines.length; ++i) {\n subtextLens = subtextLens.concat(\n wrapText(ctx, textLines[i], 0, 0, realWrapperWidth / 2.8, textH)\n )\n }\n\n const wrapperHeight = realWrapperHeight\n\n const wrapperContentTopPositionLensText =\n canvasH - wrapperHeight + modelNamePadding + modelNameLines.length * textH\n\n // ******** LENS BOTTOM WRAPPER ******** //\n // const gradient = ctx.createRadialGradient(\n // canvasW / 2,\n // canvasH - wrapperHeight - padding,\n // 0,\n // canvasW / 2,\n // canvasH - wrapperHeight - padding,\n // 250\n // )\n\n // gradient.addColorStop(0, 'rgba(255, 255, 255, 0.55)')\n // gradient.addColorStop(1, 'rgba(255, 255, 255, 0.89)')\n\n ctx.fillStyle = 'white'\n ctx.fillRect(0, canvasH - wrapperHeight, canvasW, wrapperHeight)\n\n const contentX = padding * 1\n\n const subTextLensMap = subtextLens.map(({ content }) => content)\n\n for (let i = 0; i < subTextLensMap.length; ++i) {\n let h = textH * i\n\n ctx.fillStyle = infoColor\n ctx.font = `500 ${modelInfoFontSize}px ${font}`\n\n ctx.fillText(subTextLensMap[i], contentX, wrapperContentTopPositionLensText + h)\n }\n\n const modelNameY = canvasH - wrapperHeight + padding\n\n ctx.font = `bold ${modelNameFontSize}px ${font}`\n for (let i = 0; i < modelNameLines.length; ++i) {\n let h = textH * i\n\n ctx.fillStyle = infoColor\n\n ctx.fillText(modelNameLines[i].content, contentX, modelNameY + h)\n }\n\n // ******** BRAND IMAGE ******** //\n\n let brandHorPos = 0\n let brandVertPos = 0\n let lensHorPos = 0\n\n if (brandDrawWidth > lensDrawWidth) lensHorPos = (brandDrawWidth - lensDrawWidth) / 2\n else brandHorPos = (lensDrawWidth - brandDrawWidth) / 2\n\n if (brandLogoHeight > brandDrawHeight) brandVertPos = (brandLogoHeight - brandDrawHeight) / 2\n\n ctx.drawImage(\n brandLogoEl,\n canvasW - padding - brandDrawWidth - brandHorPos,\n canvasH - wrapperHeight + padding + brandVertPos,\n brandDrawWidth,\n brandDrawHeight\n )\n\n // ******** LENS IMAGE ******** //\n\n ctx.drawImage(\n thumbnailEl,\n canvasW - padding - lensDrawWidth - lensHorPos,\n canvasH - wrapperHeight + brandLogoContainer + lensLogoPad, // add lensLogoPad to add spacing between brand logo and frame logo\n lensDrawWidth,\n lensDrawHeight\n )\n\n return cvs\n}\n\nconst downloadCanvas = (screenshotCanvas: HTMLCanvasElement, product: Product) => {\n const dataUrl = screenshotCanvas.toDataURL(IMAGE_TYPE, IMAGE_QUALITY)\n const anchor = document.createElement('a')\n const filename = `${product.brand.name}_${product.name}`.replace(/[^a-z0-9]/gi, '_').toLowerCase()\n anchor.download = `${filename}.jpg`\n anchor.href = dataUrl\n anchor.style.visibility = 'hidden'\n document.body.appendChild(anchor)\n anchor.click()\n setTimeout(() => {\n document.body.removeChild(anchor)\n }, 0)\n}\n\nexport const saveScreenshot = async (\n screenshot: Screenshot,\n product: Product,\n style: string,\n store?: Store,\n isMonobrand?: boolean\n): Promise => {\n if (!product) throw new Error('UPC not found')\n\n const screenshotCanvas = await createScreenshotCanvas(\n screenshot,\n product,\n style,\n store,\n isMonobrand\n )\n downloadCanvas(screenshotCanvas, product)\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const ImageWrapper = styled.div`\n position: relative;\n width: 70%;\n height: 40%;\n ${({ theme }) => theme.media.medium} {\n height: 50%;\n }\n\n ${({ theme }) => theme.media.large} {\n min-height: ${pxToEm(390)};\n max-height: ${pxToEm(390)};\n max-width: ${pxToEm(310)};\n }\n`\n\nexport const StyledImage = styled.img`\n width: 100%;\n max-height: 100%;\n object-fit: cover;\n\n ${({ theme }) => theme.media.large} {\n height: 100%;\n }\n`\n","import { SpinnerWrapper, Spinner } from '@components/PictureMode/TakePicture/styles'\nimport { Screenshot } from '@customTypes/screenshot'\nimport { useState } from 'react'\nimport { StyledImage, ImageWrapper } from './styles'\n\ninterface ScreenshotImageProps {\n image?: Screenshot\n}\n\nexport const ScreenshotImage: React.FC = ({ image }) => {\n const [imageLoading, setImageLoading] = useState(true)\n\n return (\n \n {imageLoading && (\n \n \n \n )}\n setImageLoading(false)} />\n \n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\nimport { resetButtonStyles } from '@components/Menu/styles'\nimport { Button } from '@components/core/Button'\n\nexport const CloseBtn = styled.button`\n position: absolute;\n top: ${pxToEm(10)};\n right: ${pxToEm(10)};\n width: ${pxToEm(50)};\n height: ${pxToEm(50)};\n line-height: 0;\n cursor: pointer;\n\n ${resetButtonStyles}\n`\n\nexport const BackBtn = styled.button`\n position: absolute;\n top: ${pxToEm(10)};\n left: ${pxToEm(10)};\n width: ${pxToEm(50)};\n height: ${pxToEm(50)};\n line-height: 0;\n\n ${resetButtonStyles}\n`\n\nexport const ProductInfo = styled.p`\n color: ${({ theme }) => theme.palette.black};\n font: ${({ theme }) => theme.fonts.span};\n line-height: 1.25;\n text-align: center;\n\n ${({ theme }) => theme.media.medium} {\n font: ${({ theme }) => theme.fonts.paragraph};\n line-height: 1.25;\n }\n`\n\nexport const ProductName = styled.p`\n color: ${({ theme }) => theme.palette.black};\n font: ${({ theme }) => theme.fonts.span};\n line-height: 1.25;\n font-weight: 600;\n text-align: center;\n\n ${({ theme }) => theme.media.medium} {\n font: ${({ theme }) => theme.fonts.paragraph};\n line-height: 1.25;\n font-weight: 600;\n }\n`\n\nexport const BrandImage = styled.img`\n max-width: ${pxToEm(120)};\n max-height: ${pxToEm(60)};\n height: auto;\n margin: ${pxToEm(36)} 0 ${pxToEm(20)};\n\n ${({ theme }) => theme.media.medium} {\n max-width: ${pxToEm(160)};\n max-height: ${pxToEm(90)};\n }\n`\n\nexport const ActionBox = styled.div<{\n disabled?: boolean\n position?: string\n isDesktopView?: boolean\n}>`\n position: relative;\n display: flex;\n width: 100%;\n max-width: 100%;\n justify-content: ${({ isDesktopView, position }) => (isDesktopView ? 'center' : position)};\n align-items: center;\n padding: ${pxToEm(5)} 0;\n margin: 0 auto;\n white-space: nowrap;\n color: ${({ theme, disabled }) => (disabled ? theme.palette.darkGray : theme.palette.black)};\n font: ${({ theme }) => theme.fonts.paragraph};\n line-height: 2.25;\n\n ${({ theme }) => theme.media.medium} {\n font: ${({ theme }) => theme.fonts.paragraph};\n line-height: 2.25;\n justify-content: ${({ position }) => (position === 'start' ? 'end' : 'start')};\n }\n ${({ theme }) => theme.media.large} {\n justify-content: center;\n }\n svg {\n margin: 0 ${pxToEm(10)};\n height: ${pxToEm(18)};\n width: ${pxToEm(18)};\n }\n`\n\nexport const ActionStyled = styled.div`\n display: flex;\n align-items: center;\n cursor: pointer;\n`\n\nexport const ActionWrapper = styled.div`\n position: relative;\n display: flex;\n flex-direction: row;\n width: 100%;\n max-width: 75%;\n justify-content: space-between;\n align-items: center;\n font: ${({ theme }) => theme.fonts.span};\n\n ${({ theme }) => theme.media.medium} {\n max-width: 70%;\n gap: 30px;\n }\n`\nexport const ButtonWrapper = styled.div`\n display: flex;\n width: 100%;\n justify-content: center;\n align-items: center;\n margin: ${pxToEm(10)} 0;\n gap: ${pxToEm(9)};\n`\n\nexport const ActionButton = styled(Button)`\n font-family: var(--vm-default-font-medium);\n font-weight: 500;\n font-size: 14px;\n\n background: ${({ theme }) => theme.palette.primary.black[100]};\n color: ${({ theme }) => theme.palette.primary.white[100]};\n\n padding: ${pxToEm(17)} ${pxToEm(16)};\n margin: 0;\n min-width: ${pxToEm(167)};\n border-radius: ${pxToEm(50)};\n letter-spacing: 0.2px;\n line-height: 1.07;\n text-align: center;\n`\n\nexport const ErrorMessage = styled.span`\n // position: absolute;\n text-align: center;\n left: 0;\n right: 0;\n bottom: 0;\n color: ${({ theme }) => theme.palette.pinkRed};\n font: ${({ theme }) => theme.fonts.span};\n`\n\nexport const ScreenshotWrapper = styled.div`\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: ${pxToEm(30)} 10%;\n overflow: auto;\n\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(80)} 10%;\n }\n\n ${ProductInfo} {\n margin-bottom: ${pxToEm(2)};\n }\n ${ProductName} {\n margin-bottom: ${pxToEm(2)};\n }\n`\n","import { CaretLeftIcon, CloseScreenshotIcon, SaveIcon, ShareIcon } from '@components/core/Icons'\nimport { Product } from '@customTypes/product'\nimport { useShare } from '@hooks/useShare'\nimport { trackClickSaveImg, useSharePhoto } from '@libs/analytics'\nimport { getNoCacheBrandUrl, saveScreenshot } from '@libs/saveScreenshot'\nimport { useConfig } from '@providers/configProvider'\nimport { useCallback, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ScreenshotImage } from './ScreenshotImage'\nimport {\n ScreenshotWrapper,\n CloseBtn,\n ProductInfo,\n ProductName,\n BrandImage,\n ActionBox,\n ActionWrapper,\n ActionButton,\n ActionStyled,\n ErrorMessage,\n ButtonWrapper,\n BackBtn,\n} from './styles'\nimport { isDesktopView, isValidHttpUrl } from '@libs/utils'\nimport { useVM } from '@providers/VmProvider'\n\nconst Polaroid_Generic_Error = 'Something went wrong while generating your polaroid image.'\n\ninterface ScreenshotPreviewProps {\n product: Product\n}\n\nexport const ScreenshotPreview: React.FC = ({ product }) => {\n const { image, setImage, isConfigurator } = useVM()\n\n const { name, lensColorLabel, frameColorLabel, brand } = product\n const { t } = useTranslation()\n const { store, style, onShare, disableSavePolaroid, polaroid, isMonobrand } = useConfig()\n const { linkA, linkB } = polaroid || {}\n\n const { share, error, loading, imgDataUrl } = useShare(product, image)\n\n const frameLensLabel = () => {\n if (lensColorLabel && !frameColorLabel) {\n return product.lensColorLabel\n }\n if (frameColorLabel && !lensColorLabel) {\n return product.frameColorLabel\n }\n if (frameColorLabel && lensColorLabel) {\n return product.frameColorLabel + ' / ' + product.lensColorLabel\n }\n }\n\n const trackSharePhoto = useSharePhoto(product)\n\n const onClose = () => {\n if (setImage) setImage(undefined)\n }\n\n const onSave = useCallback(() => {\n trackClickSaveImg()\n if (image) {\n saveScreenshot(image, product, style, store, isMonobrand)\n }\n }, [image, product, style, store, isMonobrand])\n\n const onShareUrl = useCallback(() => {\n if (loading) return\n trackSharePhoto()\n share()\n }, [share, trackSharePhoto, loading])\n\n useEffect(() => {\n if (error) {\n // eslint-disable-next-line no-console\n console.error(error)\n }\n }, [error])\n\n const disableSave = !product || !image || !imgDataUrl\n const disableShare = loading || disableSave\n\n return (\n \n {isConfigurator ? (\n \n \n \n ) : (\n \n \n \n )}\n\n \n \n {onShare && !isDesktopView() && (\n \n \n {t('share.share')}\n \n \n \n )}\n {!disableSavePolaroid && (\n \n \n {t('share.save-image')}\n \n \n \n )}\n \n {onShare && !isDesktopView() && error && (\n {Polaroid_Generic_Error}\n )}\n \n {brand.name && !isMonobrand && {brand.name}}\n {name && {name}}\n {isMonobrand ? (\n <>\n {product.frameColorLabel && `${product.frameColorLabel}`}\n {product.lensColorLabel && `${product.lensColorLabel}`}\n >\n ) : (\n {frameLensLabel()}\n )}\n\n \n {linkA && isValidHttpUrl(linkA.url) && (\n window.open(linkA.url, '_blank', 'noreferrer')}>\n {linkA.label}\n \n )}\n {linkB && isValidHttpUrl(linkB.url) && (\n window.open(linkB.url, '_blank', 'noreferrer')}>\n {linkB.label}\n \n )}\n \n \n )\n}\n","import { Screenshot } from '@customTypes/screenshot'\nimport { useConfig } from '@providers/configProvider'\nimport { useCallback, useEffect, useState } from 'react'\nimport { createScreenshotCanvas, IMAGE_QUALITY, IMAGE_TYPE } from '@libs/saveScreenshot'\nimport { Product } from '@customTypes/product'\nimport { addAnalyticsQueryParam } from '@libs/analytics'\n\nexport const useShare = (product: Product, image?: Screenshot | null) => {\n const [loading, setLoading] = useState(true)\n const [error, setError] = useState(null)\n const [imgDataUrl, setImgDataUrl] = useState(null)\n const { onShare, store, style } = useConfig()\n\n function isValidURL(data: string) {\n const urlPattern = /^(https?|ftp):\\/\\/[^\\s/$.?#].[^\\s]*$/i\n return urlPattern.test(data)\n }\n\n // eslint-disable-next-line\n const isValidFile = (file: any) => file instanceof Blob || file instanceof File\n\n const getImgDataUrl = useCallback(async () => {\n if (!image) return\n const screenShot = await createScreenshotCanvas(image, product, style, store)\n const dataUrl = screenShot.toDataURL(IMAGE_TYPE, IMAGE_QUALITY)\n setImgDataUrl(dataUrl)\n setLoading(false)\n }, [image, product, style, store])\n\n useEffect(() => {\n getImgDataUrl()\n }, [getImgDataUrl])\n\n const share = async () => {\n if (!navigator.share) {\n setError('Your browser does not support share functionality')\n return\n }\n\n setLoading(true)\n\n try {\n if (!onShare) throw new Error('onShare function is null or undefined')\n if (!imgDataUrl) throw new Error('Image URL is null or undefined')\n\n // I commented this, there is a possibility that the image would be saved twice in integrator side\n // For example in VMMV Standalone the image was saved in the Azure Storage and return the URL where the user's image can be download\n // const shareDataResult = onShare(imgDataUrl, product)\n // if (!(shareDataResult instanceof Promise)) throw new Error('Data is not a promise')\n\n // we can validate if the onShare callback is a promise if the method `then` is not undefined\n // if `then` was undefined then the error will catch by try/catch\n await onShare(imgDataUrl, product).then(async shareData => {\n if (!shareData) throw new Error('Data is null or undefined.')\n\n if (typeof shareData === 'object') {\n // if (!shareData.text || !shareData.title || !shareData.files?.length) {\n // throw new Error('Invalid/Missing data for share options')\n // }\n if (!shareData.files?.length) {\n throw new Error('Invalid/Missing data for share options')\n }\n if (!isValidFile(shareData.files[0])) {\n throw new Error('Invalid File.')\n }\n return navigator.share({\n files: shareData.files,\n })\n } else if (typeof shareData === 'string') {\n if (!isValidURL(shareData)) throw new Error('Data is not a valid URL.')\n const sharedUrl = addAnalyticsQueryParam(shareData)\n return navigator.share({ url: sharedUrl })\n } else {\n setError('Data is not a promise or a valid URL.')\n }\n })\n } catch (error) {\n const { message, name } = error as Error\n if (name === 'AbortError') {\n // eslint-disable-next-line no-console\n console.log('Share operation was canceled by the user.')\n } else {\n // eslint-disable-next-line no-console\n console.log(error)\n setError(message ?? 'Something went wrong while generating your polaroid image.')\n }\n setLoading(false)\n return\n } finally {\n setLoading(false)\n }\n }\n\n return { share, error, loading, imgDataUrl }\n}\n","import { BipaPage, VirtualMirror } from '@luxottica/virtual-mirror'\nimport { useCallback, useEffect } from 'react'\n\nimport { useConfig } from '@providers/configProvider'\nimport { useRefValue } from '@hooks/useRefValue'\nimport { useVmInitParams } from '@hooks/useVmInitParams'\n\ninterface VMInitializeProps {\n setIsReady: (value: boolean) => void\n setIsVMInitialized: (value: boolean) => void\n onDisplayPage?: (page: BipaPage) => void\n children: React.ReactNode\n}\n\nexport const VMInitialize: React.FC = ({\n children,\n setIsReady,\n setIsVMInitialized,\n onDisplayPage,\n}) => {\n const config = useConfig()\n const vmInitParams = useVmInitParams(config, setIsReady, onDisplayPage)\n\n const initializeVirtualMirror = useCallback(async () => {\n try {\n await VirtualMirror.initialize(vmInitParams)\n setIsVMInitialized(true)\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error initializing virtual mirror: ${error}`)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [vmInitParams, setIsVMInitialized])\n const initVMRef = useRefValue(initializeVirtualMirror)\n\n useEffect(() => {\n initVMRef.current()\n }, [initVMRef])\n\n return <>{children}>\n}\n","import {\n InitializationParams,\n PrivacyOptions,\n InitializationOptions,\n BipaFormData,\n MicroserviceEnvironment,\n BipaPage,\n} from '@luxottica/virtual-mirror'\nimport { Config } from '@customTypes/config'\nimport {\n trackVmInitClientError,\n trackVmPrivacyFail,\n trackVmPrivacyReject,\n trackVmWebcamUnaccessible,\n trackVmWebcamUnavailable,\n trackVmWasmUnsupported,\n trackGR,\n} from '@libs/analytics'\nimport { checkIsRegionUS, getRegion } from '@utils/region'\nimport { useDispatch } from 'react-redux'\nimport { setVisibilityTermsConditionsModal } from '@store/actions/ui'\nimport { setIsPrivacyAccepted } from '@store/actions/privacyPolicy'\nimport { useNavigate } from 'react-router'\nimport { liveTryOn } from '@utils/routes'\nimport { useEffect } from 'react'\nimport { default as appConfig } from '@config/index'\nimport { fallbackLanguage } from '@utils/language'\n\nexport const useVmInitParams = (\n config: Config,\n setIsReady: (isReady: boolean) => void,\n onDisplayPage?: (page: BipaPage) => void\n): InitializationParams => {\n const {\n store,\n vmInit,\n fromStore,\n onPrivacyReject,\n onPrivacyAgree,\n onPrivacyFail,\n onTermsAndConditionsClick,\n termsAndConditions,\n bipaPrefill,\n locale = fallbackLanguage(config),\n } = config\n\n const dispatch = useDispatch()\n const navigate = useNavigate()\n\n useEffect(() => {\n if (termsAndConditions && !termsAndConditions.match(/https?:\\/\\//))\n throw Error('Terms and conditions link must start with http(s):// prefix')\n }, [termsAndConditions])\n\n const openTermsConditions = () => dispatch(setVisibilityTermsConditionsModal(true))\n const privacyOptions: PrivacyOptions = {\n bipaActive: true,\n privacyPolicy: 'javascript:void()',\n termsAndConditions: termsAndConditions || 'javascript:void()',\n region: checkIsRegionUS(config) ? 'US' : getRegion(config),\n source: vmInit.source,\n bipaPrefill,\n }\n\n const analyticsConfig = {\n onGlassesOn: () => setIsReady(true),\n onGlassesOff: () => setIsReady(false),\n onInitializeError: trackVmInitClientError,\n onWebcamDenied: trackVmWebcamUnaccessible,\n onWebcamUnavailable: trackVmWebcamUnavailable,\n onMirrorWasmFailure: trackVmWasmUnsupported,\n // eslint-disable-next-line no-console\n onError: (e: string) => console.error(e),\n onGlassesRemovalStateChange: (state: { message: 'active' | 'detecting' | 'off' }) => {\n if (state.message === 'active') {\n trackGR()\n }\n },\n }\n\n const initOptions: InitializationOptions = {\n key: vmInit.key,\n channel: vmInit.channel,\n locale: locale || 'en-US',\n brand: vmInit.brand,\n sessionTimeout: !fromStore,\n storeId: store.id,\n storeRegion: getRegion(config),\n storeCompany: store.type,\n globalStoreId: store.globalStoreId,\n environment: (vmInit.environment || appConfig.vmEnv) as MicroserviceEnvironment,\n analyticsConfig,\n }\n return {\n options: initOptions,\n privacy: privacyOptions,\n privacyCallbacks: {\n onDisplayPage: (page: BipaPage) => {\n if (onDisplayPage) onDisplayPage(page)\n },\n onPrivacyFail: (error: Error) => {\n trackVmPrivacyFail()\n if (onPrivacyFail) {\n onPrivacyFail(error)\n }\n },\n onPrivacyReject: () => {\n navigate(liveTryOn())\n trackVmPrivacyReject()\n if (onPrivacyReject) {\n onPrivacyReject()\n }\n },\n onTermsAndConditionsClick:\n !termsAndConditions && !onTermsAndConditionsClick\n ? openTermsConditions\n : onTermsAndConditionsClick\n ? onTermsAndConditionsClick\n : undefined,\n onPrivacyAgree: (bipaFormData?: BipaFormData) => {\n dispatch(setIsPrivacyAccepted())\n if (onPrivacyAgree) {\n onPrivacyAgree(bipaFormData)\n }\n },\n },\n }\n}\n","import styled, { css } from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nexport const VideoModeContainer = styled.div<{\n textCentered: boolean\n isLoading: boolean\n isDone: boolean\n}>`\n height: 100%;\n\n &.frame-advisor-root-style {\n .vto-capture-overlay {\n font: ${({ theme }) => theme.fonts.spanBold};\n width: 100%;\n height: 100%;\n\n .fa-nudging-guide,\n .fa-recording-guide {\n max-width: 90%;\n margin: 0 auto;\n font: ${({ theme }) => theme.fonts.spanBold};\n font-size: ${pxToEm(18)};\n color: ${({ theme }) => theme.palette.white[100]};\n text-shadow: 0 0 7px rgba(0, 0, 0, 0.44);\n\n ${({ textCentered }) =>\n textCentered &&\n `\n position: absolute;\n font-family: var(--vm-default-font);\n font-size: ${pxToEm(36)};\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n max-width: 80%;\n text-align: center;\n text-shadow: 0 0 7px rgba(0, 0, 0, 0.44);\n `}\n\n ${({ theme }) => theme.media.medium} {\n font-size: ${pxToEm(24)};\n ${({ textCentered }) =>\n textCentered &&\n `\n font-weight: bold; \n font-size: ${pxToEm(48)};\n `};\n }\n }\n\n #svg-placeholder {\n position: absolute;\n stroke-dasharray: 6 7;\n stroke: ${({ theme }) => theme.palette.white[100]};\n }\n\n .vto-capture-overlay-loading {\n background-color: rgba(0, 0, 0, 0.2);\n -webkit-backdrop-filter: blur(20px);\n backdrop-filter: blur(20px);\n }\n }\n }\n\n &.frame-advisor-root-style .loading-bg .loading-spinner-container {\n .loading-spinner {\n display: ${({ isDone, isLoading }) => (isDone && !isLoading ? 'none' : 'block')};\n }\n\n ${({ isLoading }) =>\n isLoading &&\n css`\n .loading-spinner {\n top: 45%;\n transform: translateX(-50%);\n }\n .loading-spinner,\n .loading-spinner:after {\n width: ${pxToEm(226)};\n height: ${pxToEm(226)};\n }\n `}\n }\n\n &.frame-advisor-root-style .vto-capture-overlay-loading-text {\n text-align: center;\n font-family: var(--vm-default-font);\n -webkit-text-stroke: unset;\n text-shadow: unset;\n position: absolute;\n z-index: 15;\n top: ${pxToEm(8)};\n margin-top: 0;\n left: 50%;\n transform: translate(-50%);\n\n ${({ theme }) => theme.media.large} {\n top: ${pxToEm(15)};\n }\n }\n`\n\nexport const ArrowsContainer = styled.div`\n display: flex;\n position: absolute;\n z-index: 15;\n top: ${pxToEm(31)};\n left: 50%;\n transform: translate(-50%);\n\n ${({ theme }) => theme.media.medium} {\n top: ${pxToEm(24)};\n }\n`\n\nexport const IconWrapper = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -70%);\n width: ${pxToEm(200)};\n height: ${pxToEm(200)};\n border-radius: ${pxToEm(200)};\n backdrop-filter: blur(20px);\n background-color: rgba(255, 255, 255, 0.3);\n display: flex;\n align-items: center;\n justify-content: center;\n\n polyline {\n @keyframes dash-check {\n 0% {\n stroke-dashoffset: -100;\n }\n 100% {\n stroke-dashoffset: 900;\n }\n }\n stroke-dasharray: 1000;\n stroke-dashoffset: -100;\n animation: dash-check 0.9s 0.35s ease-in-out forwards;\n }\n`\nexport const Arrow = styled.span<{ animationIndex: number; toRight: boolean }>`\n @keyframes arrows {\n 0% {\n opacity: 0.3;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n opacity: 1;\n }\n }\n display: block;\n width: ${pxToEm(24)};\n height: ${pxToEm(24)};\n transform: ${({ toRight }) => (toRight ? 'rotate(225deg)' : 'rotate(45deg)')};\n\n border-left: 7px solid ${({ theme }) => theme.palette.white[100]};\n border-bottom: 7px solid ${({ theme }) => theme.palette.white[100]};\n animation: arrows 1.5s infinite;\n animation-delay: ${({ animationIndex }) => `calc(${animationIndex}*0.15s)`};\n`\n\nexport const StyledCounter = styled.div`\n font-family: var(--vm-default-font);\n font-size: ${pxToEm(175)};\n font-weight: bold;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n color: ${({ theme }) => theme.palette.white[100]};\n`\n","import { Arrow, ArrowsContainer, IconWrapper, StyledCounter, VideoModeContainer } from './styles'\nimport { useEffect, useState, useCallback } from 'react'\nimport { pictureVideoModeError, videoMode, videoModeView } from '@utils/routes'\nimport { BackButton } from '@components/core/BackButton'\nimport { useConfig } from '@providers/configProvider'\nimport { useDispatch } from 'react-redux'\nimport { useNavigate } from 'react-router'\nimport { trackVideoTakeFail, trackVmPrivacyFail, trackVmPrivacyReject } from '@libs/analytics'\nimport {\n FrameAdvisorCapture,\n FrameAdvisorRegion,\n FrameAdvisorResult,\n InitializeParameters,\n} from '@luxottica/frame-advisor-capture'\nimport { CheckIcon } from '@components/core/Icons'\nimport { useInterval } from '@hooks/useInterval'\nimport { default as appConfig } from '@config/index'\nimport { setVtoPage } from '@store/actions/ui'\nimport { setVideoId } from '@utils/sessionStorage'\nimport { fallbackLanguage } from '@utils/language'\n\nconst CONTAINER_ID = 'vm-video-mode'\n\nconst STEPS = ['STEP_1', 'STEP_2', 'STEP_3', 'STEP_4', 'STEP_5']\nconst ARROWS_NUMBER = 6\nconst ARROWS_ITEMS = Array(ARROWS_NUMBER).fill('')\nconst COUNTER_INTERVAL = 666\nconst COUNTER_MAX_VALUE = 3\n\nexport const VideoFaceScan = () => {\n const config = useConfig()\n const {\n store: { region },\n vmInit: { environment, source },\n locale = fallbackLanguage(config),\n } = config\n\n const navigate = useNavigate()\n const dispatch = useDispatch()\n\n const [isDone, setIsDone] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n\n const [counter, setCounter] = useState(COUNTER_MAX_VALUE)\n const [currentStep, setCurrentStep] = useState(null)\n\n const vtoCaptureClose = useCallback(\n (onResCb?: () => void) => {\n FrameAdvisorCapture.closeVtoCapture()\n dispatch(setVtoPage('off'))\n onResCb?.()\n },\n [dispatch]\n )\n\n useEffect(() => {\n if (isDone) {\n setTimeout(() => {\n setIsLoading(true)\n }, 2000)\n }\n }, [isDone])\n\n useEffect(() => {\n // Use any due to impossible to import InternalInitializeParameters type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const initOptions: InitializeParameters | any = {\n options: {\n locale: locale || 'en-US',\n environment: environment || appConfig.vmEnv,\n region: (region || 'US') as FrameAdvisorRegion,\n source: source,\n },\n callbacks: {\n onCaptureError: () => {\n setIsDone(false)\n setCurrentStep(null)\n trackVideoTakeFail()\n vtoCaptureClose()\n navigate(`${videoMode(pictureVideoModeError())}?from=${videoMode()}`)\n },\n onAdvisorResult: (result: FrameAdvisorResult) => {\n setIsDone(false)\n result && setVideoId(result.videoId || '')\n FrameAdvisorCapture.close()\n FrameAdvisorCapture.closeVtoCapture()\n dispatch(setVtoPage('off'))\n navigate(videoMode(videoModeView()))\n },\n onVtoCaptureStep: ({ recordingStatus }: { recordingStatus: string }) => {\n setCurrentStep(STEPS.indexOf(recordingStatus))\n },\n onLoading: () => {\n setIsDone(true)\n },\n onPrivacyFail: trackVmPrivacyFail,\n onPrivacyReject: trackVmPrivacyReject,\n },\n privacy: {\n termsAndConditions: 'javascript:void()',\n localizationText: 'javascript:void()',\n },\n }\n\n initOptions.auth = {\n accessToken: undefined,\n refreshToken: undefined,\n }\n\n FrameAdvisorCapture.initialize(initOptions)\n .then(initReturns => {\n if (!initReturns.isSupported) {\n // eslint-disable-next-line no-console\n console.error('The browser does not support a key feature for the experience')\n }\n FrameAdvisorCapture.vtoCapture({\n target: CONTAINER_ID,\n options: {\n showLoading: true,\n enableVto: true,\n enableMachineLearning: false,\n },\n })\n\n dispatch(setVtoPage('fa-vto-capture'))\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(error)\n })\n }, [navigate, dispatch, locale, environment, region, source, setCurrentStep, vtoCaptureClose])\n\n useInterval(() => {\n if (counter > 0 && currentStep === 0) {\n setCounter(c => c - 1)\n }\n }, COUNTER_INTERVAL)\n\n return (\n <>\n \n 0 : false}\n className=\"vmmv-video-face-scan frame-advisor-root-style\"\n id={CONTAINER_ID}\n />\n {!isDone && currentStep === 0 && counter > 0 && {counter}}\n {currentStep !== null && currentStep > 0 && !isDone && (\n \n {ARROWS_ITEMS.map((_, index) => (\n \n ))}\n \n )}\n {isDone && !isLoading && (\n \n \n \n )}\n >\n )\n}\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const TitleWrapper = styled.div`\n margin-bottom: 0;\n ${({ theme }) => theme.media.medium} {\n margin-bottom: ${pxToEm(32)};\n }\n`\n\nexport const Title = styled.h1`\n font: ${({ theme }) => theme.fonts.heading};\n text-align: center;\n font-size: ${pxToEm(20)};\n max-width: ${pxToEm(250)};\n margin: 0;\n ${({ theme }) => theme.media.medium} {\n margin: 0 auto;\n font-size: ${pxToEm(32)};\n }\n`\n\nexport const VideoScanInstructionPageWraper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n overflow: auto;\n color: ${({ theme }) => theme.palette.black};\n background: ${({ theme }) => theme.palette.whiteSmoke};\n padding: ${pxToEm(82)} ${pxToEm(24)} ${pxToEm(93)};\n ${({ theme }) => theme.media.medium} {\n overflow: unset;\n padding: ${pxToEm(82)} ${pxToEm(64)} ${pxToEm(93)};\n }\n ${({ theme }) => theme.media.large} {\n overflow: auto;\n padding: ${pxToEm(82)} ${pxToEm(48)} ${pxToEm(93)};\n }\n`\n\nexport const VideoScanTipsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n margin-bottom: ${pxToEm(20)};\n`\n\nexport const Tip = styled.div`\n display: flex;\n align-items: center;\n margin-top: ${pxToEm(24)};\n\n ${({ theme }) => theme.media.medium} {\n margin-top: ${pxToEm(32)};\n }\n`\n\nexport const IconWrapper = styled.div`\n width: ${pxToEm(50)};\n height: ${pxToEm(50)};\n border: 1px solid ${({ theme }) => theme.palette.black};\n border-radius: 50%;\n margin-right: ${pxToEm(24)};\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: ${pxToEm(50)};\n\n ${({ theme }) => theme.media.medium} {\n width: ${pxToEm(60)};\n height: ${pxToEm(60)};\n min-width: ${pxToEm(60)};\n }\n`\n\nexport const TipDescription = styled.p`\n font: ${({ theme }) => theme.fonts.span};\n word-wrap: break-word;\n max-width: ${pxToEm(252)};\n margin: 0;\n\n ${({ theme }) => theme.media.medium} {\n font: ${({ theme }) => theme.fonts.paragraph};\n }\n`\n","import { useTranslation } from 'react-i18next'\nimport { BackButton } from '@components/core/BackButton'\nimport { FaceShapeIcon, SunIcon, TurnFaceIcon } from '@components/core/Icons'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport { videoMode, videoModeView, videoScan } from '@utils/routes'\nimport {\n VideoScanInstructionPageWraper,\n Title,\n TitleWrapper,\n VideoScanTipsWrapper,\n Tip,\n IconWrapper,\n TipDescription,\n} from './styles'\nimport { getVideoId } from '@utils/sessionStorage'\nimport { useFromPage } from '@libs/analytics'\nimport StickyButton from '@components/core/StickyButton'\n\nconst VIDEO_SCAN_TIPS = [\n { text: 'take-tips.light', icon: },\n { text: 'picture-mode.upload-a-picture-suggestion-2', icon: },\n { text: 'take-tips.look-straight-1', icon: }, // Icon should be change when will be available\n]\n\nexport const VideoScanInstructions: React.FC = () => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const from = useFromPage()\n const [isLoading, setIsLoading] = useState(true)\n\n const onConfirm = useCallback(() => {\n navigate(videoMode(videoScan()))\n }, [navigate])\n\n useEffect(() => {\n const videoId = getVideoId()\n if (videoId) {\n navigate(videoMode(videoModeView()))\n }\n setIsLoading(false)\n }, [navigate])\n\n if (isLoading) {\n return null\n }\n\n return (\n <>\n {from && }\n \n \n {t('take-tips.title')}\n \n \n {VIDEO_SCAN_TIPS.map((tip, index) => (\n \n {tip.icon}\n \n \n ))}\n \n \n {t('general.ok-get-started')}\n \n \n >\n )\n}\n","import React, { useCallback } from 'react'\nimport { CaretLeftIcon } from '@components/core/Icons'\nimport { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\nimport { useNavigate } from 'react-router'\nimport { isMobileView } from '@libs/utils'\n\nexport const BackButtonWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${pxToEm(10)};\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n svg {\n cursor: pointer;\n }\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(24)};\n }\n`\n\ninterface BackButtonProps {\n fill?: string\n onBackAction?: (cb: () => void) => void\n shadow?: boolean\n}\n\nexport const BackButton: React.FC = ({ fill, onBackAction, shadow }) => {\n const navigate = useNavigate()\n const onClickBack = useCallback(() => {\n if (!onBackAction) {\n navigate(-1)\n return\n }\n onBackAction?.(() => navigate(-1))\n }, [navigate, onBackAction])\n\n return (\n \n \n \n )\n}\n","import React from 'react'\nimport { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\nimport { theme } from '../../theme'\n\ntype ButtonProps = {\n className?: string\n onClick?: (event: React.MouseEvent) => void\n disable?: boolean\n color?: string\n bgColor?: string\n txtColor?: string\n type?: 'button' | 'submit' | 'reset'\n children: React.ReactNode\n}\n\nconst StyledButton = styled('button')<{ color?: string }>`\n margin: 0 ${pxToEm(16)};\n display: flex;\n justify-content: center;\n align-items: center;\n height: ${pxToEm(56)};\n border: 1px solid transparent;\n font: ${({ theme }) => theme.fonts.span};\n color: ${({ color }) => (color ? color : theme.palette.white[100])};\n line-height: normal;\n text-align: inherit;\n background: linear-gradient(to right, ${theme.palette.white[70]}, ${theme.palette.white[40]});\n outline: none;\n cursor: pointer;\n border-radius: ${pxToEm(100)};\n`\n\nexport const Button: React.FC = ({ className, disable, children, type, ...props }) => (\n \n {children}\n \n)\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const DrawerContainer = styled.div<{ fullscreen: boolean }>`\n z-index: 4;\n position: absolute;\n top: ${({ fullscreen }) => (fullscreen ? 0 : pxToEm(20))};\n bottom: 0;\n left: 0;\n min-height: calc(100% - ${pxToEm(15)});\n height: auto;\n display: flex;\n align-items: flex-start;\n width: 100%;\n background-color: ${({ theme }) => theme.palette.white[100]};\n transition: transform 300ms ease-in-out;\n border-top-left-radius: ${({ fullscreen }) => (fullscreen ? 0 : pxToEm(15))};\n border-top-right-radius: ${({ fullscreen }) => (fullscreen ? 0 : pxToEm(15))};\n overflow: hidden;\n\n &,\n &.visible-enter {\n transform: translateY(100%);\n }\n\n &.visible-enter-active,\n &.visible-enter-done {\n transform: translateY(0%);\n }\n`\nexport const DrawerOverlay = styled.div<{ showOverlay: boolean }>`\n z-index: 1;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-height: 100%;\n overflow: hidden;\n background: rgba(0, 0, 0, 0.25);\n transition: 0.3s opacity ease-in-out;\n font-size: 16px;\n\n &,\n &.visible-enter {\n z-index: ${({ showOverlay }) => (showOverlay ? 1 : -1)};\n opacity: ${({ showOverlay }) => (showOverlay ? 1 : 0)};\n width: ${({ showOverlay }) => (showOverlay ? '100%' : 0)};\n height: ${({ showOverlay }) => (showOverlay ? '100%' : 0)};\n min-height: ${({ showOverlay }) => (showOverlay ? '100%' : 'none')};\n }\n\n &.visible-enter-active,\n &.visible-enter-done {\n opacity: 1;\n }\n`\n","import { DrawerContainer, DrawerOverlay } from './styles'\n\nimport { CSSTransition } from 'react-transition-group'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { usePortalDiv } from '@hooks/usePortalDiv'\nimport { useVM } from '@providers/VmProvider'\n\nexport interface DrawerProps {\n onOverlayClick?: () => void\n className?: string\n unmountOnExit?: boolean\n showOverlay?: boolean\n children: React.ReactNode\n}\n\nexport const DrawerBaseContainer: React.FC = ({\n children,\n onOverlayClick,\n className,\n unmountOnExit = true,\n showOverlay = true,\n}) => {\n const { image, isConfigurator } = useVM()\n const visible = !!image\n\n return (\n <>\n \n {\n if (onOverlayClick) {\n onOverlayClick()\n }\n }}\n />\n \n \n \n {children}\n \n \n >\n )\n}\n\nconst drawerClassName = 'drawer__container'\n\nexport const Drawer: React.FC = ({ children, ...props }) => {\n const divEl = usePortalDiv(drawerClassName)\n\n if (!divEl) return null\n\n return ReactDOM.createPortal(\n {children},\n divEl\n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const AlertIcon: React.FC = ({\n width = '20px',\n height = '20px',\n fill = '#e8415a',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const CloseIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#fff',\n stroke = '#fff',\n filter = true,\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const NavBarActionScan: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const NavBarActionVideo: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#fff',\n stroke = 'none',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const NavBarActionPicture: React.FC = ({\n width = '1em',\n height = '1em',\n stroke = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const WishlistIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = 'none',\n stroke = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const RefreshIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const ChooseLensIcon: React.FC = ({ width = '1em', height = '1em' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const ChooseColorIcon: React.FC = ({ width = '1em', height = '1em' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const ChooseFrameIcon: React.FC = ({ width = '1em', height = '1em' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const LightIcon: React.FC = ({ width = '1em', height = '1em' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const LightLessIcon: React.FC = ({ width = '1em', height = '1em' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const CameraIcon: React.FC = ({\n width = pxToEm(41),\n height = pxToEm(41),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const UploadIcon: React.FC = ({\n width = pxToEm(32),\n height = pxToEm(32),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const FaceShapeIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const SunIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const CaretLeftIcon: React.FC = ({\n width = pxToEm(32),\n height = pxToEm(34),\n fill = '#000',\n filter = true,\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const CartIcon: React.FC = ({ width = '1em', height = '1em', fill = 'none' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\nimport styled from 'styled-components'\nimport { GlassesIcon } from './GlassesIcon'\n\nconst StyledContainer = styled.div`\n position: relative;\n`\n\nconst NoLine = styled.div`\n width: ${pxToEm(1)};\n height: ${pxToEm(30)};\n transform: rotate(45deg);\n background-color: ${({ theme }) => theme.palette.black};\n position: absolute;\n top: 0;\n left: 50%;\n`\n\nexport const NoGlassesIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n \n \n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const ShareIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const SaveIcon: React.FC = ({ width = '1em', height = '1em', fill = '#000' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const InfoIcon: React.FC = ({ width = '1em', height = '1em', fill = '#fff' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const FocusIcon: React.FC = ({\n width = pxToEm(48),\n height = pxToEm(48),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const ArrowIcon: React.FC = () => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const QRCodeIcon: React.FC = ({\n width = pxToEm(32),\n height = pxToEm(32),\n fill = '#fff',\n}: IconProps) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const RotateIcon: React.FC = ({\n width = '36px',\n height = '36px',\n fill = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const RotateIconDesktop: React.FC = ({\n width = '36px',\n height = '36px',\n fill = '#fff',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const MenuOpen: React.FC = ({ width = '35px', height = '28px' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const MenuClose: React.FC = ({ width = '35px', height = '28px' }) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\n\nexport const CloseScreenshotIcon: React.FC = ({\n width = '1em',\n height = '1em',\n fill = '#fff',\n stroke = '#fff',\n}) => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const CheckIcon: React.FC = () => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const RelaxFaceIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const EyeglassesOffIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const HoldDeviceIcon: React.FC = ({\n width = pxToEm(30),\n height = pxToEm(30),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const TransitionIconReduced: React.FC = () => {\n return (\n \n )\n}\n","import React from 'react'\n\nexport const TransitionsIcon: React.FC = () => {\n return (\n \n )\n}\n","import { IconProps } from '@customTypes/icons'\nimport { pxToEm } from '@libs/styled'\nimport React from 'react'\n\nexport const TurnFaceIcon: React.FC = ({\n width = pxToEm(32),\n height = pxToEm(32),\n fill = '#000',\n}) => {\n return (\n \n )\n}\n","import styled from 'styled-components'\n\nexport const ModalWindowOverlay = styled.div`\n z-index: 1000;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n background: rgba(0, 0, 0, 0.25);\n font-size: 16px;\n`\n","import React from 'react'\nimport { usePortalDiv } from '@hooks/usePortalDiv'\nimport ReactDOM from 'react-dom'\nimport { ModalWindowOverlay } from '@components/core/Modal/styles'\n\ninterface ModalWindowProps {\n visible?: boolean\n onOverlayClick?: () => void\n children: React.ReactNode\n className?: string\n}\nconst modalWindowClassName = 'modal__container'\n\nconst ModalBaseContainer: React.FC = ({ visible, onOverlayClick, children }) => {\n if (!visible) return null\n\n return (\n <>\n \n {children}\n >\n )\n}\n\nexport const Modal: React.FC = ({ children, className, ...props }) => {\n const divEl = usePortalDiv(modalWindowClassName)\n\n if (!divEl) return null\n\n return ReactDOM.createPortal(\n \n {children}\n ,\n divEl\n )\n}\n","import styled, { css } from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nexport const Overlay = styled.div<{ toTop?: boolean; toBottom?: boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 50%;\n opacity: 0.55;\n background-image: linear-gradient(to right, #000 10%, rgba(0, 0, 0, 0) 96%);\n\n ${({ toTop }) =>\n toTop &&\n css`\n top: auto;\n height: ${pxToEm(250)};\n right: 0;\n background-image: linear-gradient(to top, #000 10%, rgba(0, 0, 0, 0) 96%);\n `}\n\n ${({ toBottom }) =>\n toBottom &&\n css`\n bottom: auto;\n height: ${pxToEm(250)};\n right: 0;\n background-image: linear-gradient(to bottom, #000 10%, rgba(0, 0, 0, 0) 96%);\n `}\n`\n","import { Overlay } from './styles'\n\nexport const OverlayWrapper: React.FC = () => {\n return (\n <>\n \n \n \n >\n )\n}\n","import React from 'react'\nimport { OkCTA, StickyWrapper } from './styles'\n\nenum BGEnum {\n video = 'var(--vm-components-action-video-bg)',\n}\n\nenum ColorEnum {\n video = 'var(--vm-components-action-video-text)',\n}\n\ntype BtnBG = keyof typeof BGEnum\ntype BtnTxt = keyof typeof ColorEnum\n\ninterface StickyButtonProps {\n bgColor?: BtnBG\n color?: BtnTxt\n children: React.ReactNode\n onClick: () => void\n}\n\nconst StickyButton: React.FC = ({ bgColor, color, children, onClick }) => {\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default StickyButton\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\nimport { Button } from '../Button'\n\nexport const StickyWrapper = styled.div`\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.palette.white[100]};\n height: ${pxToEm(93)};\n box-shadow: 0 -${pxToEm(14)} ${pxToEm(10)} -${pxToEm(8)} rgba(0, 0, 0, 0.12);\n\n // applicable to all ipads\n ${({ theme }) => theme.media.ipad['9.7']} {\n background: transparent;\n box-shadow: unset;\n height: ${pxToEm(25 + 93)};\n padding-bottom: ${pxToEm(25)};\n }\n`\n\nexport const OkCTA = styled(Button)`\n background: ${({ theme, bgColor }) => bgColor || theme.palette.primary.black[100]};\n color: ${({ theme, txtColor }) => txtColor || theme.palette.primary.white[100]};\n\n padding: 0 ${pxToEm(29)};\n width: fit-content;\n height: ${pxToEm(56)};\n border-radius: ${pxToEm(50)};\n margin: 0;\n`\n","import { Product } from '@customTypes/product'\nimport { useCallback, useMemo } from 'react'\nimport { useConfig } from '@providers/configProvider'\n// import { useAddToCart as useAddToCartAnalytics } from '@libs/analytics'\n\ninterface UseAddToCart {\n product: Product\n}\n\nexport const useAddToCart = ({ product }: UseAddToCart) => {\n const { prices, onAddToBag } = useConfig()\n\n const currentProductPrice = useMemo(() => {\n return prices?.find(p => p.upc === product.upc)\n }, [product.upc, prices])\n\n // const trackAddToCart = useAddToCartAnalytics(product, currentProductPrice)\n\n const addToCart = useCallback(() => {\n onAddToBag && onAddToBag(product)\n // trackAddToCart()\n }, [product, onAddToBag])\n\n return { addToCart, currentProductPrice }\n}\n","import { Product } from '@customTypes/product'\nimport { truncateString } from '@libs/truncateString'\nimport { useConfig } from '@providers/configProvider'\nimport { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nexport const useAlternativePath = (product: Product) => {\n const { alternativeDecisionPath, onAlternativeDecisionPath } = useConfig()\n const { t } = useTranslation()\n\n const alternativeDecision = useMemo(() => {\n const { title, text, cta, titleKey, textKey, ctaKey } = alternativeDecisionPath || {}\n\n if (\n !!onAlternativeDecisionPath &&\n product.rxAvailable &&\n (title || text || cta || titleKey || textKey || ctaKey)\n ) {\n const titleTxt = title || t(titleKey || '')\n const descTxt = text || t(textKey || '')\n const ctaTxt = cta || t(ctaKey || '')\n\n // use truncateString() for backward compatibility since it was handled by configuration validation\n return {\n alternativeTitle:\n !!titleTxt && titleTxt !== titleKey ? truncateString(titleTxt, 44) : undefined,\n alternativeText:\n !!descTxt && descTxt !== textKey ? truncateString(descTxt, 100) : undefined,\n alternativeCtaTxt: !!ctaTxt && ctaTxt !== ctaKey ? truncateString(ctaTxt, 24) : undefined,\n alternativeBtn: onAlternativeDecisionPath,\n }\n }\n\n return {}\n }, [alternativeDecisionPath, onAlternativeDecisionPath, product.rxAvailable, t])\n\n return { alternativeDecision, isAlternativePath: Object.keys(alternativeDecision).length > 0 }\n}\n","import { Queue } from '@customTypes/animationApp'\nimport {\n setCompleteAnimation,\n setCurrentAnimation,\n restartMenuAnimation,\n} from '@store/actions/animationApp'\nimport { AppState } from '@store/index'\nimport { useCallback, useEffect, useRef } from 'react'\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux'\n\nexport const useAnimationApp = () => {\n const { currentAnimation, isComplete, animationQueue } = useSelector(\n (s: AppState) => s.animationApp,\n shallowEqual\n )\n\n const dispatch = useDispatch()\n\n const setAnimation = useCallback(\n (animation: Queue | null) => {\n dispatch(setCurrentAnimation(animation))\n },\n [dispatch]\n )\n\n const completeAnimation = useCallback(() => {\n dispatch(setCompleteAnimation())\n }, [dispatch])\n\n const setNextAnimation = useCallback(() => {\n const next = animationQueue[0]\n if (!next) {\n completeAnimation()\n setAnimation(null)\n return\n }\n setAnimation(next)\n }, [animationQueue, setAnimation, completeAnimation])\n\n const resetMenuAnimation = useCallback(() => {\n dispatch(restartMenuAnimation())\n }, [dispatch])\n\n return {\n currentAnimation,\n isComplete,\n setAnimation,\n setNextAnimation,\n resetMenuAnimation,\n animationQueue,\n }\n}\n\nexport const useInitAnimationApp = () => {\n const { setAnimation, currentAnimation, animationQueue, isComplete, resetMenuAnimation } =\n useAnimationApp()\n\n useEffect(() => {\n if (!isComplete && !currentAnimation) {\n const firstAnimation = animationQueue[0]\n setAnimation(firstAnimation)\n }\n }, [currentAnimation, isComplete, animationQueue, setAnimation])\n\n return {\n resetMenuAnimation,\n }\n}\n\nexport const TIME_TO_SHOW = 3000 // Due to requirements\n\nexport const useAnimation = (\n conditionStart: boolean,\n conditionEnd: boolean,\n cbOnStart: () => void,\n cbOnEnd: () => void,\n animation: Queue,\n time = TIME_TO_SHOW\n) => {\n const timer = useRef | null>(null)\n const { currentAnimation, setNextAnimation } = useAnimationApp()\n\n const isAnimationMatch = currentAnimation === animation\n\n useEffect(() => {\n if (conditionStart && isAnimationMatch) {\n cbOnStart()\n }\n }, [conditionStart, cbOnStart, isAnimationMatch])\n\n useEffect(() => {\n if (conditionEnd && isAnimationMatch) {\n timer.current = setTimeout(() => {\n cbOnEnd()\n setNextAnimation()\n }, time)\n }\n }, [conditionEnd, setNextAnimation, cbOnEnd, isAnimationMatch, time])\n\n useEffect(() => {\n return () => {\n timer.current && clearTimeout(timer.current)\n timer.current = null\n }\n }, [])\n}\n","import { Dispatch, SetStateAction, useCallback, useState } from 'react'\n\ntype UseAsync = {\n error: boolean\n setError: Dispatch>\n loading: boolean\n setLoading: Dispatch>\n setData: Dispatch>\n run: (...args: I) => Promise\n data: O | null\n}\n\nexport const useAsync = (\n getFunction: (...args: I) => Promise\n): UseAsync => {\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(false)\n const [data, setData] = useState(null)\n\n const run = useCallback(\n async (...args: I) => {\n try {\n setLoading(true)\n const data = await getFunction(...args)\n if (!data) {\n throw new Error('Data not found')\n }\n setData(data)\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error)\n setError(true)\n setData(null)\n } finally {\n setLoading(false)\n }\n },\n [getFunction]\n )\n return {\n error,\n setError,\n loading,\n setLoading,\n setData,\n run,\n data,\n }\n}\n","import { useState, useEffect, useRef } from 'react'\nimport { debounce } from 'lodash'\n\nexport const LAYOUT_ID = 'vm-layout'\nconst RESIZE_DELAY = 300\n\nconst getSelectorDimensions = (container: HTMLElement | null) => {\n if (!container) {\n return {\n width: undefined,\n height: undefined,\n }\n }\n\n const { offsetWidth: width, offsetHeight: height } = container\n\n return {\n width,\n height,\n }\n}\n\nexport const useDimensions = (elem?: HTMLElement | null) => {\n const container = useRef(document.getElementById(LAYOUT_ID))\n\n useEffect(() => {\n if (elem) {\n container.current = elem\n }\n }, [elem])\n\n const [selectorDimensions, setSelectorDimensions] = useState(\n getSelectorDimensions(container?.current)\n )\n\n useEffect(() => {\n function handleResize() {\n setSelectorDimensions(getSelectorDimensions(container?.current))\n }\n const debouncedHandleResize = debounce(handleResize, RESIZE_DELAY)\n\n window.addEventListener('resize', debouncedHandleResize)\n return () => window.removeEventListener('resize', debouncedHandleResize)\n }, [])\n return selectorDimensions\n}\n","import { useRef, useEffect } from 'react'\n\nexport const useInterval = (callback: () => void, delay: number) => {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n const savedCallback = useRef<() => void>(() => {})\n\n useEffect(() => {\n savedCallback.current = callback\n }, [callback])\n\n useEffect(() => {\n function tick() {\n savedCallback.current()\n }\n\n const interval = setInterval(tick, delay)\n return () => clearInterval(interval)\n }, [delay])\n}\n","import { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { setModalVisibility } from '@store/actions/ui'\n\nexport const useModal = () => {\n const dispatch = useDispatch()\n\n const isModalVisible = useSelector((s: AppState) => s.ui.isModalVisible)\n\n const toggleModalVisibility = () => {\n dispatch(setModalVisibility(!isModalVisible))\n }\n\n return {\n isModalVisible,\n toggleModalVisibility,\n }\n}\n","import { useCallback, useEffect } from 'react'\n\nenum OverlayContainer {\n vm = '.vm-swipeable-container #notification',\n vto = '.vto-swipeable-container .two-finger-overlay',\n}\n\ntype OverlayContainerType = keyof typeof OverlayContainer\n\nexport const useMoveGlassObserver = (isReady: boolean, className: OverlayContainerType) => {\n const selector = OverlayContainer[className]\n const showClassName = className === 'vto' ? 'visible' : 'show'\n\n const moveGlassesObserver = useCallback(() => {\n const overlay = document.querySelector(selector)\n\n // VM can open overlay every 2mins\n // VTO opens only at first touch\n if (overlay) {\n if (\n !overlay.classList.contains(showClassName) &&\n !overlay.classList.contains('overlay-hide')\n ) {\n // wait until animation finish then hide the overlay\n setTimeout(\n () => {\n overlay.classList.add('overlay-hide')\n },\n showClassName === 'visible' ? 3100 : 550\n )\n }\n }\n }, [selector, showClassName])\n\n const isMoveGlassesShow = useCallback(() => {\n const overlay = document.querySelector(selector)\n\n let isVisible = false\n if (overlay) {\n isVisible = overlay.classList.contains('visible')\n }\n\n return isVisible\n }, [selector])\n\n useEffect(() => {\n const observer = new MutationObserver(moveGlassesObserver)\n\n if (isReady) {\n const overlay = document.querySelector(selector)\n if (overlay) {\n // need to hide the overlay on top of VTO/VM swipeable container\n if (!overlay.classList.contains(showClassName)) {\n overlay.classList.add('overlay-hide')\n }\n observer.observe(overlay, { attributes: true })\n }\n }\n\n return () => {\n observer.disconnect()\n }\n }, [isReady, selector, showClassName, moveGlassesObserver])\n\n return {\n isMoveGlassesShow,\n }\n}\n","import { useEffect, useState } from 'react'\nimport { LAYOUT_ID } from './useDimensions'\n\nexport const usePortalDiv = (className = '') => {\n const [divEl, setDivEl] = useState()\n\n useEffect(() => {\n const layout = document.getElementById(LAYOUT_ID)\n const portalElement =\n document.querySelector(`.${className}`) ||\n layout?.appendChild(document.createElement('div', {}))\n portalElement?.classList.add(className)\n\n setDivEl(portalElement)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return divEl\n}\n","import { useEffect, useRef } from 'react'\n\nexport const useRefValue = (value: T): React.MutableRefObject => {\n const ref = useRef(value)\n useEffect(() => {\n ref.current = value\n })\n return ref\n}\n","import { useState, useEffect } from 'react'\nimport { Color, Product } from '@customTypes/product'\nimport { uniq } from 'lodash'\nimport { notUndefined } from '@libs/utils'\nimport { useUpcAvailability } from './useUpcAvailability'\nimport { AppState } from '@store/index'\nimport { useSelector } from 'react-redux'\nimport { useScreenshot } from './useScreenshot'\nimport { getAvailableColors } from '@utils/filterColors'\n\nexport const useVirtualMirrorApp = () => {\n // App\n const [isReady, setIsReady] = useState(false)\n const [isVMInitialized, setIsVMInitialized] = useState(false)\n const [isPreparingScreenshot, setIsPreparingScreenshot] = useState(false)\n const [isProductLoaded, setIsProductLoaded] = useState(false)\n const { image, setImage } = useScreenshot()\n const [isConfigurator, setIsConfigurator] = useState(false)\n\n // Products\n useUpcAvailability(isProductLoaded, setIsProductLoaded)\n const vmProducts: Product[] = useSelector((s: AppState) => s.products.vmProducts)\n const [currentProduct, setCurrentProduct] = useState(null)\n\n const changeUpc = (upc: string) => {\n const product = vmProducts.find(p => p.upc === upc)\n if (product) {\n setCurrentProduct(product)\n }\n }\n\n // Colors\n const [colors, setColors] = useState([])\n const [currentColor, setCurrentColor] = useState('')\n const [colorsCatalog, setColorsCatalog] = useState([])\n\n // Lenses\n const [currentLens, setCurrentLens] = useState()\n const [lensCatalog, setLensCatalog] = useState([])\n const [lensActivation, setLensActivation] = useState(1)\n\n const changeLens = (lens: string) => {\n setCurrentLens(lens)\n if (colorsCatalog.length > 0) {\n const colorsFilterByLens = colors.filter(color => color.lensName === lens)\n\n const colorsFiltered = getAvailableColors(currentProduct, colorsFilterByLens)\n\n if (colorsFiltered.length > 0) {\n setColorsCatalog(colorsFiltered)\n setCurrentColor(colorsFiltered[0].colorCode)\n }\n }\n }\n\n // UserId\n const [userId, setUserID] = useState('')\n\n // Transition view\n const [isTransitionActive, setTransitionActive] = useState(false)\n\n const toggleTransitionActive = () => {\n setTransitionActive(c => !c)\n }\n\n useEffect(() => {\n const selectedUpc = vmProducts.find(i => i.isSelected) || vmProducts[0]\n if (selectedUpc) {\n setCurrentProduct(selectedUpc)\n }\n }, [vmProducts])\n\n useEffect(() => {\n const debounce = setTimeout(() => {\n if (!isConfigurator) {\n const lenses = uniq(colors.map(c => c.lensName))\n\n const availColors = getAvailableColors(currentProduct, colors)\n\n const filteredLenses = lenses\n .filter(lens => availColors.some(color => color.lensName === lens))\n .filter(notUndefined)\n\n const currentLens = filteredLenses[0]\n\n const filteredColors = availColors.filter(color => color.lensName === currentLens)\n const color = filteredColors.length > 0 ? filteredColors[0]?.colorCode : ''\n setCurrentColor(color)\n setCurrentLens(currentLens)\n setColorsCatalog(filteredColors)\n setLensCatalog(filteredLenses)\n }\n }, 300)\n\n return () => {\n clearTimeout(debounce)\n }\n }, [isConfigurator, colors, currentProduct])\n\n return {\n isReady,\n isPreparingScreenshot,\n\n isVMInitialized,\n currentProduct,\n\n colors,\n currentColor,\n colorsCatalog,\n\n currentLens,\n lensCatalog,\n lensActivation,\n\n userId,\n\n isTransitionActive,\n\n vmProducts,\n isProductLoaded,\n image,\n isConfigurator,\n\n setIsReady,\n setIsVMInitialized,\n setIsPreparingScreenshot,\n\n setCurrentProduct,\n changeUpc,\n\n setColors,\n setCurrentColor,\n setColorsCatalog,\n\n setLensCatalog,\n setLensActivation,\n changeLens,\n\n setUserID,\n\n toggleTransitionActive,\n setImage,\n setIsConfigurator,\n }\n}\n","import { Screenshot } from '@customTypes/screenshot'\nimport { useState } from 'react'\n\nexport const useScreenshot = () => {\n const [image, setImage] = useState()\n\n return {\n image,\n setImage,\n }\n}\n","import React, { useCallback, useEffect, useMemo } from 'react'\nimport { useConfig } from '@providers/configProvider'\nimport { VirtualMirrorCatalogue } from '@luxottica/virtual-mirror'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { setVmProducts } from '@store/actions/products'\nimport { Product } from '@customTypes/product'\n\nexport const useUpcAvailability = (\n isProductLoaded: boolean,\n setIsProductLoaded: React.Dispatch>\n) => {\n const dispatch = useDispatch()\n\n const { products, vmInit } = useConfig()\n const vmProducts = useSelector((s: AppState) => s.products.vmProducts)\n\n const upcs = useMemo(() => {\n return products.map(p => p.upc)\n }, [products])\n\n const getIsUpcSupported = useCallback(async () => {\n let filteredProducts: Product[] = []\n\n try {\n const catalogueUpcs = await VirtualMirrorCatalogue.build({\n // Use any due to impossible to import GlassesEnvironment type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...((vmInit.glassesEnv && { catalogueEnvironment: vmInit.glassesEnv }) as any),\n key: vmInit.key,\n }).isUpcSupportedImproved(...upcs)\n\n let availableList: string[] = []\n\n for (const upc of catalogueUpcs) {\n if (upc.isAvailable()) availableList.push(upc.getUpc())\n }\n\n filteredProducts = products.filter(p => availableList.includes(p.upc))\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error checking if upc is supported ${error}`)\n }\n\n dispatch(setVmProducts(filteredProducts))\n setIsProductLoaded(true)\n }, [dispatch, products, setIsProductLoaded, upcs, vmInit.glassesEnv, vmInit.key])\n\n useEffect(() => {\n if (!isProductLoaded) {\n if (!!upcs.length && !vmProducts.length) {\n getIsUpcSupported()\n } else setIsProductLoaded(true)\n }\n }, [getIsUpcSupported, isProductLoaded, setIsProductLoaded, upcs, vmProducts])\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { BackendModule, ReadCallback, ResourceLanguage } from 'i18next'\n\nimport { merge } from 'lodash'\n\ninterface BackendOptions {\n /**\n * array of existing i18next backends from https://www.i18next.com/plugins-and-utils.html#backends\n */\n backends?: BackendModule[]\n /**\n * array of options in order of backends above\n */\n backendOptions?: unknown[]\n}\n\nexport function createClassOnDemand(ClassOrObject: {} | (() => void)) {\n if (!ClassOrObject) return null\n if (typeof ClassOrObject === 'function') return new ClassOrObject()\n return ClassOrObject\n}\n\nexport function isResourceLanguage(data: any): data is ResourceLanguage {\n return !!data && Object.keys(data).length > -1\n}\n\nclass I18NextMergeBackend implements BackendModule {\n static type = 'backend'\n type: 'backend' = 'backend'\n services: any\n backends: BackendModule[]\n options: BackendOptions\n\n constructor(services?: any, options: BackendOptions = {}) {\n this.backends = []\n this.options = merge({}, options)\n this.init(services, options)\n }\n\n init(services?: any, options: BackendOptions = {}, i18nextOptions?: any) {\n this.services = services\n this.options = merge(this.options || {}, options)\n\n this.options.backends &&\n this.options.backends.forEach((b, i) => {\n this.backends[i] = this.backends[i] || createClassOnDemand(b)\n const backendOption = this.options.backendOptions && this.options.backendOptions[i]\n this.backends[i].init(services, backendOption, i18nextOptions)\n })\n }\n\n async read(language: string, namespace: string, callback: ReadCallback) {\n const results = await Promise.all(\n this.backends.map(\n backend =>\n new Promise(resolve => {\n backend.read(language, namespace, (err, data) => {\n if (err) {\n return resolve(null)\n }\n\n if (isResourceLanguage(data)) {\n if (backend.save) {\n backend.save(language, namespace, data)\n }\n\n resolve(data)\n }\n\n resolve(null)\n })\n })\n )\n )\n\n const validResults = results.filter(isResourceLanguage)\n\n if (validResults.length > 0) {\n const mergedResult = merge({}, ...validResults)\n callback(null, mergedResult)\n } else {\n callback(new Error('none of the backend loaded data'), false)\n }\n }\n\n create(languages: string[], namespace: string, key: string, fallbackValue: string) {\n this.backends.forEach(b => {\n if (b.create) b.create(languages, namespace, key, fallbackValue)\n })\n }\n}\n\nexport default I18NextMergeBackend\n","import i18next, { InitOptions } from 'i18next'\nimport { merge } from 'lodash'\nimport { initReactI18next, useTranslation } from 'react-i18next'\nimport HttpBackend from 'i18next-http-backend'\nimport Backend from './utils/I18NextMergeBackend'\nimport { Config } from '@customTypes/config'\n\nimport config from './config'\nimport { useConfig } from '@providers/configProvider'\nimport { useCallback, useState } from 'react'\n\nimport { getPictureId, getVideoId } from '@utils/sessionStorage'\nimport { isPrivacyCookieAccepted } from '@utils/cookies'\nimport { fallbackLanguage } from '@utils/language'\n\nconst DEFAULT_NS = 'application'\n\nconst getEnv = (env: string) => {\n const envs: Record = {\n ACCEPTANCE: 'test',\n STAGING: 'dev',\n PRODUCTION: 'prod',\n }\n return envs[env] || 'prod'\n}\n\nconst getResourceUrl = () => {\n const env = getEnv(config.vmEnv)\n const baseUrl =\n config.baseUrl && config.baseUrl.endsWith('/') ? config.baseUrl : `${config.baseUrl}/`\n\n return [\n `${config.translationPath}/vmmv/v1/${env}/application/{{ns}}_{{lng}}.json` || '',\n `${config.translationPath}/vto/v1/${env}/ui/{{ns}}_{{lng}}.json` || '',\n `${config.translationPath}/vmmv/v1/${env}/ui/{{ns}}_{{lng}}.json` || '',\n `${config.translationPath}/vmmv/v1/${env}/privacy/{{ns}}_{{lng}}.json` || '',\n `${baseUrl}locales/{{lng}}/{{ns}}.json`,\n ]\n}\n\nconst getInitConfig = (config: Config): InitOptions => {\n return {\n lng: config.locale,\n ns: [DEFAULT_NS],\n defaultNS: DEFAULT_NS,\n fallbackLng: fallbackLanguage(config),\n debug: true,\n load: 'currentOnly',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n }\n}\n\nconst initI18n = (config: Config) => {\n const i18n = i18next.createInstance()\n const { experience } = config\n let i18nOptions = getInitConfig(config)\n\n const { isTryOnEnabled, isPictureModeEnabled, isVideoModeEnabled } = config\n const pictureId = getPictureId()\n const videoId = getVideoId()\n\n // load translation if live try on is disabled and if PP is accepted - this will redirect to either picture mode or video mode instruction\n // if a has a picture or video then load the translation after VTO initialize otherwise load the translation imediately because it would land in the instruction page\n const loadTranslation =\n (isTryOnEnabled === false || (!!experience && experience !== 'live-try-on')) &&\n isPrivacyCookieAccepted() === true &&\n ((isPictureModeEnabled && !pictureId) || (isVideoModeEnabled && !videoId))\n\n if (loadTranslation) {\n const backendConfig = {\n backends: [HttpBackend, HttpBackend, HttpBackend, HttpBackend, HttpBackend],\n backendOptions: getResourceUrl().map(u => ({ loadPath: u })),\n debounceInterval: 2000,\n }\n\n i18nOptions = { ...i18nOptions, backend: backendConfig as object }\n i18n.use(Backend).use(initReactI18next).init(i18nOptions)\n } else {\n i18nOptions = {\n ...i18nOptions,\n resources: {},\n react: {\n useSuspense: false,\n },\n }\n i18n.use(initReactI18next).init(i18nOptions)\n }\n\n return i18n\n}\n\nexport const useI18nInstance = () => {\n const config = useConfig()\n return initI18n(config)\n}\n\nexport const useTranslationInit = () => {\n const { i18n } = useTranslation()\n const config = useConfig()\n\n const [isTranslationLoaded, setIsTranslationLoaded] = useState(false)\n\n const initTranslation = useCallback(async () => {\n const fallbackLocale = fallbackLanguage(config)\n\n // if initial locale is undefined\n const locale = config.locale || fallbackLocale\n\n const fetchTranslation = (u: string, locale: string) => {\n const url = u.replace('{{lng}}', locale).replace('{{ns}}', DEFAULT_NS)\n return fetch(url).then(r => r.json())\n }\n\n // if initial locale is invalid use fallback\n const fetchFallback = (u: string) => fetchTranslation(u, fallbackLocale)\n\n const data = i18n.getResourceBundle(locale, DEFAULT_NS)\n\n // code guard, only if translation is empty, then refetch\n if (!data) {\n // add resources\n const resourceData = await Promise.all(\n getResourceUrl().map(u => fetchTranslation(u, locale).catch(() => fetchFallback(u)))\n )\n\n const mergeTranslation = merge({}, ...resourceData)\n i18n.addResourceBundle(locale, DEFAULT_NS, mergeTranslation)\n\n // eslint-disable-next-line no-console\n console.log('i18n', 'translation loaded after VM or VTO initialize')\n }\n\n setIsTranslationLoaded(true)\n }, [config, i18n])\n\n return {\n isTranslationLoaded,\n initTranslation,\n }\n}\n","import { VirtualMirror } from '@luxottica/virtual-mirror'\n\nconst addQueryParamsToUrl = (url: string, params: string[]) => {\n const [origin, query] = url.split('?')\n if (!query) {\n return `${url}?${params.join('&')}`\n }\n return `${origin}?${[query, ...params].join('&')}`\n}\n\nexport const getVmVersion = () => {\n const ver = VirtualMirror.version()\n return ver.replace('v', '')\n}\n\nexport const addAnalyticsQueryParam = (url: string) => addQueryParamsToUrl(url, ['CID=IT-WVM'])\n\n/**\n * The returned function is executed only once and the result is\n * * @param {string}\n * * @returns {string}\n */\nconst executedList: Record = {}\nexport function executeOnce(\n cb: (...args: Args) => Return,\n id: string\n) {\n return (...args: Args): Return => {\n const hasBeenExecuted = id in executedList\n if (hasBeenExecuted) return executedList[id] as Return\n\n const returnedValue = cb(...args)\n executedList[id] = returnedValue\n return returnedValue\n }\n}\n","import config from '@config/index'\nimport { Product } from '@customTypes/product'\nimport { getVmVersion } from './utils'\n\nexport type Sources = typeof sources[keyof typeof sources]\nexport type Ids = typeof ids[keyof typeof ids]\nexport type ValueTypes = typeof valueTypes[keyof typeof valueTypes]\nexport type LensTypes = typeof lensTypes[keyof typeof lensTypes]\nexport type ProductStatus = typeof productStatus[keyof typeof productStatus]\nexport type FrameTypes = typeof frameTypes[keyof typeof frameTypes]\nexport type Category = typeof category[keyof typeof category]\nexport type TakeMode = typeof takeMode[keyof typeof takeMode]\nexport type Sections = typeof sections[keyof typeof sections]\n\nexport interface ErrorData {\n id?: Ids\n Error_Source?: Sources // \"Server\" if error generated or managed by server side, \"Client\" if error generated by code in page usually for a catched JS error or unexpected error/behavior of page/content\n Error_Code: string\n Error_Details: string // alphanumeric - Error cause/source. Must specify details to drive IT through an exact fix\n}\n\ninterface ClickData {\n id?: Ids\n data_element_id: string\n data_analytics_available_call?: ValueTypes\n}\n\ninterface BaseEventData {\n id?: Ids\n Take_Mode?: TakeMode\n Vm_Release?: string\n}\n\ninterface DefaultImpressionData {\n id?: Ids\n Page_Section1?: Sections\n Page_Section2: string\n}\n\ntype ProductUpc = {\n Category: Category // SUN, OPTICS\n FrameType: FrameTypes\n}\n\ntype CartProductUpc = ProductUpc & {\n LensType: LensTypes\n Price: string // i.e. \"113.60\". Displayed final price per unit (-product discount, -prod insurance)\n PriceFull: string // i.e. \"142.00\". Displayed list price per unit before any discount\n Status?: ProductStatus // PIM stock status properties\n}\n\nexport type DefaultProduct = Record // UPC Number\ntype CartProduct = Record\n\ninterface CartEventData extends BaseEventData {\n Events_CartAdd: ValueTypes\n Products: CartProduct\n}\n\ninterface WishlistEventData extends BaseEventData {\n Events_ProdFavAdd: ValueTypes\n Products: DefaultProduct\n}\n\ninterface ShareEventData extends BaseEventData {\n Events_SocialShare: ValueTypes\n}\n\ninterface ScreenshotEventData extends BaseEventData {\n Events_VMScreenshot: ValueTypes\n}\n\ninterface FitGlassesEventData extends BaseEventData {\n Events_VMFit: ValueTypes\n}\n\ninterface VirtualMirrorImpressionData extends DefaultImpressionData {\n Events_VMRender: ValueTypes\n Products: DefaultProduct\n}\n\nexport type ImpressionData = VirtualMirrorImpressionData\n\nexport type EventData =\n | CartEventData\n | WishlistEventData\n | ShareEventData\n | ScreenshotEventData\n | FitGlassesEventData\n\nexport type Data = ErrorData | ClickData | EventData | ImpressionData\n\ndeclare global {\n interface Window {\n tealium_data2track: Array\n utag_data: {\n tealium_visitor_id?: string\n tealium_session_id?: string\n Page_Environment?: string\n Page_Platform?: string\n Page_Brand?: string\n Page_Country?: string\n Store_Id?: string\n utag_env?: string\n utag_plt?: string\n utag_brnd?: string\n utag_strid?: string\n utag_strrgn?: string\n }\n }\n}\n\nexport const takeMode = {\n vto: 'vto',\n video: 'video',\n picture: 'picture',\n pictureUpload: 'picture upload',\n} as const\n\nexport const valueTypes = {\n Positive: '1',\n Negative: '0',\n} as const\n\nexport const ids = {\n Click: 'Click',\n Impression: 'Impression',\n Event: 'Event',\n Error: 'Error',\n} as const\n\nexport const sources = {\n Client: 'Client',\n User: 'User',\n Server: 'Server',\n} as const\n\nexport const category = {\n Sun: 'SUN',\n Optics: 'OPTICS',\n} as const\n\nexport const frameTypes = {\n Std: 'STD',\n Cp: 'CP',\n} as const\n\nexport const lensTypes = {\n Plano: 'PLANO',\n} as const\n\nexport const productStatus = {\n Available: 'Available',\n} as const\n\nexport const sections = {\n VirtualMirror: 'VirtualMirror',\n} as const\n\nexport const getCategory = (product: Product) => {\n return product.category?.toLowerCase()?.includes('sun') ? category.Sun : category.Optics\n}\n\nexport const getFrameType = (product: Product) => {\n return product.isCustom ? frameTypes.Cp : frameTypes.Std\n}\n\nexport const formatAnalyticsProducts = (products: Product[]): DefaultProduct => {\n return products.reduce((acc, pr) => {\n const id = pr.isCustom ? pr.code : pr.upc\n return { ...acc, [id]: { Category: getCategory(pr), FrameType: getFrameType(pr) } }\n }, {})\n}\n\nconst track = (data: Data) => {\n if (config.debugAnalytics) {\n // eslint-disable-next-line no-console\n console.trace(data)\n }\n if (window.tealium_data2track) {\n window.tealium_data2track.push(data)\n }\n}\n\nexport const trackAttribute = (data: ClickData) => track({ ...data, id: ids.Click })\n\nexport const trackClientError = (data: ErrorData) =>\n track({ ...data, id: ids.Error, Error_Source: sources.Client, Vm_Release: getVmVersion() })\n\nexport const trackUserError = (data: ErrorData) =>\n track({ ...data, id: ids.Error, Error_Source: sources.User, Vm_Release: getVmVersion() })\n\nexport const trackEvent = (data: EventData) =>\n track({ ...data, id: ids.Event, Vm_Release: getVmVersion() })\n\nexport const trackOnload = (data: ImpressionData) =>\n track({\n ...data,\n id: ids.Impression,\n Page_Section1: sections.VirtualMirror,\n Vm_Release: getVmVersion(),\n })\n\nexport const trackServerError = (data: ErrorData) =>\n track({ ...data, id: ids.Error, Error_Source: sources.Server, Vm_Release: getVmVersion() })\n","import { Product } from '@customTypes/product'\nimport { category, frameTypes, TakeMode } from './helpers'\nimport { getVmVersion } from './utils'\n\n// URL for all ENV\nconst ROOT_URL = 'https://collect.tealiumiq.com/event'\n\nconst sendtrackData = >(data: I) => {\n const json = JSON.stringify(data)\n fetch(ROOT_URL, { headers: { 'Content-type': 'application/json' }, method: 'post', body: json })\n}\n\nconst getCommonData = (event: string) => {\n return {\n tealium_account: 'luxottica', // Value from analytics\n tealium_profile: 'vmmaster', // Value from analytics\n tealium_datasource: '6dcmo7', // Value from analytics\n tealium_event: event,\n tealium_visitor_id: window?.utag_data?.tealium_visitor_id || '',\n tealium_session_id: window?.utag_data?.tealium_session_id || '',\n page_environment: window?.utag_data?.Page_Environment || window?.utag_data?.utag_env || '',\n page_platform: window?.utag_data?.Page_Platform || window?.utag_data?.utag_plt || '',\n page_brand: window?.utag_data?.Page_Brand || window?.utag_data?.utag_brnd || '',\n country_code: window?.utag_data?.Page_Country || window?.utag_data?.utag_strrgn || '',\n url: location.href || '',\n domain: location.hostname || '',\n store_id: window?.utag_data?.Store_Id || window?.utag_data?.utag_strid || '',\n }\n}\n\nconst getClickData = (label: string) => {\n const commonData = getCommonData('Click')\n return { ...commonData, click_label: label }\n}\n\nconst formatEventData = (products: Product[]) => {\n return products.reduce(\n (acc, pr) => {\n acc.product_id.push(pr.upc)\n acc.product_category.push(pr.category || category.Sun)\n acc.product_frametype.push(pr.isCustom ? frameTypes.Cp : frameTypes.Std)\n return acc\n },\n { product_id: [], product_category: [], product_frametype: [] } as {\n product_id: string[]\n product_category: string[]\n product_frametype: string[]\n }\n )\n}\n\nconst getEventData = (products: Product[], takeMode: TakeMode, event: string) => {\n const formattedEventData = formatEventData(products)\n const commonData = getCommonData(event)\n return {\n ...commonData,\n ...formattedEventData,\n take_mode: takeMode,\n vm_version: getVmVersion(),\n }\n}\n\nconst getErrorData = (source: string, code: string, details: string) => {\n const commonData = getCommonData('error')\n return {\n ...commonData,\n error_source: source,\n error_code: code,\n error_details: details,\n vm_version: getVmVersion(),\n }\n}\n\nexport const trackClickComponentData = (label: string) => {\n const clickData = getClickData(label)\n sendtrackData(clickData)\n}\n\nexport const trackEventComponentData = (products: Product[], takeMode: TakeMode, event: string) => {\n const eventData = getEventData(products, takeMode, event)\n sendtrackData(eventData)\n}\n\nexport const trackErrorComponentData = (source: string, code: string, details: string) => {\n const errorData = getErrorData(source, code, details)\n sendtrackData(errorData)\n}\n\nexport const trackComponentEvent = (event: string) => {\n sendtrackData({ ...getCommonData(event), vm_version: getVmVersion() })\n}\n","import { trackErrorComponentData } from './componentTracking'\nimport { trackClientError, trackUserError, trackServerError, sources } from './helpers'\n\n//* Virtual Mirror\n// onPrivacyFail\nexport const trackVmPrivacyFail = () => {\n const code = 'Vm - Fail'\n const details = 'Privacy process failed due to network errors'\n trackClientError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Client, code, details)\n}\n\n// onPrivacyReject\nexport const trackVmPrivacyReject = () => {\n const code = 'Vm - Reject'\n const details = 'Biometric data consent rejected'\n trackUserError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.User, code, details)\n}\n\n// onInitializeError - Client\nexport const trackVmInitClientError = () => {\n const code = 'Vm - Initialize'\n const details = 'Smth went wrong'\n trackClientError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Client, code, details)\n}\n\n// onWebcamUnavailable\nexport const trackVmWebcamUnavailable = () => {\n const code = 'Vm - Webcam'\n const details = 'Webcam not found'\n trackUserError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.User, code, details)\n}\n// onWebcamDenied\nexport const trackVmWebcamUnaccessible = () => {\n const code = 'Vm - Webcam'\n const details = 'Webcam access was rejected by user'\n trackUserError({\n Error_Code: 'Vm - Webcam',\n Error_Details: 'webcam access was rejected by user',\n })\n trackErrorComponentData(sources.User, code, details)\n}\n// onMirrorWasmFailure\nexport const trackVmWasmUnsupported = () => {\n const code = 'Vm - Render'\n const details = 'Smth went wrong'\n trackClientError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Client, code, details)\n}\n\n//* Picture mode\n// on Upload fail\nexport const trackPicktureUploadFail = () => {\n const code = 'Vm - PicUpload'\n const details = 'Failed to upload picture'\n trackServerError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Server, code, details)\n}\n\n// on taken picture fail\nexport const trackPicktureTakeFail = () => {\n const code = 'Vm - Picture'\n const details = 'Failed taking a picture'\n trackServerError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Server, code, details)\n}\n\n//* Video mode\n// on taken video fail\nexport const trackVideoTakeFail = () => {\n const code = 'Vm - Video'\n const details = 'Failed taking a video'\n trackServerError({\n Error_Code: code,\n Error_Details: details,\n })\n trackErrorComponentData(sources.Server, code, details)\n}\n\n//* Generic error\nexport const trackGenericError = (code: string, message: string) => {\n trackClientError({\n Error_Code: code,\n Error_Details: message,\n })\n trackErrorComponentData(sources.Client, code, message)\n}\n","import { trackClickComponentData } from './componentTracking'\nimport { trackAttribute, valueTypes } from './helpers'\nimport { executeOnce } from './utils'\n\n// Close button\nexport const trackClickButtonClose = () => {\n const label = 'X_X_VirtualMirror_Close'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Menu Try on\nexport const trackClickMenuTryOn = () => {\n const label = 'X_X_VirtualMirror_Menu_TryOn'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Menu Video mode\nexport const trackClickMenuVideo = () => {\n const label = 'X_X_VirtualMirror_Menu_Video'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Menu Picture mode\nexport const trackClickMenuPicture = () => {\n const label = 'X_X_VirtualMirror_Menu_Picture'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Take a picture in picture mode\nexport const trackClickTakePicture = () => {\n const label = 'X_X_VirtualMirror_TakePic'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Upload a picture in picture mode\nexport const trackClickUploadPicture = () => {\n const label = 'X_X_VirtualMirror_UploadPic'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Save img\nexport const trackClickSaveImg = () => {\n const label = 'X_X_VirtualMirror_Share_Img'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Share social\nexport const trackClickShareSocial = () => {\n const label = 'X_X_VirtualMirror_Share_Social'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Transition view\nexport const trackClickTransitionView = () => {\n const label = 'X_X_VirtualMirror_Transitions'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Transition view - Lens\nexport const trackClickTransitionLens = () => {\n const label = 'X_X_VirtualMirror_Transitions_Lens'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Transition view - Color\nexport const trackClickTransitionColor = () => {\n const label = 'X_X_VirtualMirror_Transitions_Color'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Transition view - Frame\nexport const trackClickTransitionFrame = () => {\n const label = 'X_X_VirtualMirror_Transitions_Frame'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Add to wishlist click\nexport const trackClickAddToWishlist = () => {\n const label = 'X_X_VirtualMirror_AddFav'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Add to cart click\nexport const trackClickAddToCart = () => {\n const label = 'X_X_VirtualMirror_AddCart'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n trackClickComponentData(label)\n}\n\n// Brightness bar\nexport const trackClickBrightnessBar = () => {\n const label = 'X_X_VirtualMirror_Transitions_Brightness'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n executeOnce(trackClickComponentData, label)(label)\n}\n\n// Lens carousel\nexport const trackClickLensCarousel = () => {\n const label = 'X_X_VirtualMirror_Transitions_Lens_Carousel'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n executeOnce(trackClickComponentData, label)(label)\n}\n\n// Lens color carousel\nexport const trackClickColorCarousel = () => {\n const label = 'X_X_VirtualMirror_Transitions_Color_Carousel'\n trackAttribute({\n data_element_id: label,\n data_analytics_available_call: valueTypes.Positive,\n })\n executeOnce(trackClickComponentData, label)(label)\n}\n","import { Product, ProductPrice } from '@customTypes/product'\nimport { trackComponentEvent, trackEventComponentData } from './componentTracking'\nimport {\n lensTypes,\n trackEvent,\n valueTypes,\n TakeMode,\n getFrameType,\n getCategory,\n formatAnalyticsProducts,\n} from './helpers'\n\nexport const retrieveDecimalValue = (str?: string) => {\n if (!str) return ''\n const regex = /[+-]?([0-9]*[.])?[0-9]+/\n return str.match(regex)?.[0] || ''\n}\n\nconst trackEventAddToCart = (product: Product, price: string, priceFull: string) => {\n const id = product.isCustom ? product.code : product.upc\n trackEvent({\n Events_CartAdd: valueTypes.Positive,\n Products: {\n [id]: {\n Category: getCategory(product),\n FrameType: getFrameType(product),\n LensType: lensTypes.Plano,\n Price: price,\n PriceFull: priceFull,\n },\n },\n })\n}\n\nconst trackEventAddToWishlist = (product: Product, takeMode: TakeMode) => {\n const formattedProduct = formatAnalyticsProducts([product])\n trackEvent({\n Events_ProdFavAdd: valueTypes.Positive,\n Take_Mode: takeMode,\n Products: {\n ...formattedProduct,\n },\n })\n}\n\nconst trackEventTakePhoto = (product: Product, takeMode: TakeMode) => {\n const formattedProduct = formatAnalyticsProducts([product])\n trackEvent({\n Events_VMScreenshot: valueTypes.Positive,\n Take_Mode: takeMode,\n Products: {\n ...formattedProduct,\n },\n })\n}\n\nconst trackEventSharePhoto = (product: Product, takeMode: TakeMode) => {\n const formattedProduct = formatAnalyticsProducts([product])\n trackEvent({\n Events_SocialShare: valueTypes.Positive,\n Take_Mode: takeMode,\n Products: {\n ...formattedProduct,\n },\n })\n}\n\nconst trackEventFitGlasses = (product: Product, takeMode: TakeMode) => {\n const formattedProduct = formatAnalyticsProducts([product])\n trackEvent({\n Events_VMFit: valueTypes.Positive,\n Take_Mode: takeMode,\n Products: {\n ...formattedProduct,\n },\n })\n}\n\nexport const trackAddToCart = (product: Product, takeMode: TakeMode, price?: ProductPrice) => {\n const formattedPrice = retrieveDecimalValue(price?.current.text)\n const formattedPriceFull = retrieveDecimalValue(price?.previous?.text)\n trackEventAddToCart(product, formattedPrice, formattedPriceFull)\n trackEventComponentData([product], takeMode, 'CartAdd')\n}\n\nexport const trackAddToWishlist = (product: Product, takeMode: TakeMode) => {\n trackEventAddToWishlist(product, takeMode)\n trackEventComponentData([product], takeMode, 'FavAdd')\n}\n\nexport const trackTakePhoto = (product: Product, takeMode: TakeMode) => {\n trackEventTakePhoto(product, takeMode)\n trackEventComponentData([product], takeMode, 'TakeShare')\n}\n\nexport const trackSharePhoto = (product: Product, takeMode: TakeMode) => {\n trackEventSharePhoto(product, takeMode)\n trackEventComponentData([product], takeMode, 'SocialShare')\n}\n\nexport const trackFitGlasses = (product: Product, takeMode: TakeMode) => {\n trackEventFitGlasses(product, takeMode)\n trackEventComponentData([product], takeMode, 'FitGlasses')\n}\n\nexport const trackGR = () => {\n trackComponentEvent('GlassRemoval')\n}\n","import { Product } from '@customTypes/product'\nimport { trackEventComponentData } from './componentTracking'\nimport {\n sections,\n trackOnload,\n valueTypes,\n DefaultProduct,\n TakeMode,\n formatAnalyticsProducts,\n} from './helpers'\n\nconst trackImpressionInitVM = (products: DefaultProduct) => {\n trackOnload({\n Page_Section1: sections.VirtualMirror,\n Page_Section2: 'Render',\n Events_VMRender: valueTypes.Positive,\n Products: products,\n })\n}\n\nexport const trackInitVM = (products: Product[], takeMode: TakeMode) => {\n const formattedProducts = formatAnalyticsProducts(products)\n trackImpressionInitVM(formattedProducts)\n trackEventComponentData(products, takeMode, 'Render')\n}\n","import { ProductPrice, Product } from '@customTypes/product'\nimport {\n liveTryOn,\n pictureModeView,\n pictureMode,\n videoMode,\n videoModeView,\n uploadInstructions,\n} from '@utils/routes'\nimport { useMemo } from 'react'\nimport { useLocation } from 'react-router'\nimport { trackClickAddToCart, trackClickAddToWishlist, trackClickShareSocial } from './clicks'\nimport {\n trackTakePhoto,\n trackSharePhoto,\n trackAddToWishlist,\n trackFitGlasses,\n trackAddToCart,\n} from './events'\nimport { takeMode } from './helpers'\nimport { trackInitVM } from './impressions'\n\nconst pathToTakeMode = {\n [liveTryOn()]: takeMode.vto,\n [pictureMode(pictureModeView())]: takeMode.picture,\n [videoMode(videoModeView())]: takeMode.video,\n [pictureMode(uploadInstructions())]: takeMode.pictureUpload,\n}\n\ntype State = {\n from?: string\n}\n\nconst useTakeMode = () => {\n const location = useLocation()\n const from = (location?.state as State)?.from\n const path = from ? from : location.pathname\n const mode = pathToTakeMode[path]\n\n return useMemo(() => ({ takeMode: mode }), [mode])\n}\n\nexport const useFromPage = () => {\n const location = useLocation()\n const from = (location?.state as State)?.from\n\n return from\n}\n\nexport const useAddToCart = (product: Product, price?: ProductPrice) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n trackClickAddToCart()\n trackAddToCart(product, takeMode, price)\n },\n [product, price, takeMode]\n )\n}\n\nexport const useAddToWishlist = (product: Product) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n trackClickAddToWishlist()\n trackAddToWishlist(product, takeMode)\n },\n [product, takeMode]\n )\n}\n\nexport const useTakePhoto = (product: Product) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n trackTakePhoto(product, takeMode)\n },\n [product, takeMode]\n )\n}\n\nexport const useSharePhoto = (product: Product) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n trackClickShareSocial()\n trackSharePhoto(product, takeMode)\n },\n [product, takeMode]\n )\n}\n\nexport const useFitGlasses = (product: Product | null) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n if (product) trackFitGlasses(product, takeMode)\n },\n [product, takeMode]\n )\n}\n\nexport const useTrackInitVM = (products: Product[]) => {\n const { takeMode } = useTakeMode()\n return useMemo(\n () => () => {\n trackInitVM(products, takeMode)\n },\n [products, takeMode]\n )\n}\n","import config from '@config/index'\nimport colorsData from '../colors.json'\n\nimport { Color } from '@customTypes/product'\n\nexport const getColorSwatches = () => {\n return () =>\n new Promise(resolve => {\n fetch(config.vmColorApiUrl + '/assets/transitions/transitions-swatches.json')\n .then(res => res.json())\n .then(resolve)\n .catch(() => resolve(colorsData)) // we should return the local colors.json if the fetch would failed for fallback capability\n })\n}\n","const PXTOEM_RATIO = 16\n\nexport const pxToEm = (pxValue: number) => {\n //This ratio is the one used as a base font for the body to calculate all the em sizes to use\n return `${(pxValue / PXTOEM_RATIO).toFixed(5)}em`\n}\n","export const getTransitionLensLabel = (lens?: string) =>\n lens === 'SIGNATURE'\n ? 'Transitions® Signature® Gen8™'\n : lens === 'XTRACTIVE'\n ? 'Transitions® Xtractive®'\n : lens === 'VANTAGE'\n ? 'Transitions® XTRActive® Polarized™'\n : ''\n","export const truncateString = (str: string, num: number) => {\n return str.length > num ? str.substring(0, num) + '...' : str\n}\n","export const notUndefined = (x: T | undefined): x is T => x !== undefined\n\nconst isDesktopBrowser =\n !/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(\n navigator.userAgent\n )\n\nconst isIOS = () =>\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 0) ||\n navigator.platform === 'iPad'\n\nexport const isDesktopView = () => {\n return window.innerWidth >= 1024 && isDesktopBrowser && !isIOS()\n}\n\nexport const isMobileView = () => {\n return window.innerWidth < 768\n}\n\nexport const isSmallMobileView = () => {\n return window.innerWidth < 376\n}\n\nexport const isIpadView = () => {\n return (\n window.innerWidth >= 768 &&\n window.innerWidth <= 1024 &&\n window.innerHeight > window.innerWidth &&\n !isDesktopBrowser\n )\n}\n\n// eslint-disable-next-line\nexport const isValidHttpUrl = (url?: any) => {\n let validateUrl\n try {\n validateUrl = new URL(url)\n } catch (_) {\n return false\n }\n return validateUrl?.protocol === 'http:' || validateUrl?.protocol === 'https:'\n}\n","import { Layout } from '@components/Layout'\nimport { VM_READY } from '@components/Loader/loader'\nimport { Outlet } from 'react-router'\n\nconst PictureMode: React.FC = () => {\n return (\n // injects .vm-ready classname to remove the AppLoader component if default visualization mode is picture-mode\n \n \n \n )\n}\n\nexport default PictureMode\n","import styled from 'styled-components'\nimport { pxToEm } from '@libs/styled'\n\nexport const PrivacyPolicyContainer = styled.div`\n #bipa-overlay-root-style.bipa-overlay {\n font-size: ${pxToEm(16)};\n\n p {\n font: ${({ theme }) => theme.fonts.paragraph};\n }\n\n b,\n #BIPA_CITIZEN_QUESTION,\n #PRIVACY_IMPLICIT_TERMS_AND_CONDITIONS {\n font: ${({ theme }) => theme.fonts.paragraphBold};\n }\n\n #bipa-field-warning {\n font-size: ${pxToEm(14)};\n margin-bottom: ${pxToEm(16)};\n }\n }\n\n #bipa-overlay-root-style.bipa-overlay #bipa-component-container {\n max-width: 100%;\n padding: 1em;\n\n ${({ theme }) => theme.media.medium} {\n padding: 2em;\n }\n }\n\n #bipa-overlay-root-style.bipa-overlay #bipa-component-container .scrollable-container {\n padding-bottom: 10%;\n\n ${({ theme }) => theme.media.medium} {\n padding-bottom: 5%;\n }\n }\n\n #bipa-overlay-root-style #privacy-agreement .footer-bar {\n position: absolute;\n z-index: 999;\n }\n\n font: ${({ theme }) => theme.fonts.paragraph};\n\n #bipa-overlay-root-style.bipa-overlay h1,\n #bipa-overlay-root-style #bipa-biometric-agreement #BIOMETRIC_AGREEMENT_TITLE {\n margin: ${pxToEm(6)} 0 ${pxToEm(24)};\n width: 100%;\n text-align: center;\n font: ${({ theme }) => theme.fonts.titleSmall};\n ${({ theme }) => theme.media.medium} {\n margin: ${pxToEm(52)} 0 ${pxToEm(56)};\n }\n }\n\n #bipa-overlay-root-style #privacy-agreement .footer-bar .footer-content {\n padding: 1em;\n\n .line.buttons {\n margin-top: 1em;\n\n span {\n font: ${({ theme }) => theme.fonts.span};\n }\n }\n }\n\n #bipa-overlay-root-style #bipa-biometric-agreement .field input {\n border: solid 1px ${({ theme }) => theme.palette.lightgray};\n border-radius: ${pxToEm(2)};\n height: ${pxToEm(46)};\n padding: 0 ${pxToEm(16)};\n &.error {\n border: solid 1px ${({ theme }) => theme.palette.error};\n }\n }\n\n #bipa-overlay-root-style #bipa-biometric-agreement p#bipa-field-warning.note-warning {\n color: ${({ theme }) => theme.palette.error};\n }\n\n #bipa-overlay-root-style .yes-no-checkbox .switch:focus-within {\n outline: none;\n }\n #bipa-overlay-root-style .yes-no-checkbox .switch:focus {\n outline: none;\n }\n`\n\nexport const PrivacyHeader = styled.div`\n position: relative;\n padding: ${pxToEm(24)} 3em;\n display: flex;\n align-items: center;\n justify-content: center;\n\n h1 {\n text-align: center;\n font: ${({ theme }) => theme.fonts.titleSmall};\n visibility: hidden;\n margin: 0;\n }\n\n &.show {\n h1 {\n visibility: visible;\n }\n }\n\n + #vm-privacy-policy {\n flex: 1;\n overflow: hidden;\n\n #bipa-overlay-root-style.bipa-overlay #bipa-component-container {\n padding-top: 0;\n\n .scrollable-container {\n // padding-right: ${pxToEm(15)};\n\n h1#PRIVACY_AGREEMENT_TITLE {\n display: none;\n }\n }\n }\n }\n\n ${({ theme }) => theme.media.medium} {\n padding: ${pxToEm(70)} 2em ${pxToEm(56)};\n }\n\n ${({ theme }) => theme.media.large} {\n padding: ${pxToEm(40)} 2em ${pxToEm(56)};\n }\n`\n\nexport const CloseIconWrapper = styled.div`\n position: absolute;\n cursor: pointer;\n top: ${pxToEm(12)};\n right: ${pxToEm(15)};\n\n & svg {\n width: ${pxToEm(30)};\n height: ${pxToEm(30)};\n }\n\n ${({ theme }) => theme.media.medium} {\n top: ${pxToEm(34)};\n right: ${pxToEm(35)};\n\n & svg {\n width: ${pxToEm(40)};\n height: ${pxToEm(40)};\n }\n }\n\n ${({ theme }) => theme.media.large} {\n top: ${pxToEm(17)};\n }\n`\n\nexport const LoaderContainer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\n// export const LoaderContainer = styled.div`\n// position: absolute;\n// top: 0;\n// left: 0;\n// right: 0;\n// bottom: 0;\n// display: flex;\n// align-items: center;\n// justify-content: center;\n// `\n","import { IconProps } from '@customTypes/icons'\nimport React from 'react'\nexport const CloseLineIcon: React.FC = ({ width = '32px', height = '32px' }) => {\n return (\n \n )\n}\n","import { Layout } from '@components/Layout'\nimport { VMInitialize } from '@components/VMInitialize'\nimport { useVirtualMirrorApp } from '@hooks/useVirtualMirrorApp'\nimport { useConfig } from '@providers/configProvider'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { BipaPage, VirtualMirror } from '@luxottica/virtual-mirror'\nimport { useDimensions } from '@hooks/useDimensions'\nimport { CloseIconWrapper, PrivacyHeader, PrivacyPolicyContainer } from './styles'\nimport { useNavigate } from 'react-router'\nimport { availableMode } from '@utils/routes'\nimport { useSelector } from 'react-redux'\nimport { AppState } from '@store/index'\nimport { CloseLineIcon } from '@components/core/Icons/CloseLineIcon'\nimport { useTranslation } from 'react-i18next'\nimport { ErrorModal } from '@components/ErrorModal'\nimport { VM_READY } from '@components/Loader/loader'\nimport { useTranslationInit } from 'src/i18n'\n\nconst PRIVACY_POLICY_CONTAINER = 'vm-privacy-policy'\n\nconst closeVirtualMirror = async () => {\n try {\n await VirtualMirror.closeMirror({ target: PRIVACY_POLICY_CONTAINER })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error closing virtual mirror: ${error}`)\n }\n}\n\nconst PrivacyPolicyPage = () => {\n const config = useConfig()\n const {\n setIsReady,\n setIsVMInitialized,\n currentProduct,\n isVMInitialized,\n isProductLoaded,\n vmProducts,\n } = useVirtualMirrorApp()\n\n const navigate = useNavigate()\n const container = useRef(null)\n const isPrivacyAccepted = useSelector((s: AppState) => s.privacyPolicy.isPrivacyAccepted)\n const { width, height } = useDimensions(container.current)\n const [isDisplay, setIsDisplay] = useState(false)\n const [isBipaConsent, setIsBipaConsent] = useState(false)\n\n const renderParams = useMemo(() => {\n if (currentProduct) {\n return {\n target: PRIVACY_POLICY_CONTAINER,\n upc: currentProduct.upc,\n options: {\n ...(width && { width: width }),\n ...(height && { height: height }),\n ...(config.vmInit.glassesEnv && {\n // Use any due to impossible to import GlassesEnvironment type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n environment: { glasses: config.vmInit.glassesEnv as any },\n }),\n },\n }\n }\n\n return null\n }, [currentProduct, width, height, config.vmInit.glassesEnv])\n\n const { t } = useTranslation()\n const { initTranslation, isTranslationLoaded } = useTranslationInit()\n\n const onCloseBtnClick = useCallback(() => {\n config.onClose && config.onClose()\n }, [config])\n\n const onDisplayPage = useCallback((page: BipaPage) => {\n setIsDisplay(true)\n\n if (page === 'BIOMETRIC_FORM') setIsBipaConsent(true)\n else setIsBipaConsent(false)\n }, [])\n\n useEffect(() => {\n const render = async () => {\n if (isVMInitialized && renderParams) {\n try {\n await VirtualMirror.renderMirror(renderParams)\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`Error while rendering vm: ${e}`)\n }\n }\n }\n render()\n }, [isVMInitialized, renderParams])\n\n useEffect(() => {\n if (isPrivacyAccepted) {\n closeVirtualMirror()\n navigate(availableMode())\n }\n }, [isPrivacyAccepted, navigate])\n\n const noUpc = isProductLoaded && vmProducts.length === 0\n\n useEffect(() => {\n if (isDisplay || noUpc) {\n initTranslation()\n }\n }, [isDisplay, initTranslation, noUpc])\n\n return (\n \n {/* {!isDisplay && (\n \n \n \n )} */}\n \n \n {isTranslationLoaded ? t('PRIVACY_AGREEMENT_TITLE') : <> >}
\n {(isDisplay || isBipaConsent) && (\n \n \n \n )}\n \n \n \n \n \n )\n}\n\nexport default PrivacyPolicyPage\n","import { Layout } from '@components/Layout'\nimport { VM_READY } from '@components/Loader/loader'\nimport { AppState } from '@store/index'\nimport { setPrivacyAcceptedCookie, isPrivacyCookieAcceptedFromFa } from '@utils/cookies'\nimport { useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport { Outlet } from 'react-router'\n\nconst VideoMode: React.FC = () => {\n const isPrivacyAccepted = useSelector((s: AppState) => s.privacyPolicy.isPrivacyAccepted)\n useEffect(() => {\n if (isPrivacyAccepted && !isPrivacyCookieAcceptedFromFa()) {\n setPrivacyAcceptedCookie()\n }\n }, [isPrivacyAccepted])\n\n return (\n // injects .vm-ready classname to remove the AppLoader component if default visualization mode is video-mode\n \n \n \n )\n}\n\nexport default VideoMode\n","import { pxToEm } from '@libs/styled'\nimport styled from 'styled-components'\n\nexport const StyledContainer = styled.div`\n &.virtual-mirror-root-style .vm-swipeable-container #notification {\n background-color: rgba(0, 0, 0, 0.65);\n backdrop-filter: blur(4px);\n\n top: 50%;\n left: unset;\n right: unset;\n bottom: unset;\n\n width: auto;\n padding: ${pxToEm(5)} ${pxToEm(16)};\n\n span#notificationText {\n display: flex;\n align-items: center;\n min-height: 36px;\n font-family: var(--vm-default-font-medium);\n font-size: 12px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n }\n\n &.overlay-hide {\n display: none;\n }\n\n &.show {\n display: flex !important;\n }\n }\n\n .loading-text,\n .loading-fraction {\n font: ${({ theme }) => theme.fonts.headingMediumBold};\n }\n\n &.virtual-mirror-root-style .loading-text .loading-text-header,\n &.virtual-mirror-root-style .loading-text .loading-text-subtext {\n font: ${({ theme }) => theme.fonts.paragraphBold};\n\n ${({ theme }) => theme.media.small} {\n font: ${({ theme }) => theme.fonts.spanBold};\n padding: 0 10px;\n }\n }\n\n &.virtual-mirror-root-style .mirror-canvas-output {\n background-color: rgba(0, 0, 0, 0.3);\n }\n`\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport React, { useEffect, useMemo, useRef, useCallback } from 'react'\nimport { VirtualMirror } from '@luxottica/virtual-mirror'\n\nimport { VMInitialize } from '@components/VMInitialize'\nimport { VM_READY } from '@components/Loader/loader'\nimport { Layout } from '@components/Layout'\nimport { StyledContainer } from '@components/VMInitialize/styles'\n\nimport { Color, Product } from '@customTypes/product'\nimport { Screenshot } from '@customTypes/screenshot'\n\nimport { default as appConfig } from '@config/index'\nimport { useVirtualMirrorApp } from '@hooks/useVirtualMirrorApp'\nimport { useConfig } from './configProvider'\nimport { useDimensions } from '@hooks/useDimensions'\nimport { useFitGlasses, useTrackInitVM } from '@libs/analytics'\nimport { useDispatch } from 'react-redux'\nimport { setVtoPage } from '@store/actions/ui'\nimport { useMoveGlassObserver } from '@hooks/useMoveGlassObserver'\nimport { useTranslationInit } from 'src/i18n'\n\nexport const CONTAINER_ID_LIVE_TRY_ON = 'vm-app-widget'\n\ntype VMDispatch = React.Dispatch>\n\ntype VMHookType = {\n isReady: boolean\n isPreparingScreenshot: boolean\n isVMInitialized: boolean\n isTransitionActive: boolean\n isProductLoaded: boolean\n currentProduct: Product | null\n colors: Color[]\n currentColor: string\n colorsCatalog: Color[]\n currentLens: string | undefined\n lensCatalog: string[]\n lensActivation: number\n userId: string\n vmProducts: Product[]\n image: Screenshot | undefined\n isConfigurator: boolean\n changeLens: (lens: string) => void\n changeUpc: (upc: string) => void\n toggleTransitionActive: () => void\n setIsReady: VMDispatch\n setIsVMInitialized: VMDispatch\n setIsPreparingScreenshot?: VMDispatch\n setCurrentProduct: VMDispatch\n setColors: VMDispatch\n setCurrentColor: VMDispatch\n setColorsCatalog: VMDispatch\n setLensCatalog: VMDispatch\n setLensActivation: VMDispatch\n setUserID: VMDispatch\n setImage: VMDispatch\n setIsConfigurator: VMDispatch\n}\n\ntype VMContextType = VMHookType & { getScreenshot?: () => void; onRefresh?: () => void }\n\nexport const VMContext = React.createContext({} as VMContextType)\n\nexport const useVM = () => React.useContext(VMContext)\n\ninterface VMProviderProps {\n element?: React.ReactNode\n children?: (props: {\n isReady: boolean\n isVMInitialized: boolean\n isTransitionActive: boolean\n isNoUpc: boolean\n isEvolveProduct: boolean\n currentProduct: Product | null\n setColors: React.Dispatch>\n }) => React.ReactNode\n}\n\nexport const VMProvider: React.FC = ({ children, element }) => {\n const config = useConfig()\n const vmHook = useVirtualMirrorApp()\n const dispatch = useDispatch()\n\n const {\n isVMInitialized,\n isReady,\n currentProduct,\n currentColor,\n isTransitionActive,\n vmProducts,\n lensActivation,\n isProductLoaded,\n isConfigurator,\n setIsReady,\n setIsVMInitialized,\n setColors,\n setImage,\n setIsPreparingScreenshot,\n } = vmHook\n\n const trackFitGlasses = useFitGlasses(currentProduct)\n const trackInitVM = useTrackInitVM(vmProducts)\n\n useMoveGlassObserver(isReady, 'vm')\n\n const { initTranslation, isTranslationLoaded } = useTranslationInit()\n\n const container = useRef(null)\n const { width, height } = useDimensions(container.current)\n\n const isEvolveProduct = currentProduct?.transitionLens?.isEvolve || false\n const isNoUpc = isProductLoaded && vmProducts.length === 0\n\n const renderParams = useMemo(() => {\n if (currentProduct)\n return {\n target: CONTAINER_ID_LIVE_TRY_ON,\n upc: currentProduct.upc,\n options: {\n ...(currentColor &&\n (isTransitionActive || isEvolveProduct || (isConfigurator && currentColor)) && {\n transitionColor: currentColor,\n }),\n ...(width && { width: width }),\n ...(height && { height: height }),\n environment: {\n // Use any due to impossible to import GlassesEnvironment type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...(config.vmInit.glassesEnv && { glasses: config.vmInit.glassesEnv as any }),\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n video: (config.vmInit.environment || appConfig.vmEnv) as any,\n },\n },\n }\n\n return null\n }, [\n currentProduct,\n currentColor,\n isTransitionActive,\n isEvolveProduct,\n isConfigurator,\n width,\n height,\n config.vmInit.glassesEnv,\n config.vmInit.environment,\n ])\n\n useEffect(() => {\n if (isReady) {\n trackFitGlasses()\n }\n }, [isReady, trackFitGlasses])\n\n useEffect(() => {\n if (isVMInitialized) {\n trackInitVM()\n }\n }, [trackInitVM, isVMInitialized])\n\n useEffect(() => {\n if (!isVMInitialized) return\n if (isTransitionActive || isEvolveProduct || isConfigurator) {\n VirtualMirror.setTransitionOpacity({\n opacity: lensActivation,\n })\n }\n }, [isTransitionActive, lensActivation, isEvolveProduct, isVMInitialized, isConfigurator])\n\n useEffect(() => {\n const render = async () => {\n if (isVMInitialized && renderParams) {\n try {\n await VirtualMirror.renderMirror(renderParams)\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`Error while rendering vm: ${e}`)\n }\n }\n }\n render()\n }, [isVMInitialized, renderParams])\n\n useEffect(() => {\n if (isVMInitialized) {\n dispatch(setVtoPage('live-try-on'))\n }\n }, [dispatch, isVMInitialized])\n\n useEffect(() => {\n if (isNoUpc) {\n dispatch(setVtoPage('off'))\n }\n }, [dispatch, isNoUpc])\n\n const getScreenshot = useCallback(async () => {\n try {\n setIsPreparingScreenshot(true)\n const screenshot = await VirtualMirror.getScreenshot()\n setImage(screenshot)\n setIsPreparingScreenshot(false)\n } catch (error) {\n setIsPreparingScreenshot(false)\n // eslint-disable-next-line no-console\n console.error(`Error generating the image: ${error}`)\n }\n }, [setIsPreparingScreenshot, setImage])\n\n useEffect(() => {\n if (isVMInitialized && !isTranslationLoaded) {\n initTranslation()\n }\n }, [isVMInitialized, isTranslationLoaded, initTranslation])\n\n return (\n \n \n \n \n {isTranslationLoaded && (\n <>\n {children\n ? children({\n isReady,\n isVMInitialized,\n isTransitionActive,\n isNoUpc,\n currentProduct,\n isEvolveProduct,\n setColors,\n })\n : element}\n >\n )}\n \n \n \n )\n}\n","import { useCallback, useEffect } from 'react'\n\nimport { Color } from '@customTypes/product'\nimport { VtoCore, VtoCoreEnvironment } from '@luxottica/vto-core'\nimport { useConfig } from '@providers/configProvider'\nimport { useRefValue } from '@hooks/useRefValue'\nimport { useVtoInitParams } from '@hooks/useVtoInitParams'\nimport { getColorSwatches } from '@libs/getColorSwatches'\nimport { useVM } from '@providers/VmProvider'\n\ninterface VtoInitializeProps {\n children: React.ReactNode\n onRefresh: () => void\n}\n\nconst getGlassesEnvironment = (vtoEnv: VtoCoreEnvironment) =>\n vtoEnv.toLowerCase() === 'production' ? 'PROD' : 'TEST'\n\nexport const VtoInitialize: React.FC = ({ children, onRefresh }) => {\n const config = useConfig()\n const { setUserID, setIsVMInitialized, setColors } = useVM()\n const { options } = useVtoInitParams(config, setUserID, onRefresh)\n\n const initializeVto = useCallback(\n async (colorSwatches: () => Promise) => {\n try {\n VtoCore.initialize(options, () => {\n setIsVMInitialized(true)\n })\n\n const colorsData = await colorSwatches()\n\n VtoCore.downloadTransitionColorCatalogue(\n // Use any due to impossible to import GlassesEnvironment type, required for env variable\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getGlassesEnvironment(options.environment) as any\n ).then(transitionColors => {\n const colors: Color[] = transitionColors.map(colorCode => {\n const colorData = colorsData?.find((color: Color) => color.colorCode === colorCode)\n return {\n colorCode,\n colorName: colorData?.colorName,\n lensName: colorData?.lensName,\n swatchImage: colorData?.swatchImage,\n } as Color\n })\n setColors(colors)\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error initializing vto: ${error}`)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n },\n [options, setIsVMInitialized, setColors]\n )\n const initVMRef = useRefValue(initializeVto)\n\n useEffect(() => {\n initVMRef.current(getColorSwatches())\n }, [initVMRef])\n\n return <>{children}>\n}\n","import { InitializeOptions, VtoCoreEnvironment } from '@luxottica/vto-core'\nimport { Config } from '@customTypes/config'\nimport { trackVideoTakeFail } from '@libs/analytics'\nimport { default as appConfig } from '@config/index'\nimport { fallbackLanguage } from '@utils/language'\n\nexport const useVtoInitParams = (\n config: Config,\n setUserID: (value: string) => void,\n onRefresh: () => void\n) => {\n const { store, vmInit, locale = fallbackLanguage(config) } = config\n\n const initOptions: InitializeOptions = {\n // userId: '',\n environment: (vmInit.environment?.toLowerCase() ||\n appConfig.vmEnv?.toLowerCase()) as VtoCoreEnvironment,\n locale,\n brand: vmInit.brand,\n storeId: store.id,\n analyticsConfig: {\n onRenderFailure() {\n onRefresh()\n },\n },\n }\n\n return {\n options: initOptions,\n onSuccess: (userId: string) => setUserID(userId),\n onError: trackVideoTakeFail,\n }\n}\n","import styled from 'styled-components'\n\nimport { pxToEm } from '@libs/styled'\n\nexport const VideoModeContainer = styled.div`\n display: inline-flex;\n width: 100%;\n justify-content: center;\n\n &.vto-core-module-root-style .vto-swipeable-container {\n justify-content: center;\n\n .two-finger-overlay {\n &.overlay-hide {\n display: none;\n }\n\n &.visible {\n display: flex !important;\n }\n\n background: rgba(0, 0, 0, 0.65);\n backdrop-filter: blur(4px);\n position: absolute;\n top: 50%;\n left: unset;\n right: unset;\n bottom: unset;\n\n width: auto;\n height: auto;\n max-width: unset;\n min-width: 250px;\n padding: ${pxToEm(5)} ${pxToEm(16)};\n\n svg {\n width: ${pxToEm(24)};\n height: ${pxToEm(24)};\n }\n\n span {\n display: flex;\n align-items: center;\n min-height: 36px;\n font-family: var(--vm-default-font-medium);\n font-size: 12px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n }\n }\n }\n`\nexport const PhotoModeContainer = styled(VideoModeContainer)`\n .vto-swipeable-container .render-container-multipose {\n cursor: unset;\n }\n`\n\nexport const RotationIconContainer = styled.div`\n position: absolute;\n top: 50%;\n width: auto;\n z-index: 1;\n min-width: 250px;\n border-radius: ${pxToEm(30)};\n background-color: rgba(0, 0, 0, 0.65);\n backdrop-filter: blur(4px);\n\n display: flex;\n justify-content: center;\n align-items: center;\n padding: ${pxToEm(5)} ${pxToEm(16)};\n`\n\nexport const RotationTip = styled.p`\n font-family: var(--vm-default-font-medium);\n font-size: 12px;\n font-weight: 500;\n font-stretch: normal;\n font-style: normal;\n line-height: normal;\n letter-spacing: normal;\n\n color: ${({ theme }) => theme.palette.white[100]};\n`\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { CONTAINER_ID_PICTURE_MODE, CONTAINER_ID_VIDEO_MODE, VtoProviderProps } from './VtoProvider'\nimport { RotateIcon, RotateIconDesktop } from '@components/core/Icons'\nimport { isDesktopView } from '@libs/utils'\nimport { getPictureId, getVideoId } from '@utils/sessionStorage'\nimport {\n PhotoModeContainer,\n RotationIconContainer,\n RotationTip,\n VideoModeContainer,\n} from '@components/VtoInitialize/styles'\nimport { useMoveGlassObserver } from '@hooks/useMoveGlassObserver'\nimport { useVM } from './VmProvider'\n\nconst ROTATE_ICON_SHOW_TIMES = 2\nconst REPEAT_ROTATE_ICON_INTERVAL = 30000\nconst ROTATE_ICON_SHOW_DURATION = 3000\n\nconst PictureModeElem: React.FC<{ id: string }> = ({ id }) => {\n const { isReady } = useVM()\n useMoveGlassObserver(isReady, 'vto')\n return \n}\n\nexport function withPicture(MainVtoProvider: React.ComponentType) {\n const VtoProvider: React.FC = props => {\n const pictureId = getPictureId()\n\n return (\n <>\n {/* VTO container */}\n \n {/* VTO Provider */}\n \n >\n )\n }\n\n return VtoProvider\n}\n\nconst VideoModeElem: React.FC<{ id: string }> = ({ id }) => {\n const { t } = useTranslation()\n const [isRotateIconVisible, setRotateIconVisible] = useState(false)\n const [iconShowTimes, setIconShowTimes] = useState(0)\n const containerRef = useRef(null)\n\n const { isReady } = useVM()\n const { isMoveGlassesShow } = useMoveGlassObserver(isReady, 'vto')\n\n useEffect(() => {\n if (isRotateIconVisible) {\n const timer = setTimeout(() => {\n setIconShowTimes(s => s + 1)\n setRotateIconVisible(false)\n }, ROTATE_ICON_SHOW_DURATION)\n return () => clearTimeout(timer)\n }\n }, [isRotateIconVisible])\n\n useEffect(() => {\n if (!isRotateIconVisible && iconShowTimes && iconShowTimes <= ROTATE_ICON_SHOW_TIMES) {\n const timer = setTimeout(() => {\n setRotateIconVisible(!isMoveGlassesShow())\n }, REPEAT_ROTATE_ICON_INTERVAL)\n return () => clearTimeout(timer)\n }\n }, [isRotateIconVisible, iconShowTimes, isMoveGlassesShow])\n\n const observerCallback = useCallback((_: MutationRecord[], observer: MutationObserver) => {\n const debugOverlay = document.querySelector('.render-debug-overlay')\n if (debugOverlay) {\n setRotateIconVisible(true)\n observer.disconnect()\n }\n }, [])\n\n useEffect(() => {\n const observer = new MutationObserver(observerCallback)\n if (containerRef.current) {\n observer.observe(containerRef.current, { childList: true, subtree: true })\n }\n return () => {\n observer.disconnect()\n }\n }, [observerCallback])\n\n return (\n <>\n \n {isRotateIconVisible && (\n \n {isDesktopView() ? : }\n \n {isDesktopView()\n ? t('CORE.RENDER_VTO.CLICK_AND_MOVE')\n : t('CORE.RENDER_VTO.SWIPE_TWO_FINGERS')}\n \n \n )}\n \n >\n )\n}\n\nexport function withVideo(MainVtoProvider: React.ComponentType) {\n const VtoProvider: React.FC = props => {\n const pictureId = getVideoId()\n\n return (\n <>\n {/* VTO container */}\n \n {/* VTO Provider */}\n \n >\n )\n }\n\n return VtoProvider\n}\n","import React, { useEffect, useCallback } from 'react'\nimport { VtoCore } from '@luxottica/vto-core'\n\nimport { Product } from '@customTypes/product'\nimport { VMContext } from './VmProvider'\n\nimport { VtoInitialize } from '@components/VtoInitialize'\nimport { setVtoPage } from '@store/actions/ui'\nimport { VtoPage } from '@customTypes/vtoPage'\n\nimport { useNavigate } from 'react-router'\nimport { useVirtualMirrorApp } from '@hooks/useVirtualMirrorApp'\nimport { useDimensions } from '@hooks/useDimensions'\nimport { useFitGlasses } from '@libs/analytics'\nimport { useDispatch } from 'react-redux'\nimport { isDesktopView } from '@libs/utils'\nimport { withPicture, withVideo } from './Vto'\nimport { clearPictureId, clearVideoId } from '@utils/sessionStorage'\nimport { useTranslationInit } from 'src/i18n'\n\nconst nosePositionTouches = isDesktopView() ? 1 : 2\n\nexport const CONTAINER_ID_PICTURE_MODE = 'vm-picture-mode'\nexport const CONTAINER_ID_VIDEO_MODE = 'vm-video-mode-view'\n\nexport interface VtoProviderProps {\n vtoContainer?: string\n videoId?: string\n vtoPage?: VtoPage\n element?: React.ReactNode\n children?: (props: {\n isReady: boolean\n isTransitionActive: boolean\n isNoUpc: boolean\n currentProduct: Product | null\n onRefresh: () => void\n }) => React.ReactNode\n}\n\nexport const VtoProvider: React.FC = ({\n vtoContainer,\n videoId,\n vtoPage,\n element,\n children,\n}) => {\n const vmHook = useVirtualMirrorApp()\n const dispatch = useDispatch()\n const navigate = useNavigate()\n\n const {\n isVMInitialized,\n isReady,\n currentProduct,\n currentColor,\n isTransitionActive,\n vmProducts,\n lensActivation,\n isProductLoaded,\n isConfigurator,\n setIsReady,\n setImage,\n setIsPreparingScreenshot,\n } = vmHook\n\n const trackFitGlasses = useFitGlasses(currentProduct)\n\n const dimensions = useDimensions()\n const { initTranslation, isTranslationLoaded } = useTranslationInit()\n\n const isEvolveProduct = currentProduct?.transitionLens?.isEvolve || false\n const isNoUpc = isProductLoaded && vmProducts.length === 0\n\n const renderVto = useCallback(() => {\n if (currentProduct && vtoContainer && videoId)\n VtoCore.render(\n {\n divId: vtoContainer,\n videoId: videoId,\n upc: currentProduct.upc,\n showRotateBar: false,\n width: dimensions.width,\n height: dimensions.height,\n nosePositionTouches,\n },\n () => {\n setIsReady(true)\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n )\n }, [currentProduct, dimensions.height, dimensions.width, setIsReady, videoId, vtoContainer])\n\n useEffect(() => {\n if (isReady) {\n trackFitGlasses()\n }\n }, [isReady, trackFitGlasses])\n\n useEffect(() => {\n if (!currentProduct || (!currentProduct.upc && !isVMInitialized)) {\n return\n }\n renderVto()\n }, [currentProduct, isVMInitialized, renderVto])\n\n useEffect(() => {\n if (isTransitionActive || isEvolveProduct || isConfigurator) {\n VtoCore.setTransitionOpacity(lensActivation)\n renderVto()\n }\n }, [isTransitionActive, lensActivation, renderVto, isEvolveProduct, isConfigurator])\n\n useEffect(() => {\n if (!isTransitionActive && !isEvolveProduct && !isConfigurator) {\n VtoCore.setTransitionColorName('')\n VtoCore.setTransitionOpacity(0)\n renderVto()\n }\n }, [isTransitionActive, renderVto, isEvolveProduct, isConfigurator])\n\n useEffect(() => {\n if (isTransitionActive || isEvolveProduct || isConfigurator) {\n VtoCore.setTransitionColorName(currentColor)\n renderVto()\n }\n }, [isTransitionActive, isEvolveProduct, isConfigurator, currentColor, renderVto])\n\n useEffect(() => {\n if (isVMInitialized && vtoPage) {\n dispatch(setVtoPage(vtoPage))\n }\n }, [dispatch, isVMInitialized, vtoPage])\n\n useEffect(() => {\n if (isNoUpc) {\n dispatch(setVtoPage('off'))\n }\n }, [dispatch, isNoUpc])\n\n useEffect(() => {\n if (isVMInitialized && !isTranslationLoaded) {\n initTranslation()\n }\n }, [isVMInitialized, isTranslationLoaded, initTranslation])\n\n const getScreenshot = useCallback(async () => {\n try {\n setIsPreparingScreenshot(true)\n const img = await VtoCore.getScreenshot()\n setImage({\n imgURI: img.dataUrl,\n width: img.w,\n height: img.h,\n })\n setIsPreparingScreenshot(false)\n } catch (error) {\n setIsPreparingScreenshot(false)\n // eslint-disable-next-line no-console\n console.error(`Error generating the image: ${error}`)\n }\n }, [setIsPreparingScreenshot, setImage])\n\n const onRefresh = useCallback(() => {\n if (vtoPage === 'picture-mode') clearPictureId()\n else if (vtoPage === 'video-mode') clearVideoId()\n\n if (vtoContainer) {\n VtoCore.closeRender({ divId: vtoContainer }, () => {\n dispatch(setVtoPage('off'))\n navigate(-1)\n })\n }\n }, [dispatch, navigate, vtoContainer, vtoPage])\n\n return (\n \n \n {isTranslationLoaded && (\n <>\n {children\n ? children({ isReady, isTransitionActive, isNoUpc, currentProduct, onRefresh })\n : element}\n >\n )}\n \n \n )\n}\n\nexport const PictureModeProvider = withPicture(VtoProvider)\n\nexport const VideoModeProvider = withVideo(VtoProvider)\n\nexport const closeVideoMode = () => {\n return new Promise((resolve, reject) => {\n VtoCore.closeRender({ divId: CONTAINER_ID_VIDEO_MODE }, resolve, reject)\n })\n}\n\nexport const closePictureMode = () => {\n return new Promise((resolve, reject) => {\n VtoCore.closeRender({ divId: CONTAINER_ID_PICTURE_MODE }, resolve, reject)\n })\n}\n","import { createContext, useContext } from 'react'\n\nimport { Config } from '../types/config'\n\nexport const ConfigContext = createContext({} as Config)\n\nexport const useConfig = () => useContext(ConfigContext)\n","export class ApiError extends Error {\n code: string | undefined\n description: string | undefined\n constructor(message: string, code?: string, description?: string) {\n super(message)\n this.code = code\n this.description = description\n }\n}\n\nexport default class ApiService {\n private apiUrl: string | undefined\n private headers: HeadersInit = {\n 'Content-Type': 'application/json',\n accept: 'application/json',\n }\n private error: typeof ApiError\n\n constructor(apiUrl: string, headers?: HeadersInit, error = ApiError) {\n this.apiUrl = apiUrl\n this.headers = { ...this.headers, ...headers }\n this.error = error\n }\n\n private _retrieveData = async (\n url: string,\n method = 'get',\n data?: I,\n headers?: HeadersInit\n ): Promise => {\n const body = JSON.stringify(data)\n const res = await fetch(url, {\n method,\n headers: { ...this.headers, ...headers },\n body,\n })\n if (!res.ok) {\n const body = await res.text()\n throw new this.error(\n `ApiError: Error on retrieving data ${res.statusText}`,\n res.status.toString(),\n body\n )\n }\n try {\n return await res.json()\n } catch {\n const body = await res.text()\n throw new this.error('ApiError: Failed during JSON parsing', res.status.toString(), body)\n }\n }\n\n public post = (path: string, data: I, headers = {}) => {\n const url = `${this.apiUrl}${path}`\n return this._retrieveData(url, 'post', data, headers)\n }\n\n public get = (path: string, headers?: HeadersInit) => {\n const url = `${this.apiUrl}${path}`\n return this._retrieveData(url, 'get', undefined, headers)\n }\n}\n","import { Queue } from '@customTypes/animationApp'\n\nexport const SET_CURRENT_ANIMATION = 'vmmv-ui/animation/SET_CURRENT_ANIMATION'\nexport const SET_COMPLETE_ANIMATION = 'vmmv-ui/animation/SET_COMPLETE_ANIMATION'\nexport const RESTART_MENU_ANIMATION = 'vmmv-ui/animation/RESET_MENU_ANIMATION'\n\nexport interface SetCompleteAnimation {\n type: typeof SET_COMPLETE_ANIMATION\n}\n\nexport interface SetCurrentAnimation {\n type: typeof SET_CURRENT_ANIMATION\n payload: { currentAnimation: Queue | null }\n}\n\nexport interface RestartMenuAnimation {\n type: typeof RESTART_MENU_ANIMATION\n}\n\nexport const setCurrentAnimation = (currentAnimation: Queue | null): SetCurrentAnimation => {\n return {\n type: SET_CURRENT_ANIMATION,\n payload: {\n currentAnimation,\n },\n }\n}\n\nexport const setCompleteAnimation = (): SetCompleteAnimation => {\n return {\n type: SET_COMPLETE_ANIMATION,\n }\n}\n\nexport const restartMenuAnimation = (): RestartMenuAnimation => {\n return {\n type: RESTART_MENU_ANIMATION,\n }\n}\n\nexport type AnimationAppActionTypes =\n | SetCurrentAnimation\n | SetCompleteAnimation\n | RestartMenuAnimation\n","import { LensItem } from '@customTypes/lens'\nimport { Product } from '@customTypes/product'\n\nexport const SET_LENS = 'vmmv-ui/configurator/SET_LENS'\nexport const SET_PRODUCT = 'vmmv-ui/configurator/SET_PRODUCT'\nexport const SET_LENSES_LIST = 'vmmv-ui/configurator/SET_LENSES_LIST'\n\nexport interface SetLens {\n type: typeof SET_LENS\n payload: { lens: LensItem | null }\n}\n\nexport interface SetProduct {\n type: typeof SET_PRODUCT\n payload: { product: Product }\n}\n\nexport interface SetLensesList {\n type: typeof SET_LENSES_LIST\n payload: { lensesList: LensItem[] | undefined }\n}\n\nexport const setLens = (lens: LensItem | null): SetLens => {\n return {\n type: SET_LENS,\n payload: {\n lens,\n },\n }\n}\n\nexport const setProduct = (product: Product): SetProduct => {\n return {\n type: SET_PRODUCT,\n payload: {\n product,\n },\n }\n}\n\nexport const setLensList = (lensesList: LensItem[] | undefined): SetLensesList => {\n return {\n type: SET_LENSES_LIST,\n payload: { lensesList },\n }\n}\n\nexport type ConfiguratorActions = SetLens | SetLensesList | SetProduct\n","export const SET_IS_PRIVACY_ACCEPTED = 'vmmv-ui/privacy-policy/SET_IS_PRIVACY_ACCEPTED'\n\nexport interface SetIsPrivacyAccepted {\n type: typeof SET_IS_PRIVACY_ACCEPTED\n}\n\nexport const setIsPrivacyAccepted = (): SetIsPrivacyAccepted => {\n return {\n type: SET_IS_PRIVACY_ACCEPTED,\n }\n}\n\nexport type PrivacyPolicyActionTypes = SetIsPrivacyAccepted\n","import { Product } from '@customTypes/product'\n\nexport const SET_VM_PRODUCTS = 'vmmv-ui/products/SET_VM_PRODUCTS'\n\nexport interface SetVmProducts {\n type: typeof SET_VM_PRODUCTS\n payload: { vmProducts: Product[] }\n}\n\nexport const setVmProducts = (vmProducts: Product[]): SetVmProducts => {\n return {\n type: SET_VM_PRODUCTS,\n payload: {\n vmProducts,\n },\n }\n}\n\nexport type ProductsActionTypes = SetVmProducts\n","import { ActivePanelName } from '@customTypes/transition'\nimport { VtoPage } from '@customTypes/vtoPage'\nexport const SET_VISIBILITY_TERMS_CONDITIONS_MODAL =\n 'vmmv-ui/ui/SET_VISIBILITY_TERMS_CONDITIONS_MODAL'\nexport const SET_VISIBILITY_PRIVACY_POLICY_MODAL = 'vmmv-ui/ui/SET_VISIBILITY_PRIVACY_POLICY_MODAL'\nexport const SET_VISIBILITY_BIPA_MODAL = 'vmmv-ui/ui/SET_VISIBILITY_BIPA_MODAL'\nexport const SET_QR_CODE_MODAL_VISIBILITY = 'vmmv-ui/ui/SET_QR_CODE_MODAL_VISIBILITY'\nexport const SET_TRANSITION_VIEW_CAROUSEL = 'vmmv-ui/ui/SET_TRANSITION_VIEW_CAROUSEL'\nexport const SET_MENU_VISIBILITY = 'vmmv-ui/ui/SET_MENU_VISIBILITY'\nexport const SET_MODAL_VISIBILITY = 'vmmv-ui/ui/SET_MODAL_VISIBILITY'\nexport const SET_VTO_PAGE = 'vmmv-ui/ui/SET_VTO_PAGE'\nexport const RESET_UI_STATE = 'vmmv-ui/ui/RESET_UI_STATE'\n\nexport interface SetVisibilityBipaModal {\n type: typeof SET_VISIBILITY_BIPA_MODAL\n payload: { visible: boolean }\n}\n\nexport const setVisibilityBipaModal = (visible: boolean): SetVisibilityBipaModal => {\n return {\n type: SET_VISIBILITY_BIPA_MODAL,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetVisibilityPrivacyPolicyModal {\n type: typeof SET_VISIBILITY_PRIVACY_POLICY_MODAL\n payload: { visible: boolean }\n}\n\nexport const setVisibilityPrivacyPolicyModal = (\n visible: boolean\n): SetVisibilityPrivacyPolicyModal => {\n return {\n type: SET_VISIBILITY_PRIVACY_POLICY_MODAL,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetVisibilityTermsConditionsModal {\n type: typeof SET_VISIBILITY_TERMS_CONDITIONS_MODAL\n payload: { visible: boolean }\n}\n\nexport const setVisibilityTermsConditionsModal = (\n visible: boolean\n): SetVisibilityTermsConditionsModal => {\n return {\n type: SET_VISIBILITY_TERMS_CONDITIONS_MODAL,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetQRCodeModalVisibility {\n type: typeof SET_QR_CODE_MODAL_VISIBILITY\n payload: { visible: boolean }\n}\n\nexport const setQRCodeModalVisibility = (visible: boolean): SetQRCodeModalVisibility => {\n return {\n type: SET_QR_CODE_MODAL_VISIBILITY,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetTransitionViewCarousel {\n type: typeof SET_TRANSITION_VIEW_CAROUSEL\n payload: { activeName: ActivePanelName }\n}\n\nexport const setTransitionViewCarousel = (\n activeName: ActivePanelName\n): SetTransitionViewCarousel => {\n return {\n type: SET_TRANSITION_VIEW_CAROUSEL,\n payload: {\n activeName,\n },\n }\n}\nexport interface SetModalVisibility {\n type: typeof SET_MODAL_VISIBILITY\n payload: { visible: boolean }\n}\n\nexport const setModalVisibility = (visible: boolean): SetModalVisibility => {\n return {\n type: SET_MODAL_VISIBILITY,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetMenuVisibility {\n type: typeof SET_MENU_VISIBILITY\n payload: { visible: boolean }\n}\n\nexport const setMenuVisibility = (visible: boolean): SetMenuVisibility => {\n return {\n type: SET_MENU_VISIBILITY,\n payload: {\n visible,\n },\n }\n}\n\nexport interface SetVtoPage {\n type: typeof SET_VTO_PAGE\n payload: { vtoPage: VtoPage }\n}\n\nexport const setVtoPage = (vtoPage: VtoPage): SetVtoPage => {\n return {\n type: SET_VTO_PAGE,\n payload: { vtoPage },\n }\n}\n\nexport interface ResetUiState {\n type: typeof RESET_UI_STATE\n}\n\nexport const resetUiState = (): ResetUiState => {\n return {\n type: RESET_UI_STATE,\n }\n}\n\nexport type UIActionTypes =\n | SetVisibilityTermsConditionsModal\n | SetVisibilityBipaModal\n | SetVisibilityPrivacyPolicyModal\n | SetQRCodeModalVisibility\n | SetTransitionViewCarousel\n | SetMenuVisibility\n | SetModalVisibility\n | SetVtoPage\n | ResetUiState\n","export const TOGGLE_WISHLIST = 'vmmv-ui/wishlist/TOGGLE_WISHLIST'\nexport const SET_WISHLIST = 'vmmv-ui/wishlist/SET_WISHLIST'\n\nexport interface SetWishlist {\n type: typeof SET_WISHLIST\n payload: { wishlist: string[] }\n}\n\nexport interface ToggleWishlist {\n type: typeof TOGGLE_WISHLIST\n payload: { upc: string }\n}\n\nexport const setWishlist = (wishlist: string[]): SetWishlist => {\n return {\n type: SET_WISHLIST,\n payload: {\n wishlist,\n },\n }\n}\n\nexport const toggleWishlist = (upc: string): ToggleWishlist => {\n return {\n type: TOGGLE_WISHLIST,\n payload: {\n upc,\n },\n }\n}\n\nexport type WishlistActionTypes = ToggleWishlist | SetWishlist\n","import {\n createStore,\n compose,\n StoreEnhancer,\n StoreEnhancerStoreCreator,\n applyMiddleware,\n Middleware,\n} from 'redux'\nimport rootReducer from './reducers'\nimport { persistReducers, loadState } from './localStorage'\n\nconst initialState = loadState()\n\nconst enhancers: StoreEnhancer[] = []\nconst middleware: Middleware[] = []\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nlet composeWithDevTools: (...args: I) => StoreEnhancer\nif (process.env.NODE_ENV !== 'development') {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n composeWithDevTools = require('redux-devtools-extension/logOnlyInProduction').composeWithDevTools\n} else {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n composeWithDevTools = require('redux-devtools-extension').composeWithDevTools\n}\n\nconst composedEnhancers = compose(\n applyMiddleware(...middleware),\n ...enhancers\n)\n\nconst initStore = (initState = initialState) => {\n return createStore(rootReducer, initState, composeWithDevTools(composedEnhancers))\n}\n\nexport const store = initStore(initialState)\n\npersistReducers(store, 'animationApp')\n\nexport type AppStore = ReturnType\nexport type AppState = ReturnType\n","import { ActivePanelName } from '@customTypes/transition'\nimport { VtoPage } from '@customTypes/vtoPage'\nimport {\n RESET_UI_STATE,\n SET_MENU_VISIBILITY,\n SET_MODAL_VISIBILITY,\n SET_QR_CODE_MODAL_VISIBILITY,\n SET_TRANSITION_VIEW_CAROUSEL,\n SET_VISIBILITY_BIPA_MODAL,\n SET_VISIBILITY_PRIVACY_POLICY_MODAL,\n SET_VISIBILITY_TERMS_CONDITIONS_MODAL,\n SET_VTO_PAGE,\n UIActionTypes,\n} from '../actions/ui'\n\nexport interface UIState {\n isPrivacyPolicyModalVisible: boolean\n isBipaModalVisible: boolean\n isTermsConditionsVisible: boolean\n isQRCodeModalVisible: boolean\n activeName: ActivePanelName | null\n isMenuVisible: boolean\n isModalVisible: boolean\n vtoPage: VtoPage\n}\n\nconst initialState: UIState = {\n isTermsConditionsVisible: false,\n isPrivacyPolicyModalVisible: false,\n isBipaModalVisible: false,\n isQRCodeModalVisible: false,\n activeName: null,\n isMenuVisible: false,\n isModalVisible: false,\n vtoPage: 'off',\n}\n\nexport default (state = initialState, action: UIActionTypes) => {\n switch (action.type) {\n case SET_VISIBILITY_TERMS_CONDITIONS_MODAL: {\n return {\n ...state,\n isTermsConditionsVisible: action.payload.visible,\n }\n }\n case SET_VISIBILITY_PRIVACY_POLICY_MODAL: {\n return {\n ...state,\n isPrivacyPolicyModalVisible: action.payload.visible,\n }\n }\n case SET_VISIBILITY_BIPA_MODAL: {\n return {\n ...state,\n isBipaModalVisible: action.payload.visible,\n }\n }\n case SET_QR_CODE_MODAL_VISIBILITY: {\n return {\n ...state,\n isQRCodeModalVisible: action.payload.visible,\n }\n }\n case SET_TRANSITION_VIEW_CAROUSEL: {\n return {\n ...state,\n activeName: action.payload.activeName,\n }\n }\n case SET_MENU_VISIBILITY: {\n return {\n ...state,\n isMenuVisible: action.payload.visible,\n }\n }\n case SET_MODAL_VISIBILITY: {\n return {\n ...state,\n isModalVisible: action.payload.visible,\n }\n }\n case SET_VTO_PAGE: {\n return {\n ...state,\n vtoPage: action.payload.vtoPage,\n }\n }\n case RESET_UI_STATE: {\n return {\n ...initialState,\n }\n }\n default:\n return state\n }\n}\n","import { Queue } from '@customTypes/animationApp'\nimport {\n AnimationAppActionTypes,\n SET_CURRENT_ANIMATION,\n SET_COMPLETE_ANIMATION,\n RESTART_MENU_ANIMATION,\n} from '@store/actions/animationApp'\n\ninterface AnimationAppState {\n animationQueue: Queue[]\n currentAnimation: Queue | null\n isComplete: boolean\n}\n\n// Ordered queue\nconst queue: Queue[] = [\n 'menu',\n 'transitionBtn',\n 'transitionLabel',\n 'decreaseOpacity',\n 'increaseOpacity',\n]\n\n// Glasses on -> menu visible -> 3sec -> menu close -> -> transition view btn is expand -> 3 sec -> transition btn short\n// -> click transition btn -> labels expand -> 3 sec -> labels short -> 4sec -> decrease transition opacity -> 4sec -> increase transition opacity\n\nconst initialState: AnimationAppState = {\n animationQueue: queue,\n currentAnimation: null,\n isComplete: false,\n}\n\nconst animationApp = (state = initialState, action: AnimationAppActionTypes) => {\n switch (action.type) {\n case SET_CURRENT_ANIMATION: {\n const currentAnimation = action.payload.currentAnimation\n const queue = state.animationQueue.filter(q => q !== currentAnimation)\n return {\n ...state,\n animationQueue: queue,\n currentAnimation,\n }\n }\n case SET_COMPLETE_ANIMATION: {\n return {\n ...state,\n isComplete: true,\n }\n }\n case RESTART_MENU_ANIMATION: {\n const currentAnim = state.currentAnimation\n const queue = state.animationQueue\n\n const isMenuAnim = currentAnim === 'menu'\n\n return {\n ...state,\n animationQueue: !!currentAnim && !isMenuAnim ? [currentAnim, ...queue] : [...queue],\n currentAnimation: 'menu',\n isComplete: false,\n }\n }\n default:\n return state\n }\n}\n\nexport default animationApp\n","import { isPrivacyCookieAccepted } from '@utils/cookies'\nimport { SET_IS_PRIVACY_ACCEPTED, PrivacyPolicyActionTypes } from '../actions/privacyPolicy'\n\nexport interface UIState {\n isPrivacyAccepted: boolean\n}\n\nconst initialState: UIState = {\n isPrivacyAccepted: isPrivacyCookieAccepted(),\n}\n\nexport default (state = initialState, action: PrivacyPolicyActionTypes) => {\n switch (action.type) {\n case SET_IS_PRIVACY_ACCEPTED: {\n return {\n ...state,\n isPrivacyAccepted: true,\n }\n }\n default:\n return state\n }\n}\n","import { Product } from '@customTypes/product'\nimport { SET_VM_PRODUCTS, ProductsActionTypes } from '../actions/products'\n\nexport interface ProductsState {\n vmProducts: Product[]\n}\n\nconst initialState: ProductsState = {\n vmProducts: [],\n}\n\nconst products = (state = initialState, action: ProductsActionTypes) => {\n switch (action.type) {\n case SET_VM_PRODUCTS: {\n return {\n ...state,\n vmProducts: action.payload.vmProducts,\n }\n }\n default:\n return state\n }\n}\n\nexport default products\n","import { WishlistActionTypes, TOGGLE_WISHLIST, SET_WISHLIST } from '../actions/wishlist'\n\nexport interface WishlistState {\n wishlist: string[]\n}\n\nconst initialState: WishlistState = {\n wishlist: [],\n}\n\nconst wishlist = (state = initialState, action: WishlistActionTypes) => {\n switch (action.type) {\n case SET_WISHLIST: {\n return {\n ...state,\n wishlist: action.payload.wishlist,\n }\n }\n case TOGGLE_WISHLIST: {\n const wishlisted = state.wishlist.includes(action.payload.upc)\n\n if (!wishlisted) {\n return {\n ...state,\n wishlist: Array.from(new Set([...state.wishlist, action.payload.upc])),\n }\n }\n const newWishlist = state.wishlist.filter(upc => upc !== action.payload.upc)\n return {\n ...state,\n wishlist: newWishlist,\n }\n }\n default:\n return state\n }\n}\n\nexport default wishlist\n","import { Product } from '@customTypes/product'\nimport {\n ConfiguratorActions,\n SET_LENS,\n SET_LENSES_LIST,\n SET_PRODUCT,\n} from '../actions/configurator'\n\nimport { LensItem } from '@customTypes/lens'\n\nexport interface ConfiguratorState {\n lens: LensItem | null\n currentProduct: Product | null\n lensesList?: LensItem[]\n}\n\nconst initialState: ConfiguratorState = {\n lens: null,\n currentProduct: null,\n}\n\nexport default (state = initialState, action: ConfiguratorActions) => {\n switch (action.type) {\n case SET_LENS: {\n return {\n ...state,\n lens: action.payload.lens,\n }\n }\n case SET_PRODUCT: {\n return {\n ...state,\n currentProduct: action.payload.product,\n }\n }\n case SET_LENSES_LIST: {\n return {\n ...state,\n lensesList: action.payload.lensesList,\n }\n }\n default:\n return state\n }\n}\n","import { combineReducers } from 'redux'\nimport ui from './ui'\nimport animationApp from './animationApp'\nimport privacyPolicy from './privacyPolicy'\nimport products from './products'\nimport wishlist from './wishlist'\nimport configurator from './configurator'\n\nconst rootReducer = combineReducers({\n ui,\n animationApp,\n privacyPolicy,\n products,\n wishlist,\n configurator,\n})\n\nexport default rootReducer\n","import { AppStore, AppState } from './index'\n\nconst LOCAL_STATE_VAR_NAME = 'virtual-mirror-expirience'\n\nexport const loadState = (): Partial => {\n try {\n const serializedState = localStorage.getItem(LOCAL_STATE_VAR_NAME)\n if (serializedState === null) {\n return {}\n }\n return JSON.parse(serializedState)\n } catch (err) {\n return {}\n }\n}\n\nexport const saveState = (state: AppState | Record) => {\n try {\n const serializedState = JSON.stringify(state)\n localStorage.setItem(LOCAL_STATE_VAR_NAME, serializedState)\n } catch {\n // ignore write errors\n }\n}\n\nexport const resetLocalStorageState = () => saveState({})\n\ntype reducerKeys = keyof AppState\n\nexport const persistReducers = (store: AppStore, ...reducers: reducerKeys[]) => {\n let prevState: AppState\n store.subscribe(() => {\n const currState = store.getState()\n const stateHasChanged = prevState\n ? reducers.reduce(\n (hasChanged, reducer) => hasChanged || prevState[reducer] !== currState[reducer],\n false\n )\n : true\n\n prevState = currState\n\n if (stateHasChanged) {\n saveState(\n reducers.reduce(\n (state, reducer) => ({ ...state, [reducer]: currState[reducer] }),\n {}\n ) as AppState\n )\n }\n })\n}\n","import { createGlobalStyle } from 'styled-components'\n\nexport const GlobalStyles = createGlobalStyle`\n html {\n\n --vm-default-font: HelveticaNeue;\n --vm-default-font-bold: HelveticaNeue-Bold;\n --vm-default-font-medium: HelveticaNeue-Medium;\n\n /* New variables */\n\n --vm-primary-white-100: rgb(255 255 255);\n --vm-primary-white-30: rgba(255, 255, 255, 0.3);\n\n --vm-primary-black-100: rgb(0 0 0);\n --vm-primary-black-65: rgba(0, 0, 0, 0.65);\n\n --vm-secondary-white-100: rgb(255 255 255);\n --vm-secondary-black-100: rgb(0 0 0);\n \n --vm-loader-dash-color: var(--vm-primary-black-100);\n\n /* Use old variables to ensure backward compatibility */\n --vm-components-footer-desktop-bg: var(--vm-secondary-white-100);\n --vm-components-footer-desktop-text: var(--vm-secondary-black-100);\n\n --vm-components-footer-mobile-bg: var(--vm-primary-black-65);\n --vm-components-footer-mobile-text: var(--vm-primary-white-100);\n\n --vm-components-icon-mobile-bg: var(--vm-primary-white-30);\n --vm-components-icon-mobile-fill: var(--vm-primary-white-100);\n\n --vm-components-icon-desktop-bg: var(--vm-primary-black-100);\n --vm-components-icon-desktop-fill: var(--vm-primary-white-100);\n\n --vm-components-action-photo-bg: var(--vm-secondary-white-100);\n --vm-components-action-photo-fill: var(--vm-secondary-black-100);\n\n --vm-components-action-video-bg: var(--vm-primary-black-100);\n --vm-components-action-video-text: var(--vm-primary-white-100);\n\n --vm-components-rx-cta-bg: var(--vm-primary-black-100);\n --vm-components-rx-cta-text: var(--vm-primary-white-100);\n\n --vm-components-add-to-cart-cta-bg: var(--vm-secondary-white-100);\n --vm-components-add-to-cart-cta-text: var(--vm-secondary-black-100);\n\n --vm-components-footer-desktop-price-full: var(--vm-secondary-black-100);\n --vm-components-footer-desktop-price-new: var(--vm-secondary-black-100);\n\n --vm-components-footer-mobile-price-full: var(--vm-secondary-white-100);\n --vm-components-footer-mobile-price-new: var(--vm-secondary-white-100);\n }\n`\n\nexport const device = {\n large: '1224px',\n medium: '768px',\n small: '376px',\n}\n\nexport const theme = {\n palette: {\n lightgray: '#cdcdcd',\n gray: {\n 100: 'rgb(148, 148, 148)',\n 70: 'rgba(148, 148, 148, .7)',\n 50: 'rgba(148, 148, 148, .5)',\n 40: 'rgba(148, 148, 148, .4)',\n },\n white: {\n 100: 'rgb(255 255 255)',\n 90: 'rgba(255, 255, 255, 0.89)',\n 70: 'rgba(255, 255, 255, 0.7)',\n 50: 'rgba(255, 255, 255, 0.55)',\n 40: 'rgba(255, 255, 255, 0.4)',\n },\n black: '#000',\n pinkRed: '#e84159',\n blueberry: '#8f73ff',\n whiteSmoke: '#f6f6f6',\n dodgerblue: 'dodgerblue',\n abbey: '#515c62',\n darkGray: '#a4a4a4',\n silver: '#D0D0D0',\n error: '#c83430',\n primary: {\n white: {\n 100: 'var(--vm-primary-white-100)',\n 30: 'var(--vm-primary-white-30)',\n },\n black: {\n 100: 'var(--vm-primary-black-100)',\n 65: 'var(--vm-primary-black-65)',\n },\n main: 'var(--vm-primary-main)',\n light: 'var(--vm-primary-light)',\n text: 'var(--vm-primary-text)',\n },\n secondary: {\n white: {\n 100: 'var(--vm-secondary-white-100)',\n },\n black: {\n 100: 'var(--vm-secondary-black-100)',\n },\n main: 'var(--vm-secondary-main)',\n },\n },\n media: {\n large: `@media only screen and (min-width: ${device.large})`,\n medium: `@media only screen and (min-width: ${device.medium})`,\n small: `@media only screen and (min-width: ${device.small})`,\n ipad: {\n '9.7':\n '@media only screen and (min-device-width: 712px) and (max-device-width: 1024px) and (orientation: portrait)',\n '11': '@media only screen and (min-device-width: 834px) and (max-device-height: 1194px) and (orientation: portrait)',\n '12.9':\n '@media only screen and (min-device-width: 1024px) and (max-device-height: 1366px) and (orientation: portrait)',\n },\n },\n fonts: {\n title: 'bold normal 28px/normal var(--vm-default-font)',\n titleSmall: 'bold normal 20px/normal var(--vm-default-font)',\n heading: 'normal normal 500 32px/normal var(--vm-default-font-bold), sans-serif',\n headingSmall: 'normal normal 500 22px/normal var(--vm-default-font), sans-serif',\n headingMediumBold: 'normal normal bold 24px/normal var(--vm-default-font), sans-serif',\n paragraph: 'normal normal 200 16px/normal var(--vm-default-font), sans-serif',\n paragraphBold: 'normal normal bold 16px/normal var(--vm-default-font-bold), sans-serif',\n paragraphSmall: 'normal normal 200 12px/normal var(--vm-default-font), sans-serif',\n spanBold: 'normal normal bold 14px/normal var(--vm-default-font-bold), sans-serif',\n span: 'normal normal 200 14px/normal var(--vm-default-font), sans-serif',\n buttonText: 'normal normal 200 12px/18px var(--vm-default-font-medium), sans-serif',\n buttonTextLink: 'normal normal 200 12px/16px var(--vm-default-font), sans-serif;',\n qrCodeTitle: 'normal normal bold 20px / normal var(--vm-default-font);',\n },\n typography: {},\n}\n","const ML_PROCESS_IMAGE_CONSENT = 'MlProcessImageConsent'\nconst BASIC_IMAGE_CONSENT = 'BasicImageConsent'\n\n//This function is needed to turn off the default privacy policy modal from FrameAdvisor capture app\nexport const setPrivacyAcceptedCookie = () =>\n (document.cookie = `${ML_PROCESS_IMAGE_CONSENT}=true;path=/`)\n\nconst getCookie = (field: string) => {\n const cookieArr = document.cookie.split(';')\n\n const cookieObj: Record = {}\n cookieArr.forEach(el => {\n const newl = el.split('=')\n cookieObj[newl[0].trim()] = newl[1]\n })\n\n return cookieObj[field]\n}\n\nexport const isPrivacyCookieAccepted = () =>\n getCookie(BASIC_IMAGE_CONSENT) === 'true' || isPrivacyCookieAcceptedFromFa()\n\n// to check if privacy policy in FrameAdvisor capture is accepted\nexport const isPrivacyCookieAcceptedFromFa = () => getCookie(ML_PROCESS_IMAGE_CONSENT) === 'true'\n","import { Color, Product } from '@customTypes/product'\n\nexport const filterColors = (identifier: string[], colors: Color[], isClen = false) => {\n return colors.filter(({ colorCode, clen }) => {\n return isClen && !!clen ? identifier.includes(clen) : identifier.includes(colorCode)\n })\n}\n\nexport const getAvailableColors = (product: Product | null, colors: Color[]) => {\n const { transitionLens } = product || {}\n const { availableColors, availableClens } = transitionLens || {}\n\n const identifier = availableColors || availableClens || []\n const isClen = !!availableClens && availableClens.length > 0 && availableColors === undefined\n\n return filterColors(identifier, colors, isClen)\n}\n\nexport const findColor = (identifier: string, colorsCatalog: Color[]) => {\n return colorsCatalog.find(c => c.colorCode === identifier || c.clen === identifier)\n}\n","import { Config } from '@customTypes/config'\nimport { getRegion } from './region'\n\nexport const fallbackLanguage = (config: Config) => {\n const currentRegion = getRegion(config)\n\n if (currentRegion === 'EU') return 'en-EU'\n else if (currentRegion === 'AU') return 'en-AU'\n\n return 'en-US'\n}\n","import { Config } from '@customTypes/config'\n\nconst BIPA_REGION_VALUES = ['us', 'na']\n\nexport const checkIsRegionUS = (config: Config): boolean => {\n const {\n store: { region },\n store: { countryId },\n } = config\n\n let where: Array = [region || '', countryId || '']\n\n if (config.analytics) {\n where = where.concat(config.analytics.storeRegion || '')\n }\n\n if (where.every(item => item === '')) {\n where = where.concat('us')\n }\n\n return where.some(current => BIPA_REGION_VALUES.includes(current.toLowerCase()))\n}\n\nexport const checkIsRegionANZ = (config: Config): boolean => {\n const {\n store: { region },\n store: { countryId },\n } = config\n\n let where: Array = [region || '', countryId || '']\n\n if (config.analytics) {\n where = where.concat(config.analytics.storeRegion || '')\n }\n\n return where.some(current => current.toLowerCase() === 'anz')\n}\n\nexport const getRegion = (config: Config) => {\n const validRegion = ['US', 'EU', 'AU']\n\n const {\n store: { region },\n analytics,\n } = config || {}\n\n const { storeRegion } = analytics || {}\n\n const currentRegion = region || storeRegion || 'US'\n\n return validRegion.indexOf(currentRegion) > -1 ? currentRegion : 'EU' // meaning the region is the rest of the world so we use EU\n}\n","export const availableMode = () => '/'\nexport const liveTryOn = () => '/live-try-on'\nexport const pictureMode = (stepId?: string) =>\n stepId ? `/picture-mode/${stepId}` : '/picture-mode'\nexport const videoMode = (stepId?: string) => (stepId ? `/video-mode/${stepId}` : '/video-mode')\nexport const videoModeView = () => 'video-mode-view'\nexport const videoScan = () => 'video-scan'\nexport const uploadInstructions = () => 'upload-instructions'\nexport const takePicture = () => 'take-picture'\nexport const takePictureInstructions = () => 'take-picture-instructions'\nexport const pictureModeView = () => 'picture-mode-view'\nexport const privacyPolicy = () => '/privacy-policy'\nexport const pictureVideoModeError = () => 'error'\n","import { Matrix3 } from './Matrix3.js';\nimport { Vector3 } from './Vector3.js';\n\nconst _vector1 = /*@__PURE__*/ new Vector3();\nconst _vector2 = /*@__PURE__*/ new Vector3();\nconst _normalMatrix = /*@__PURE__*/ new Matrix3();\n\nclass Plane {\n\n\tconstructor( normal = new Vector3( 1, 0, 0 ), constant = 0 ) {\n\n\t\tthis.isPlane = true;\n\n\t\t// normal is assumed to be normalized\n\n\t\tthis.normal = normal;\n\t\tthis.constant = constant;\n\n\t}\n\n\tset( normal, constant ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = constant;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponents( x, y, z, w ) {\n\n\t\tthis.normal.set( x, y, z );\n\t\tthis.constant = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromNormalAndCoplanarPoint( normal, point ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = - point.dot( this.normal );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCoplanarPoints( a, b, c ) {\n\n\t\tconst normal = _vector1.subVectors( c, b ).cross( _vector2.subVectors( a, b ) ).normalize();\n\n\t\t// Q: should an error be thrown if normal is zero (e.g. degenerate plane)?\n\n\t\tthis.setFromNormalAndCoplanarPoint( normal, a );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( plane ) {\n\n\t\tthis.normal.copy( plane.normal );\n\t\tthis.constant = plane.constant;\n\n\t\treturn this;\n\n\t}\n\n\tnormalize() {\n\n\t\t// Note: will lead to a divide by zero if the plane is invalid.\n\n\t\tconst inverseNormalLength = 1.0 / this.normal.length();\n\t\tthis.normal.multiplyScalar( inverseNormalLength );\n\t\tthis.constant *= inverseNormalLength;\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.constant *= - 1;\n\t\tthis.normal.negate();\n\n\t\treturn this;\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn this.normal.dot( point ) + this.constant;\n\n\t}\n\n\tdistanceToSphere( sphere ) {\n\n\t\treturn this.distanceToPoint( sphere.center ) - sphere.radius;\n\n\t}\n\n\tprojectPoint( point, target ) {\n\n\t\treturn target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point );\n\n\t}\n\n\tintersectLine( line, target ) {\n\n\t\tconst direction = line.delta( _vector1 );\n\n\t\tconst denominator = this.normal.dot( direction );\n\n\t\tif ( denominator === 0 ) {\n\n\t\t\t// line is coplanar, return origin\n\t\t\tif ( this.distanceToPoint( line.start ) === 0 ) {\n\n\t\t\t\treturn target.copy( line.start );\n\n\t\t\t}\n\n\t\t\t// Unsure if this is the correct method to handle this case.\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst t = - ( line.start.dot( this.normal ) + this.constant ) / denominator;\n\n\t\tif ( t < 0 || t > 1 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\treturn target.copy( direction ).multiplyScalar( t ).add( line.start );\n\n\t}\n\n\tintersectsLine( line ) {\n\n\t\t// Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it.\n\n\t\tconst startSign = this.distanceToPoint( line.start );\n\t\tconst endSign = this.distanceToPoint( line.end );\n\n\t\treturn ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsPlane( this );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\treturn sphere.intersectsPlane( this );\n\n\t}\n\n\tcoplanarPoint( target ) {\n\n\t\treturn target.copy( this.normal ).multiplyScalar( - this.constant );\n\n\t}\n\n\tapplyMatrix4( matrix, optionalNormalMatrix ) {\n\n\t\tconst normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix( matrix );\n\n\t\tconst referencePoint = this.coplanarPoint( _vector1 ).applyMatrix4( matrix );\n\n\t\tconst normal = this.normal.applyMatrix3( normalMatrix ).normalize();\n\n\t\tthis.constant = - referencePoint.dot( normal );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.constant -= offset.dot( this.normal );\n\n\t\treturn this;\n\n\t}\n\n\tequals( plane ) {\n\n\t\treturn plane.normal.equals( this.normal ) && ( plane.constant === this.constant );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nexport { Plane };\n","import { Vector3 } from './Vector3.js';\nimport { Sphere } from './Sphere.js';\nimport { Plane } from './Plane.js';\n\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _vector = /*@__PURE__*/ new Vector3();\n\nclass Frustum {\n\n\tconstructor( p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane() ) {\n\n\t\tthis.planes = [ p0, p1, p2, p3, p4, p5 ];\n\n\t}\n\n\tset( p0, p1, p2, p3, p4, p5 ) {\n\n\t\tconst planes = this.planes;\n\n\t\tplanes[ 0 ].copy( p0 );\n\t\tplanes[ 1 ].copy( p1 );\n\t\tplanes[ 2 ].copy( p2 );\n\t\tplanes[ 3 ].copy( p3 );\n\t\tplanes[ 4 ].copy( p4 );\n\t\tplanes[ 5 ].copy( p5 );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( frustum ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tplanes[ i ].copy( frustum.planes[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromProjectionMatrix( m ) {\n\n\t\tconst planes = this.planes;\n\t\tconst me = m.elements;\n\t\tconst me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ];\n\t\tconst me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ];\n\t\tconst me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ];\n\t\tconst me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ];\n\n\t\tplanes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize();\n\t\tplanes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize();\n\t\tplanes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize();\n\t\tplanes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize();\n\t\tplanes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize();\n\t\tplanes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize();\n\n\t\treturn this;\n\n\t}\n\n\tintersectsObject( object ) {\n\n\t\tconst geometry = object.geometry;\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere ).applyMatrix4( object.matrixWorld );\n\n\t\treturn this.intersectsSphere( _sphere );\n\n\t}\n\n\tintersectsSprite( sprite ) {\n\n\t\t_sphere.center.set( 0, 0, 0 );\n\t\t_sphere.radius = 0.7071067811865476;\n\t\t_sphere.applyMatrix4( sprite.matrixWorld );\n\n\t\treturn this.intersectsSphere( _sphere );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\tconst planes = this.planes;\n\t\tconst center = sphere.center;\n\t\tconst negRadius = - sphere.radius;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst distance = planes[ i ].distanceToPoint( center );\n\n\t\t\tif ( distance < negRadius ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst plane = planes[ i ];\n\n\t\t\t// corner at max distance\n\n\t\t\t_vector.x = plane.normal.x > 0 ? box.max.x : box.min.x;\n\t\t\t_vector.y = plane.normal.y > 0 ? box.max.y : box.min.y;\n\t\t\t_vector.z = plane.normal.z > 0 ? box.max.z : box.min.z;\n\n\t\t\tif ( plane.distanceToPoint( _vector ) < 0 ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\tconst planes = this.planes;\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tif ( planes[ i ].distanceToPoint( point ) < 0 ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\n\nexport { Frustum };\n","function WebGLAttributes( gl, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tconst buffers = new WeakMap();\n\n\tfunction createBuffer( attribute, bufferType ) {\n\n\t\tconst array = attribute.array;\n\t\tconst usage = attribute.usage;\n\n\t\tconst buffer = gl.createBuffer();\n\n\t\tgl.bindBuffer( bufferType, buffer );\n\t\tgl.bufferData( bufferType, array, usage );\n\n\t\tattribute.onUploadCallback();\n\n\t\tlet type;\n\n\t\tif ( array instanceof Float32Array ) {\n\n\t\t\ttype = gl.FLOAT;\n\n\t\t} else if ( array instanceof Uint16Array ) {\n\n\t\t\tif ( attribute.isFloat16BufferAttribute ) {\n\n\t\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\t\ttype = gl.HALF_FLOAT;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthrow new Error( 'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.' );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\ttype = gl.UNSIGNED_SHORT;\n\n\t\t\t}\n\n\t\t} else if ( array instanceof Int16Array ) {\n\n\t\t\ttype = gl.SHORT;\n\n\t\t} else if ( array instanceof Uint32Array ) {\n\n\t\t\ttype = gl.UNSIGNED_INT;\n\n\t\t} else if ( array instanceof Int32Array ) {\n\n\t\t\ttype = gl.INT;\n\n\t\t} else if ( array instanceof Int8Array ) {\n\n\t\t\ttype = gl.BYTE;\n\n\t\t} else if ( array instanceof Uint8Array ) {\n\n\t\t\ttype = gl.UNSIGNED_BYTE;\n\n\t\t} else if ( array instanceof Uint8ClampedArray ) {\n\n\t\t\ttype = gl.UNSIGNED_BYTE;\n\n\t\t} else {\n\n\t\t\tthrow new Error( 'THREE.WebGLAttributes: Unsupported buffer data format: ' + array );\n\n\t\t}\n\n\t\treturn {\n\t\t\tbuffer: buffer,\n\t\t\ttype: type,\n\t\t\tbytesPerElement: array.BYTES_PER_ELEMENT,\n\t\t\tversion: attribute.version\n\t\t};\n\n\t}\n\n\tfunction updateBuffer( buffer, attribute, bufferType ) {\n\n\t\tconst array = attribute.array;\n\t\tconst updateRange = attribute.updateRange;\n\n\t\tgl.bindBuffer( bufferType, buffer );\n\n\t\tif ( updateRange.count === - 1 ) {\n\n\t\t\t// Not using update ranges\n\n\t\t\tgl.bufferSubData( bufferType, 0, array );\n\n\t\t} else {\n\n\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray, updateRange.offset, updateRange.count );\n\n\t\t\t} else {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray.subarray( updateRange.offset, updateRange.offset + updateRange.count ) );\n\n\t\t\t}\n\n\t\t\tupdateRange.count = - 1; // reset range\n\n\t\t}\n\n\t}\n\n\t//\n\n\tfunction get( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\treturn buffers.get( attribute );\n\n\t}\n\n\tfunction remove( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data ) {\n\n\t\t\tgl.deleteBuffer( data.buffer );\n\n\t\t\tbuffers.delete( attribute );\n\n\t\t}\n\n\t}\n\n\tfunction update( attribute, bufferType ) {\n\n\t\tif ( attribute.isGLBufferAttribute ) {\n\n\t\t\tconst cached = buffers.get( attribute );\n\n\t\t\tif ( ! cached || cached.version < attribute.version ) {\n\n\t\t\t\tbuffers.set( attribute, {\n\t\t\t\t\tbuffer: attribute.buffer,\n\t\t\t\t\ttype: attribute.type,\n\t\t\t\t\tbytesPerElement: attribute.elementSize,\n\t\t\t\t\tversion: attribute.version\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data === undefined ) {\n\n\t\t\tbuffers.set( attribute, createBuffer( attribute, bufferType ) );\n\n\t\t} else if ( data.version < attribute.version ) {\n\n\t\t\tupdateBuffer( data.buffer, attribute, bufferType );\n\n\t\t\tdata.version = attribute.version;\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\tget: get,\n\t\tremove: remove,\n\t\tupdate: update\n\n\t};\n\n}\n\n\nexport { WebGLAttributes };\n","function WebGLBindingStates( gl, extensions, attributes, capabilities ) {\n\n\tconst maxVertexAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS );\n\n\tconst extension = capabilities.isWebGL2 ? null : extensions.get( 'OES_vertex_array_object' );\n\tconst vaoAvailable = capabilities.isWebGL2 || extension !== null;\n\n\tconst bindingStates = {};\n\n\tconst defaultState = createBindingState( null );\n\tlet currentState = defaultState;\n\tlet forceUpdate = false;\n\n\tfunction setup( object, material, program, geometry, index ) {\n\n\t\tlet updateBuffers = false;\n\n\t\tif ( vaoAvailable ) {\n\n\t\t\tconst state = getBindingState( geometry, program, material );\n\n\t\t\tif ( currentState !== state ) {\n\n\t\t\t\tcurrentState = state;\n\t\t\t\tbindVertexArrayObject( currentState.object );\n\n\t\t\t}\n\n\t\t\tupdateBuffers = needsUpdate( object, geometry, program, index );\n\n\t\t\tif ( updateBuffers ) saveCache( object, geometry, program, index );\n\n\t\t} else {\n\n\t\t\tconst wireframe = ( material.wireframe === true );\n\n\t\t\tif ( currentState.geometry !== geometry.id ||\n\t\t\t\tcurrentState.program !== program.id ||\n\t\t\t\tcurrentState.wireframe !== wireframe ) {\n\n\t\t\t\tcurrentState.geometry = geometry.id;\n\t\t\t\tcurrentState.program = program.id;\n\t\t\t\tcurrentState.wireframe = wireframe;\n\n\t\t\t\tupdateBuffers = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( index !== null ) {\n\n\t\t\tattributes.update( index, gl.ELEMENT_ARRAY_BUFFER );\n\n\t\t}\n\n\t\tif ( updateBuffers || forceUpdate ) {\n\n\t\t\tforceUpdate = false;\n\n\t\t\tsetupVertexAttributes( object, material, program, geometry );\n\n\t\t\tif ( index !== null ) {\n\n\t\t\t\tgl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, attributes.get( index ).buffer );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction createVertexArrayObject() {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.createVertexArray();\n\n\t\treturn extension.createVertexArrayOES();\n\n\t}\n\n\tfunction bindVertexArrayObject( vao ) {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.bindVertexArray( vao );\n\n\t\treturn extension.bindVertexArrayOES( vao );\n\n\t}\n\n\tfunction deleteVertexArrayObject( vao ) {\n\n\t\tif ( capabilities.isWebGL2 ) return gl.deleteVertexArray( vao );\n\n\t\treturn extension.deleteVertexArrayOES( vao );\n\n\t}\n\n\tfunction getBindingState( geometry, program, material ) {\n\n\t\tconst wireframe = ( material.wireframe === true );\n\n\t\tlet programMap = bindingStates[ geometry.id ];\n\n\t\tif ( programMap === undefined ) {\n\n\t\t\tprogramMap = {};\n\t\t\tbindingStates[ geometry.id ] = programMap;\n\n\t\t}\n\n\t\tlet stateMap = programMap[ program.id ];\n\n\t\tif ( stateMap === undefined ) {\n\n\t\t\tstateMap = {};\n\t\t\tprogramMap[ program.id ] = stateMap;\n\n\t\t}\n\n\t\tlet state = stateMap[ wireframe ];\n\n\t\tif ( state === undefined ) {\n\n\t\t\tstate = createBindingState( createVertexArrayObject() );\n\t\t\tstateMap[ wireframe ] = state;\n\n\t\t}\n\n\t\treturn state;\n\n\t}\n\n\tfunction createBindingState( vao ) {\n\n\t\tconst newAttributes = [];\n\t\tconst enabledAttributes = [];\n\t\tconst attributeDivisors = [];\n\n\t\tfor ( let i = 0; i < maxVertexAttributes; i ++ ) {\n\n\t\t\tnewAttributes[ i ] = 0;\n\t\t\tenabledAttributes[ i ] = 0;\n\t\t\tattributeDivisors[ i ] = 0;\n\n\t\t}\n\n\t\treturn {\n\n\t\t\t// for backward compatibility on non-VAO support browser\n\t\t\tgeometry: null,\n\t\t\tprogram: null,\n\t\t\twireframe: false,\n\n\t\t\tnewAttributes: newAttributes,\n\t\t\tenabledAttributes: enabledAttributes,\n\t\t\tattributeDivisors: attributeDivisors,\n\t\t\tobject: vao,\n\t\t\tattributes: {},\n\t\t\tindex: null\n\n\t\t};\n\n\t}\n\n\tfunction needsUpdate( object, geometry, program, index ) {\n\n\t\tconst cachedAttributes = currentState.attributes;\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\tlet attributesNum = 0;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tconst cachedAttribute = cachedAttributes[ name ];\n\t\t\t\tlet geometryAttribute = geometryAttributes[ name ];\n\n\t\t\t\tif ( geometryAttribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) geometryAttribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) geometryAttribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tif ( cachedAttribute === undefined ) return true;\n\n\t\t\t\tif ( cachedAttribute.attribute !== geometryAttribute ) return true;\n\n\t\t\t\tif ( geometryAttribute && cachedAttribute.data !== geometryAttribute.data ) return true;\n\n\t\t\t\tattributesNum ++;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( currentState.attributesNum !== attributesNum ) return true;\n\n\t\tif ( currentState.index !== index ) return true;\n\n\t\treturn false;\n\n\t}\n\n\tfunction saveCache( object, geometry, program, index ) {\n\n\t\tconst cache = {};\n\t\tconst attributes = geometry.attributes;\n\t\tlet attributesNum = 0;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tlet attribute = attributes[ name ];\n\n\t\t\t\tif ( attribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) attribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) attribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tconst data = {};\n\t\t\t\tdata.attribute = attribute;\n\n\t\t\t\tif ( attribute && attribute.data ) {\n\n\t\t\t\t\tdata.data = attribute.data;\n\n\t\t\t\t}\n\n\t\t\t\tcache[ name ] = data;\n\n\t\t\t\tattributesNum ++;\n\n\t\t\t}\n\n\t\t}\n\n\t\tcurrentState.attributes = cache;\n\t\tcurrentState.attributesNum = attributesNum;\n\n\t\tcurrentState.index = index;\n\n\t}\n\n\tfunction initAttributes() {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\n\t\tfor ( let i = 0, il = newAttributes.length; i < il; i ++ ) {\n\n\t\t\tnewAttributes[ i ] = 0;\n\n\t\t}\n\n\t}\n\n\tfunction enableAttribute( attribute ) {\n\n\t\tenableAttributeAndDivisor( attribute, 0 );\n\n\t}\n\n\tfunction enableAttributeAndDivisor( attribute, meshPerAttribute ) {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\t\tconst enabledAttributes = currentState.enabledAttributes;\n\t\tconst attributeDivisors = currentState.attributeDivisors;\n\n\t\tnewAttributes[ attribute ] = 1;\n\n\t\tif ( enabledAttributes[ attribute ] === 0 ) {\n\n\t\t\tgl.enableVertexAttribArray( attribute );\n\t\t\tenabledAttributes[ attribute ] = 1;\n\n\t\t}\n\n\t\tif ( attributeDivisors[ attribute ] !== meshPerAttribute ) {\n\n\t\t\tconst extension = capabilities.isWebGL2 ? gl : extensions.get( 'ANGLE_instanced_arrays' );\n\n\t\t\textension[ capabilities.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE' ]( attribute, meshPerAttribute );\n\t\t\tattributeDivisors[ attribute ] = meshPerAttribute;\n\n\t\t}\n\n\t}\n\n\tfunction disableUnusedAttributes() {\n\n\t\tconst newAttributes = currentState.newAttributes;\n\t\tconst enabledAttributes = currentState.enabledAttributes;\n\n\t\tfor ( let i = 0, il = enabledAttributes.length; i < il; i ++ ) {\n\n\t\t\tif ( enabledAttributes[ i ] !== newAttributes[ i ] ) {\n\n\t\t\t\tgl.disableVertexAttribArray( i );\n\t\t\t\tenabledAttributes[ i ] = 0;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction vertexAttribPointer( index, size, type, normalized, stride, offset ) {\n\n\t\tif ( capabilities.isWebGL2 === true && ( type === gl.INT || type === gl.UNSIGNED_INT ) ) {\n\n\t\t\tgl.vertexAttribIPointer( index, size, type, stride, offset );\n\n\t\t} else {\n\n\t\t\tgl.vertexAttribPointer( index, size, type, normalized, stride, offset );\n\n\t\t}\n\n\t}\n\n\tfunction setupVertexAttributes( object, material, program, geometry ) {\n\n\t\tif ( capabilities.isWebGL2 === false && ( object.isInstancedMesh || geometry.isInstancedBufferGeometry ) ) {\n\n\t\t\tif ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) return;\n\n\t\t}\n\n\t\tinitAttributes();\n\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\tconst programAttributes = program.getAttributes();\n\n\t\tconst materialDefaultAttributeValues = material.defaultAttributeValues;\n\n\t\tfor ( const name in programAttributes ) {\n\n\t\t\tconst programAttribute = programAttributes[ name ];\n\n\t\t\tif ( programAttribute.location >= 0 ) {\n\n\t\t\t\tlet geometryAttribute = geometryAttributes[ name ];\n\n\t\t\t\tif ( geometryAttribute === undefined ) {\n\n\t\t\t\t\tif ( name === 'instanceMatrix' && object.instanceMatrix ) geometryAttribute = object.instanceMatrix;\n\t\t\t\t\tif ( name === 'instanceColor' && object.instanceColor ) geometryAttribute = object.instanceColor;\n\n\t\t\t\t}\n\n\t\t\t\tif ( geometryAttribute !== undefined ) {\n\n\t\t\t\t\tconst normalized = geometryAttribute.normalized;\n\t\t\t\t\tconst size = geometryAttribute.itemSize;\n\n\t\t\t\t\tconst attribute = attributes.get( geometryAttribute );\n\n\t\t\t\t\t// TODO Attribute may not be available on context restore\n\n\t\t\t\t\tif ( attribute === undefined ) continue;\n\n\t\t\t\t\tconst buffer = attribute.buffer;\n\t\t\t\t\tconst type = attribute.type;\n\t\t\t\t\tconst bytesPerElement = attribute.bytesPerElement;\n\n\t\t\t\t\tif ( geometryAttribute.isInterleavedBufferAttribute ) {\n\n\t\t\t\t\t\tconst data = geometryAttribute.data;\n\t\t\t\t\t\tconst stride = data.stride;\n\t\t\t\t\t\tconst offset = geometryAttribute.offset;\n\n\t\t\t\t\t\tif ( data.isInstancedInterleavedBuffer ) {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttributeAndDivisor( programAttribute.location + i, data.meshPerAttribute );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) {\n\n\t\t\t\t\t\t\t\tgeometry._maxInstanceCount = data.meshPerAttribute * data.count;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttribute( programAttribute.location + i );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgl.bindBuffer( gl.ARRAY_BUFFER, buffer );\n\n\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\tvertexAttribPointer(\n\t\t\t\t\t\t\t\tprogramAttribute.location + i,\n\t\t\t\t\t\t\t\tsize / programAttribute.locationSize,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tnormalized,\n\t\t\t\t\t\t\t\tstride * bytesPerElement,\n\t\t\t\t\t\t\t\t( offset + ( size / programAttribute.locationSize ) * i ) * bytesPerElement\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif ( geometryAttribute.isInstancedBufferAttribute ) {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttributeAndDivisor( programAttribute.location + i, geometryAttribute.meshPerAttribute );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) {\n\n\t\t\t\t\t\t\t\tgeometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count;\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\t\tenableAttribute( programAttribute.location + i );\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tgl.bindBuffer( gl.ARRAY_BUFFER, buffer );\n\n\t\t\t\t\t\tfor ( let i = 0; i < programAttribute.locationSize; i ++ ) {\n\n\t\t\t\t\t\t\tvertexAttribPointer(\n\t\t\t\t\t\t\t\tprogramAttribute.location + i,\n\t\t\t\t\t\t\t\tsize / programAttribute.locationSize,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tnormalized,\n\t\t\t\t\t\t\t\tsize * bytesPerElement,\n\t\t\t\t\t\t\t\t( size / programAttribute.locationSize ) * i * bytesPerElement\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if ( materialDefaultAttributeValues !== undefined ) {\n\n\t\t\t\t\tconst value = materialDefaultAttributeValues[ name ];\n\n\t\t\t\t\tif ( value !== undefined ) {\n\n\t\t\t\t\t\tswitch ( value.length ) {\n\n\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\tgl.vertexAttrib2fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\tgl.vertexAttrib3fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t\tgl.vertexAttrib4fv( programAttribute.location, value );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tgl.vertexAttrib1fv( programAttribute.location, value );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tdisableUnusedAttributes();\n\n\t}\n\n\tfunction dispose() {\n\n\t\treset();\n\n\t\tfor ( const geometryId in bindingStates ) {\n\n\t\t\tconst programMap = bindingStates[ geometryId ];\n\n\t\t\tfor ( const programId in programMap ) {\n\n\t\t\t\tconst stateMap = programMap[ programId ];\n\n\t\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t\t}\n\n\t\t\t\tdelete programMap[ programId ];\n\n\t\t\t}\n\n\t\t\tdelete bindingStates[ geometryId ];\n\n\t\t}\n\n\t}\n\n\tfunction releaseStatesOfGeometry( geometry ) {\n\n\t\tif ( bindingStates[ geometry.id ] === undefined ) return;\n\n\t\tconst programMap = bindingStates[ geometry.id ];\n\n\t\tfor ( const programId in programMap ) {\n\n\t\t\tconst stateMap = programMap[ programId ];\n\n\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t}\n\n\t\t\tdelete programMap[ programId ];\n\n\t\t}\n\n\t\tdelete bindingStates[ geometry.id ];\n\n\t}\n\n\tfunction releaseStatesOfProgram( program ) {\n\n\t\tfor ( const geometryId in bindingStates ) {\n\n\t\t\tconst programMap = bindingStates[ geometryId ];\n\n\t\t\tif ( programMap[ program.id ] === undefined ) continue;\n\n\t\t\tconst stateMap = programMap[ program.id ];\n\n\t\t\tfor ( const wireframe in stateMap ) {\n\n\t\t\t\tdeleteVertexArrayObject( stateMap[ wireframe ].object );\n\n\t\t\t\tdelete stateMap[ wireframe ];\n\n\t\t\t}\n\n\t\t\tdelete programMap[ program.id ];\n\n\t\t}\n\n\t}\n\n\tfunction reset() {\n\n\t\tresetDefaultState();\n\t\tforceUpdate = true;\n\n\t\tif ( currentState === defaultState ) return;\n\n\t\tcurrentState = defaultState;\n\t\tbindVertexArrayObject( currentState.object );\n\n\t}\n\n\t// for backward-compatibility\n\n\tfunction resetDefaultState() {\n\n\t\tdefaultState.geometry = null;\n\t\tdefaultState.program = null;\n\t\tdefaultState.wireframe = false;\n\n\t}\n\n\treturn {\n\n\t\tsetup: setup,\n\t\treset: reset,\n\t\tresetDefaultState: resetDefaultState,\n\t\tdispose: dispose,\n\t\treleaseStatesOfGeometry: releaseStatesOfGeometry,\n\t\treleaseStatesOfProgram: releaseStatesOfProgram,\n\n\t\tinitAttributes: initAttributes,\n\t\tenableAttribute: enableAttribute,\n\t\tdisableUnusedAttributes: disableUnusedAttributes\n\n\t};\n\n}\n\n\nexport { WebGLBindingStates };\n","function WebGLBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawArrays( mode, start, count );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawArraysInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawArraysInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, start, count, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\n\nexport { WebGLBufferRenderer };\n","function WebGLCapabilities( gl, extensions, parameters ) {\n\n\tlet maxAnisotropy;\n\n\tfunction getMaxAnisotropy() {\n\n\t\tif ( maxAnisotropy !== undefined ) return maxAnisotropy;\n\n\t\tif ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) {\n\n\t\t\tconst extension = extensions.get( 'EXT_texture_filter_anisotropic' );\n\n\t\t\tmaxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT );\n\n\t\t} else {\n\n\t\t\tmaxAnisotropy = 0;\n\n\t\t}\n\n\t\treturn maxAnisotropy;\n\n\t}\n\n\tfunction getMaxPrecision( precision ) {\n\n\t\tif ( precision === 'highp' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0 ) {\n\n\t\t\t\treturn 'highp';\n\n\t\t\t}\n\n\t\t\tprecision = 'mediump';\n\n\t\t}\n\n\t\tif ( precision === 'mediump' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0 ) {\n\n\t\t\t\treturn 'mediump';\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn 'lowp';\n\n\t}\n\n\tconst isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext ) ||\n\t\t( typeof WebGL2ComputeRenderingContext !== 'undefined' && gl instanceof WebGL2ComputeRenderingContext );\n\n\tlet precision = parameters.precision !== undefined ? parameters.precision : 'highp';\n\tconst maxPrecision = getMaxPrecision( precision );\n\n\tif ( maxPrecision !== precision ) {\n\n\t\tconsole.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' );\n\t\tprecision = maxPrecision;\n\n\t}\n\n\tconst drawBuffers = isWebGL2 || extensions.has( 'WEBGL_draw_buffers' );\n\n\tconst logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true;\n\n\tconst maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS );\n\tconst maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS );\n\tconst maxTextureSize = gl.getParameter( gl.MAX_TEXTURE_SIZE );\n\tconst maxCubemapSize = gl.getParameter( gl.MAX_CUBE_MAP_TEXTURE_SIZE );\n\n\tconst maxAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS );\n\tconst maxVertexUniforms = gl.getParameter( gl.MAX_VERTEX_UNIFORM_VECTORS );\n\tconst maxVaryings = gl.getParameter( gl.MAX_VARYING_VECTORS );\n\tconst maxFragmentUniforms = gl.getParameter( gl.MAX_FRAGMENT_UNIFORM_VECTORS );\n\n\tconst vertexTextures = maxVertexTextures > 0;\n\tconst floatFragmentTextures = isWebGL2 || extensions.has( 'OES_texture_float' );\n\tconst floatVertexTextures = vertexTextures && floatFragmentTextures;\n\n\tconst maxSamples = isWebGL2 ? gl.getParameter( gl.MAX_SAMPLES ) : 0;\n\n\treturn {\n\n\t\tisWebGL2: isWebGL2,\n\n\t\tdrawBuffers: drawBuffers,\n\n\t\tgetMaxAnisotropy: getMaxAnisotropy,\n\t\tgetMaxPrecision: getMaxPrecision,\n\n\t\tprecision: precision,\n\t\tlogarithmicDepthBuffer: logarithmicDepthBuffer,\n\n\t\tmaxTextures: maxTextures,\n\t\tmaxVertexTextures: maxVertexTextures,\n\t\tmaxTextureSize: maxTextureSize,\n\t\tmaxCubemapSize: maxCubemapSize,\n\n\t\tmaxAttributes: maxAttributes,\n\t\tmaxVertexUniforms: maxVertexUniforms,\n\t\tmaxVaryings: maxVaryings,\n\t\tmaxFragmentUniforms: maxFragmentUniforms,\n\n\t\tvertexTextures: vertexTextures,\n\t\tfloatFragmentTextures: floatFragmentTextures,\n\t\tfloatVertexTextures: floatVertexTextures,\n\n\t\tmaxSamples: maxSamples\n\n\t};\n\n}\n\n\nexport { WebGLCapabilities };\n","import { Matrix3 } from '../../math/Matrix3.js';\nimport { Plane } from '../../math/Plane.js';\n\nfunction WebGLClipping( properties ) {\n\n\tconst scope = this;\n\n\tlet globalState = null,\n\t\tnumGlobalPlanes = 0,\n\t\tlocalClippingEnabled = false,\n\t\trenderingShadows = false;\n\n\tconst plane = new Plane(),\n\t\tviewNormalMatrix = new Matrix3(),\n\n\t\tuniform = { value: null, needsUpdate: false };\n\n\tthis.uniform = uniform;\n\tthis.numPlanes = 0;\n\tthis.numIntersection = 0;\n\n\tthis.init = function ( planes, enableLocalClipping, camera ) {\n\n\t\tconst enabled =\n\t\t\tplanes.length !== 0 ||\n\t\t\tenableLocalClipping ||\n\t\t\t// enable state of previous frame - the clipping code has to\n\t\t\t// run another frame in order to reset the state:\n\t\t\tnumGlobalPlanes !== 0 ||\n\t\t\tlocalClippingEnabled;\n\n\t\tlocalClippingEnabled = enableLocalClipping;\n\n\t\tglobalState = projectPlanes( planes, camera, 0 );\n\t\tnumGlobalPlanes = planes.length;\n\n\t\treturn enabled;\n\n\t};\n\n\tthis.beginShadows = function () {\n\n\t\trenderingShadows = true;\n\t\tprojectPlanes( null );\n\n\t};\n\n\tthis.endShadows = function () {\n\n\t\trenderingShadows = false;\n\t\tresetGlobalState();\n\n\t};\n\n\tthis.setState = function ( material, camera, useCache ) {\n\n\t\tconst planes = material.clippingPlanes,\n\t\t\tclipIntersection = material.clipIntersection,\n\t\t\tclipShadows = material.clipShadows;\n\n\t\tconst materialProperties = properties.get( material );\n\n\t\tif ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) {\n\n\t\t\t// there's no local clipping\n\n\t\t\tif ( renderingShadows ) {\n\n\t\t\t\t// there's no global clipping\n\n\t\t\t\tprojectPlanes( null );\n\n\t\t\t} else {\n\n\t\t\t\tresetGlobalState();\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst nGlobal = renderingShadows ? 0 : numGlobalPlanes,\n\t\t\t\tlGlobal = nGlobal * 4;\n\n\t\t\tlet dstArray = materialProperties.clippingState || null;\n\n\t\t\tuniform.value = dstArray; // ensure unique state\n\n\t\t\tdstArray = projectPlanes( planes, camera, lGlobal, useCache );\n\n\t\t\tfor ( let i = 0; i !== lGlobal; ++ i ) {\n\n\t\t\t\tdstArray[ i ] = globalState[ i ];\n\n\t\t\t}\n\n\t\t\tmaterialProperties.clippingState = dstArray;\n\t\t\tthis.numIntersection = clipIntersection ? this.numPlanes : 0;\n\t\t\tthis.numPlanes += nGlobal;\n\n\t\t}\n\n\n\t};\n\n\tfunction resetGlobalState() {\n\n\t\tif ( uniform.value !== globalState ) {\n\n\t\t\tuniform.value = globalState;\n\t\t\tuniform.needsUpdate = numGlobalPlanes > 0;\n\n\t\t}\n\n\t\tscope.numPlanes = numGlobalPlanes;\n\t\tscope.numIntersection = 0;\n\n\t}\n\n\tfunction projectPlanes( planes, camera, dstOffset, skipTransform ) {\n\n\t\tconst nPlanes = planes !== null ? planes.length : 0;\n\t\tlet dstArray = null;\n\n\t\tif ( nPlanes !== 0 ) {\n\n\t\t\tdstArray = uniform.value;\n\n\t\t\tif ( skipTransform !== true || dstArray === null ) {\n\n\t\t\t\tconst flatSize = dstOffset + nPlanes * 4,\n\t\t\t\t\tviewMatrix = camera.matrixWorldInverse;\n\n\t\t\t\tviewNormalMatrix.getNormalMatrix( viewMatrix );\n\n\t\t\t\tif ( dstArray === null || dstArray.length < flatSize ) {\n\n\t\t\t\t\tdstArray = new Float32Array( flatSize );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) {\n\n\t\t\t\t\tplane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix );\n\n\t\t\t\t\tplane.normal.toArray( dstArray, i4 );\n\t\t\t\t\tdstArray[ i4 + 3 ] = plane.constant;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tuniform.value = dstArray;\n\t\t\tuniform.needsUpdate = true;\n\n\t\t}\n\n\t\tscope.numPlanes = nPlanes;\n\t\tscope.numIntersection = 0;\n\n\t\treturn dstArray;\n\n\t}\n\n}\n\n\nexport { WebGLClipping };\n","import { Vector3 } from './Vector3.js';\n\nconst _vector = /*@__PURE__*/ new Vector3();\nconst _segCenter = /*@__PURE__*/ new Vector3();\nconst _segDir = /*@__PURE__*/ new Vector3();\nconst _diff = /*@__PURE__*/ new Vector3();\n\nconst _edge1 = /*@__PURE__*/ new Vector3();\nconst _edge2 = /*@__PURE__*/ new Vector3();\nconst _normal = /*@__PURE__*/ new Vector3();\n\nclass Ray {\n\n\tconstructor( origin = new Vector3(), direction = new Vector3( 0, 0, - 1 ) ) {\n\n\t\tthis.origin = origin;\n\t\tthis.direction = direction;\n\n\t}\n\n\tset( origin, direction ) {\n\n\t\tthis.origin.copy( origin );\n\t\tthis.direction.copy( direction );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( ray ) {\n\n\t\tthis.origin.copy( ray.origin );\n\t\tthis.direction.copy( ray.direction );\n\n\t\treturn this;\n\n\t}\n\n\tat( t, target ) {\n\n\t\treturn target.copy( this.direction ).multiplyScalar( t ).add( this.origin );\n\n\t}\n\n\tlookAt( v ) {\n\n\t\tthis.direction.copy( v ).sub( this.origin ).normalize();\n\n\t\treturn this;\n\n\t}\n\n\trecast( t ) {\n\n\t\tthis.origin.copy( this.at( t, _vector ) );\n\n\t\treturn this;\n\n\t}\n\n\tclosestPointToPoint( point, target ) {\n\n\t\ttarget.subVectors( point, this.origin );\n\n\t\tconst directionDistance = target.dot( this.direction );\n\n\t\tif ( directionDistance < 0 ) {\n\n\t\t\treturn target.copy( this.origin );\n\n\t\t}\n\n\t\treturn target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn Math.sqrt( this.distanceSqToPoint( point ) );\n\n\t}\n\n\tdistanceSqToPoint( point ) {\n\n\t\tconst directionDistance = _vector.subVectors( point, this.origin ).dot( this.direction );\n\n\t\t// point behind the ray\n\n\t\tif ( directionDistance < 0 ) {\n\n\t\t\treturn this.origin.distanceToSquared( point );\n\n\t\t}\n\n\t\t_vector.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );\n\n\t\treturn _vector.distanceToSquared( point );\n\n\t}\n\n\tdistanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) {\n\n\t\t// from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteDistRaySegment.h\n\t\t// It returns the min distance between the ray and the segment\n\t\t// defined by v0 and v1\n\t\t// It can also set two optional targets :\n\t\t// - The closest point on the ray\n\t\t// - The closest point on the segment\n\n\t\t_segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );\n\t\t_segDir.copy( v1 ).sub( v0 ).normalize();\n\t\t_diff.copy( this.origin ).sub( _segCenter );\n\n\t\tconst segExtent = v0.distanceTo( v1 ) * 0.5;\n\t\tconst a01 = - this.direction.dot( _segDir );\n\t\tconst b0 = _diff.dot( this.direction );\n\t\tconst b1 = - _diff.dot( _segDir );\n\t\tconst c = _diff.lengthSq();\n\t\tconst det = Math.abs( 1 - a01 * a01 );\n\t\tlet s0, s1, sqrDist, extDet;\n\n\t\tif ( det > 0 ) {\n\n\t\t\t// The ray and segment are not parallel.\n\n\t\t\ts0 = a01 * b1 - b0;\n\t\t\ts1 = a01 * b0 - b1;\n\t\t\textDet = segExtent * det;\n\n\t\t\tif ( s0 >= 0 ) {\n\n\t\t\t\tif ( s1 >= - extDet ) {\n\n\t\t\t\t\tif ( s1 <= extDet ) {\n\n\t\t\t\t\t\t// region 0\n\t\t\t\t\t\t// Minimum at interior points of ray and segment.\n\n\t\t\t\t\t\tconst invDet = 1 / det;\n\t\t\t\t\t\ts0 *= invDet;\n\t\t\t\t\t\ts1 *= invDet;\n\t\t\t\t\t\tsqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// region 1\n\n\t\t\t\t\t\ts1 = segExtent;\n\t\t\t\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// region 5\n\n\t\t\t\t\ts1 = - segExtent;\n\t\t\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( s1 <= - extDet ) {\n\n\t\t\t\t\t// region 4\n\n\t\t\t\t\ts0 = Math.max( 0, - ( - a01 * segExtent + b0 ) );\n\t\t\t\t\ts1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t} else if ( s1 <= extDet ) {\n\n\t\t\t\t\t// region 3\n\n\t\t\t\t\ts0 = 0;\n\t\t\t\t\ts1 = Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// region 2\n\n\t\t\t\t\ts0 = Math.max( 0, - ( a01 * segExtent + b0 ) );\n\t\t\t\t\ts1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent );\n\t\t\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// Ray and segment are parallel.\n\n\t\t\ts1 = ( a01 > 0 ) ? - segExtent : segExtent;\n\t\t\ts0 = Math.max( 0, - ( a01 * s1 + b0 ) );\n\t\t\tsqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c;\n\n\t\t}\n\n\t\tif ( optionalPointOnRay ) {\n\n\t\t\toptionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin );\n\n\t\t}\n\n\t\tif ( optionalPointOnSegment ) {\n\n\t\t\toptionalPointOnSegment.copy( _segDir ).multiplyScalar( s1 ).add( _segCenter );\n\n\t\t}\n\n\t\treturn sqrDist;\n\n\t}\n\n\tintersectSphere( sphere, target ) {\n\n\t\t_vector.subVectors( sphere.center, this.origin );\n\t\tconst tca = _vector.dot( this.direction );\n\t\tconst d2 = _vector.dot( _vector ) - tca * tca;\n\t\tconst radius2 = sphere.radius * sphere.radius;\n\n\t\tif ( d2 > radius2 ) return null;\n\n\t\tconst thc = Math.sqrt( radius2 - d2 );\n\n\t\t// t0 = first intersect point - entrance on front of sphere\n\t\tconst t0 = tca - thc;\n\n\t\t// t1 = second intersect point - exit point on back of sphere\n\t\tconst t1 = tca + thc;\n\n\t\t// test to see if both t0 and t1 are behind the ray - if so, return null\n\t\tif ( t0 < 0 && t1 < 0 ) return null;\n\n\t\t// test to see if t0 is behind the ray:\n\t\t// if it is, the ray is inside the sphere, so return the second exit point scaled by t1,\n\t\t// in order to always return an intersect point that is in front of the ray.\n\t\tif ( t0 < 0 ) return this.at( t1, target );\n\n\t\t// else t0 is in front of the ray, so return the first collision point scaled by t0\n\t\treturn this.at( t0, target );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\treturn this.distanceSqToPoint( sphere.center ) <= ( sphere.radius * sphere.radius );\n\n\t}\n\n\tdistanceToPlane( plane ) {\n\n\t\tconst denominator = plane.normal.dot( this.direction );\n\n\t\tif ( denominator === 0 ) {\n\n\t\t\t// line is coplanar, return origin\n\t\t\tif ( plane.distanceToPoint( this.origin ) === 0 ) {\n\n\t\t\t\treturn 0;\n\n\t\t\t}\n\n\t\t\t// Null is preferable to undefined since undefined means.... it is undefined\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator;\n\n\t\t// Return if the ray never intersects the plane\n\n\t\treturn t >= 0 ? t : null;\n\n\t}\n\n\tintersectPlane( plane, target ) {\n\n\t\tconst t = this.distanceToPlane( plane );\n\n\t\tif ( t === null ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\treturn this.at( t, target );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\t// check if the ray lies on the plane first\n\n\t\tconst distToPoint = plane.distanceToPoint( this.origin );\n\n\t\tif ( distToPoint === 0 ) {\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\tconst denominator = plane.normal.dot( this.direction );\n\n\t\tif ( denominator * distToPoint < 0 ) {\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\t// ray origin is behind the plane (and is pointing behind it)\n\n\t\treturn false;\n\n\t}\n\n\tintersectBox( box, target ) {\n\n\t\tlet tmin, tmax, tymin, tymax, tzmin, tzmax;\n\n\t\tconst invdirx = 1 / this.direction.x,\n\t\t\tinvdiry = 1 / this.direction.y,\n\t\t\tinvdirz = 1 / this.direction.z;\n\n\t\tconst origin = this.origin;\n\n\t\tif ( invdirx >= 0 ) {\n\n\t\t\ttmin = ( box.min.x - origin.x ) * invdirx;\n\t\t\ttmax = ( box.max.x - origin.x ) * invdirx;\n\n\t\t} else {\n\n\t\t\ttmin = ( box.max.x - origin.x ) * invdirx;\n\t\t\ttmax = ( box.min.x - origin.x ) * invdirx;\n\n\t\t}\n\n\t\tif ( invdiry >= 0 ) {\n\n\t\t\ttymin = ( box.min.y - origin.y ) * invdiry;\n\t\t\ttymax = ( box.max.y - origin.y ) * invdiry;\n\n\t\t} else {\n\n\t\t\ttymin = ( box.max.y - origin.y ) * invdiry;\n\t\t\ttymax = ( box.min.y - origin.y ) * invdiry;\n\n\t\t}\n\n\t\tif ( ( tmin > tymax ) || ( tymin > tmax ) ) return null;\n\n\t\tif ( tymin > tmin || isNaN( tmin ) ) tmin = tymin;\n\n\t\tif ( tymax < tmax || isNaN( tmax ) ) tmax = tymax;\n\n\t\tif ( invdirz >= 0 ) {\n\n\t\t\ttzmin = ( box.min.z - origin.z ) * invdirz;\n\t\t\ttzmax = ( box.max.z - origin.z ) * invdirz;\n\n\t\t} else {\n\n\t\t\ttzmin = ( box.max.z - origin.z ) * invdirz;\n\t\t\ttzmax = ( box.min.z - origin.z ) * invdirz;\n\n\t\t}\n\n\t\tif ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null;\n\n\t\tif ( tzmin > tmin || tmin !== tmin ) tmin = tzmin;\n\n\t\tif ( tzmax < tmax || tmax !== tmax ) tmax = tzmax;\n\n\t\t//return point closest to the ray (positive side)\n\n\t\tif ( tmax < 0 ) return null;\n\n\t\treturn this.at( tmin >= 0 ? tmin : tmax, target );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn this.intersectBox( box, _vector ) !== null;\n\n\t}\n\n\tintersectTriangle( a, b, c, backfaceCulling, target ) {\n\n\t\t// Compute the offset origin, edges, and normal.\n\n\t\t// from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h\n\n\t\t_edge1.subVectors( b, a );\n\t\t_edge2.subVectors( c, a );\n\t\t_normal.crossVectors( _edge1, _edge2 );\n\n\t\t// Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction,\n\t\t// E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by\n\t\t// |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2))\n\t\t// |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q))\n\t\t// |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N)\n\t\tlet DdN = this.direction.dot( _normal );\n\t\tlet sign;\n\n\t\tif ( DdN > 0 ) {\n\n\t\t\tif ( backfaceCulling ) return null;\n\t\t\tsign = 1;\n\n\t\t} else if ( DdN < 0 ) {\n\n\t\t\tsign = - 1;\n\t\t\tDdN = - DdN;\n\n\t\t} else {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t_diff.subVectors( this.origin, a );\n\t\tconst DdQxE2 = sign * this.direction.dot( _edge2.crossVectors( _diff, _edge2 ) );\n\n\t\t// b1 < 0, no intersection\n\t\tif ( DdQxE2 < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst DdE1xQ = sign * this.direction.dot( _edge1.cross( _diff ) );\n\n\t\t// b2 < 0, no intersection\n\t\tif ( DdE1xQ < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// b1+b2 > 1, no intersection\n\t\tif ( DdQxE2 + DdE1xQ > DdN ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// Line intersects triangle, check if ray does.\n\t\tconst QdN = - sign * _diff.dot( _normal );\n\n\t\t// t < 0, no intersection\n\t\tif ( QdN < 0 ) {\n\n\t\t\treturn null;\n\n\t\t}\n\n\t\t// Ray intersects triangle.\n\t\treturn this.at( QdN / DdN, target );\n\n\t}\n\n\tapplyMatrix4( matrix4 ) {\n\n\t\tthis.origin.applyMatrix4( matrix4 );\n\t\tthis.direction.transformDirection( matrix4 );\n\n\t\treturn this;\n\n\t}\n\n\tequals( ray ) {\n\n\t\treturn ray.origin.equals( this.origin ) && ray.direction.equals( this.direction );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nexport { Ray };\n","import { Vector3 } from './Vector3.js';\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0.subVectors( a, b );\n\t\ttarget.cross( _v0 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\t// arbitrary location outside of triangle?\n\t\t\t// not sure if this is the best idea, maybe should be returning undefined\n\t\t\treturn target.set( - 2, - 1, - 1 );\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\tthis.getBarycoord( point, a, b, c, _v3 );\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getUV( point, p1, p2, p3, uv1, uv2, uv3, target ) {\n\n\t\tthis.getBarycoord( point, p1, p2, p3, _v3 );\n\n\t\ttarget.set( 0, 0 );\n\t\ttarget.addScaledVector( uv1, _v3.x );\n\t\ttarget.addScaledVector( uv2, _v3.y );\n\t\ttarget.addScaledVector( uv3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0.subVectors( this.c, this.b );\n\t\t_v1.subVectors( this.a, this.b );\n\n\t\treturn _v0.cross( _v1 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetUV( point, uv1, uv2, uv3, target ) {\n\n\t\treturn Triangle.getUV( point, this.a, this.b, this.c, uv1, uv2, uv3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nexport { Triangle };\n","import { EventDispatcher } from '../core/EventDispatcher.js';\nimport { FrontSide, NormalBlending, LessEqualDepth, AddEquation, OneMinusSrcAlphaFactor, SrcAlphaFactor, AlwaysStencilFunc, KeepStencilOp } from '../constants.js';\nimport * as MathUtils from '../math/MathUtils.js';\n\nlet materialId = 0;\n\nclass Material extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isMaterial = true;\n\n\t\tObject.defineProperty( this, 'id', { value: materialId ++ } );\n\n\t\tthis.uuid = MathUtils.generateUUID();\n\n\t\tthis.name = '';\n\t\tthis.type = 'Material';\n\n\t\tthis.blending = NormalBlending;\n\t\tthis.side = FrontSide;\n\t\tthis.vertexColors = false;\n\n\t\tthis.opacity = 1;\n\t\tthis.transparent = false;\n\n\t\tthis.blendSrc = SrcAlphaFactor;\n\t\tthis.blendDst = OneMinusSrcAlphaFactor;\n\t\tthis.blendEquation = AddEquation;\n\t\tthis.blendSrcAlpha = null;\n\t\tthis.blendDstAlpha = null;\n\t\tthis.blendEquationAlpha = null;\n\n\t\tthis.depthFunc = LessEqualDepth;\n\t\tthis.depthTest = true;\n\t\tthis.depthWrite = true;\n\n\t\tthis.stencilWriteMask = 0xff;\n\t\tthis.stencilFunc = AlwaysStencilFunc;\n\t\tthis.stencilRef = 0;\n\t\tthis.stencilFuncMask = 0xff;\n\t\tthis.stencilFail = KeepStencilOp;\n\t\tthis.stencilZFail = KeepStencilOp;\n\t\tthis.stencilZPass = KeepStencilOp;\n\t\tthis.stencilWrite = false;\n\n\t\tthis.clippingPlanes = null;\n\t\tthis.clipIntersection = false;\n\t\tthis.clipShadows = false;\n\n\t\tthis.shadowSide = null;\n\n\t\tthis.colorWrite = true;\n\n\t\tthis.precision = null; // override the renderer's default precision for this material\n\n\t\tthis.polygonOffset = false;\n\t\tthis.polygonOffsetFactor = 0;\n\t\tthis.polygonOffsetUnits = 0;\n\n\t\tthis.dithering = false;\n\n\t\tthis.alphaToCoverage = false;\n\t\tthis.premultipliedAlpha = false;\n\n\t\tthis.visible = true;\n\n\t\tthis.toneMapped = true;\n\n\t\tthis.userData = {};\n\n\t\tthis.version = 0;\n\n\t\tthis._alphaTest = 0;\n\n\t}\n\n\tget alphaTest() {\n\n\t\treturn this._alphaTest;\n\n\t}\n\n\tset alphaTest( value ) {\n\n\t\tif ( this._alphaTest > 0 !== value > 0 ) {\n\n\t\t\tthis.version ++;\n\n\t\t}\n\n\t\tthis._alphaTest = value;\n\n\t}\n\n\tonBuild( /* shaderobject, renderer */ ) {}\n\n\tonBeforeRender( /* renderer, scene, camera, geometry, object, group */ ) {}\n\n\tonBeforeCompile( /* shaderobject, renderer */ ) {}\n\n\tcustomProgramCacheKey() {\n\n\t\treturn this.onBeforeCompile.toString();\n\n\t}\n\n\tsetValues( values ) {\n\n\t\tif ( values === undefined ) return;\n\n\t\tfor ( const key in values ) {\n\n\t\t\tconst newValue = values[ key ];\n\n\t\t\tif ( newValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.Material: \\'' + key + '\\' parameter is undefined.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tconst currentValue = this[ key ];\n\n\t\t\tif ( currentValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.' + this.type + ': \\'' + key + '\\' is not a property of this material.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tif ( currentValue && currentValue.isColor ) {\n\n\t\t\t\tcurrentValue.set( newValue );\n\n\t\t\t} else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) {\n\n\t\t\t\tcurrentValue.copy( newValue );\n\n\t\t\t} else {\n\n\t\t\t\tthis[ key ] = newValue;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( isRootObject ) {\n\n\t\t\tmeta = {\n\t\t\t\ttextures: {},\n\t\t\t\timages: {}\n\t\t\t};\n\n\t\t}\n\n\t\tconst data = {\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Material',\n\t\t\t\tgenerator: 'Material.toJSON'\n\t\t\t}\n\t\t};\n\n\t\t// standard Material serialization\n\t\tdata.uuid = this.uuid;\n\t\tdata.type = this.type;\n\n\t\tif ( this.name !== '' ) data.name = this.name;\n\n\t\tif ( this.color && this.color.isColor ) data.color = this.color.getHex();\n\n\t\tif ( this.roughness !== undefined ) data.roughness = this.roughness;\n\t\tif ( this.metalness !== undefined ) data.metalness = this.metalness;\n\n\t\tif ( this.sheen !== undefined ) data.sheen = this.sheen;\n\t\tif ( this.sheenColor && this.sheenColor.isColor ) data.sheenColor = this.sheenColor.getHex();\n\t\tif ( this.sheenRoughness !== undefined ) data.sheenRoughness = this.sheenRoughness;\n\t\tif ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex();\n\t\tif ( this.emissiveIntensity && this.emissiveIntensity !== 1 ) data.emissiveIntensity = this.emissiveIntensity;\n\n\t\tif ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex();\n\t\tif ( this.specularIntensity !== undefined ) data.specularIntensity = this.specularIntensity;\n\t\tif ( this.specularColor && this.specularColor.isColor ) data.specularColor = this.specularColor.getHex();\n\t\tif ( this.shininess !== undefined ) data.shininess = this.shininess;\n\t\tif ( this.clearcoat !== undefined ) data.clearcoat = this.clearcoat;\n\t\tif ( this.clearcoatRoughness !== undefined ) data.clearcoatRoughness = this.clearcoatRoughness;\n\n\t\tif ( this.clearcoatMap && this.clearcoatMap.isTexture ) {\n\n\t\t\tdata.clearcoatMap = this.clearcoatMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture ) {\n\n\t\t\tdata.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture ) {\n\n\t\t\tdata.clearcoatNormalMap = this.clearcoatNormalMap.toJSON( meta ).uuid;\n\t\t\tdata.clearcoatNormalScale = this.clearcoatNormalScale.toArray();\n\n\t\t}\n\n\t\tif ( this.iridescence !== undefined ) data.iridescence = this.iridescence;\n\t\tif ( this.iridescenceIOR !== undefined ) data.iridescenceIOR = this.iridescenceIOR;\n\t\tif ( this.iridescenceThicknessRange !== undefined ) data.iridescenceThicknessRange = this.iridescenceThicknessRange;\n\n\t\tif ( this.iridescenceMap && this.iridescenceMap.isTexture ) {\n\n\t\t\tdata.iridescenceMap = this.iridescenceMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.iridescenceThicknessMap && this.iridescenceThicknessMap.isTexture ) {\n\n\t\t\tdata.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid;\n\t\tif ( this.matcap && this.matcap.isTexture ) data.matcap = this.matcap.toJSON( meta ).uuid;\n\t\tif ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid;\n\n\t\tif ( this.lightMap && this.lightMap.isTexture ) {\n\n\t\t\tdata.lightMap = this.lightMap.toJSON( meta ).uuid;\n\t\t\tdata.lightMapIntensity = this.lightMapIntensity;\n\n\t\t}\n\n\t\tif ( this.aoMap && this.aoMap.isTexture ) {\n\n\t\t\tdata.aoMap = this.aoMap.toJSON( meta ).uuid;\n\t\t\tdata.aoMapIntensity = this.aoMapIntensity;\n\n\t\t}\n\n\t\tif ( this.bumpMap && this.bumpMap.isTexture ) {\n\n\t\t\tdata.bumpMap = this.bumpMap.toJSON( meta ).uuid;\n\t\t\tdata.bumpScale = this.bumpScale;\n\n\t\t}\n\n\t\tif ( this.normalMap && this.normalMap.isTexture ) {\n\n\t\t\tdata.normalMap = this.normalMap.toJSON( meta ).uuid;\n\t\t\tdata.normalMapType = this.normalMapType;\n\t\t\tdata.normalScale = this.normalScale.toArray();\n\n\t\t}\n\n\t\tif ( this.displacementMap && this.displacementMap.isTexture ) {\n\n\t\t\tdata.displacementMap = this.displacementMap.toJSON( meta ).uuid;\n\t\t\tdata.displacementScale = this.displacementScale;\n\t\t\tdata.displacementBias = this.displacementBias;\n\n\t\t}\n\n\t\tif ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid;\n\t\tif ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid;\n\n\t\tif ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid;\n\t\tif ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid;\n\t\tif ( this.specularIntensityMap && this.specularIntensityMap.isTexture ) data.specularIntensityMap = this.specularIntensityMap.toJSON( meta ).uuid;\n\t\tif ( this.specularColorMap && this.specularColorMap.isTexture ) data.specularColorMap = this.specularColorMap.toJSON( meta ).uuid;\n\n\t\tif ( this.envMap && this.envMap.isTexture ) {\n\n\t\t\tdata.envMap = this.envMap.toJSON( meta ).uuid;\n\n\t\t\tif ( this.combine !== undefined ) data.combine = this.combine;\n\n\t\t}\n\n\t\tif ( this.envMapIntensity !== undefined ) data.envMapIntensity = this.envMapIntensity;\n\t\tif ( this.reflectivity !== undefined ) data.reflectivity = this.reflectivity;\n\t\tif ( this.refractionRatio !== undefined ) data.refractionRatio = this.refractionRatio;\n\n\t\tif ( this.gradientMap && this.gradientMap.isTexture ) {\n\n\t\t\tdata.gradientMap = this.gradientMap.toJSON( meta ).uuid;\n\n\t\t}\n\n\t\tif ( this.transmission !== undefined ) data.transmission = this.transmission;\n\t\tif ( this.transmissionMap && this.transmissionMap.isTexture ) data.transmissionMap = this.transmissionMap.toJSON( meta ).uuid;\n\t\tif ( this.thickness !== undefined ) data.thickness = this.thickness;\n\t\tif ( this.thicknessMap && this.thicknessMap.isTexture ) data.thicknessMap = this.thicknessMap.toJSON( meta ).uuid;\n\t\tif ( this.attenuationDistance !== undefined && this.attenuationDistance !== Infinity ) data.attenuationDistance = this.attenuationDistance;\n\t\tif ( this.attenuationColor !== undefined ) data.attenuationColor = this.attenuationColor.getHex();\n\n\t\tif ( this.size !== undefined ) data.size = this.size;\n\t\tif ( this.shadowSide !== null ) data.shadowSide = this.shadowSide;\n\t\tif ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation;\n\n\t\tif ( this.blending !== NormalBlending ) data.blending = this.blending;\n\t\tif ( this.side !== FrontSide ) data.side = this.side;\n\t\tif ( this.vertexColors ) data.vertexColors = true;\n\n\t\tif ( this.opacity < 1 ) data.opacity = this.opacity;\n\t\tif ( this.transparent === true ) data.transparent = this.transparent;\n\n\t\tdata.depthFunc = this.depthFunc;\n\t\tdata.depthTest = this.depthTest;\n\t\tdata.depthWrite = this.depthWrite;\n\t\tdata.colorWrite = this.colorWrite;\n\n\t\tdata.stencilWrite = this.stencilWrite;\n\t\tdata.stencilWriteMask = this.stencilWriteMask;\n\t\tdata.stencilFunc = this.stencilFunc;\n\t\tdata.stencilRef = this.stencilRef;\n\t\tdata.stencilFuncMask = this.stencilFuncMask;\n\t\tdata.stencilFail = this.stencilFail;\n\t\tdata.stencilZFail = this.stencilZFail;\n\t\tdata.stencilZPass = this.stencilZPass;\n\n\t\t// rotation (SpriteMaterial)\n\t\tif ( this.rotation !== undefined && this.rotation !== 0 ) data.rotation = this.rotation;\n\n\t\tif ( this.polygonOffset === true ) data.polygonOffset = true;\n\t\tif ( this.polygonOffsetFactor !== 0 ) data.polygonOffsetFactor = this.polygonOffsetFactor;\n\t\tif ( this.polygonOffsetUnits !== 0 ) data.polygonOffsetUnits = this.polygonOffsetUnits;\n\n\t\tif ( this.linewidth !== undefined && this.linewidth !== 1 ) data.linewidth = this.linewidth;\n\t\tif ( this.dashSize !== undefined ) data.dashSize = this.dashSize;\n\t\tif ( this.gapSize !== undefined ) data.gapSize = this.gapSize;\n\t\tif ( this.scale !== undefined ) data.scale = this.scale;\n\n\t\tif ( this.dithering === true ) data.dithering = true;\n\n\t\tif ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest;\n\t\tif ( this.alphaToCoverage === true ) data.alphaToCoverage = this.alphaToCoverage;\n\t\tif ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha;\n\n\t\tif ( this.wireframe === true ) data.wireframe = this.wireframe;\n\t\tif ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth;\n\t\tif ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap;\n\t\tif ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin;\n\n\t\tif ( this.flatShading === true ) data.flatShading = this.flatShading;\n\n\t\tif ( this.visible === false ) data.visible = false;\n\n\t\tif ( this.toneMapped === false ) data.toneMapped = false;\n\n\t\tif ( this.fog === false ) data.fog = false;\n\n\t\tif ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;\n\n\t\t// TODO: Copied from Object3D.toJSON\n\n\t\tfunction extractFromCache( cache ) {\n\n\t\t\tconst values = [];\n\n\t\t\tfor ( const key in cache ) {\n\n\t\t\t\tconst data = cache[ key ];\n\t\t\t\tdelete data.metadata;\n\t\t\t\tvalues.push( data );\n\n\t\t\t}\n\n\t\t\treturn values;\n\n\t\t}\n\n\t\tif ( isRootObject ) {\n\n\t\t\tconst textures = extractFromCache( meta.textures );\n\t\t\tconst images = extractFromCache( meta.images );\n\n\t\t\tif ( textures.length > 0 ) data.textures = textures;\n\t\t\tif ( images.length > 0 ) data.images = images;\n\n\t\t}\n\n\t\treturn data;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.blending = source.blending;\n\t\tthis.side = source.side;\n\t\tthis.vertexColors = source.vertexColors;\n\n\t\tthis.opacity = source.opacity;\n\t\tthis.transparent = source.transparent;\n\n\t\tthis.blendSrc = source.blendSrc;\n\t\tthis.blendDst = source.blendDst;\n\t\tthis.blendEquation = source.blendEquation;\n\t\tthis.blendSrcAlpha = source.blendSrcAlpha;\n\t\tthis.blendDstAlpha = source.blendDstAlpha;\n\t\tthis.blendEquationAlpha = source.blendEquationAlpha;\n\n\t\tthis.depthFunc = source.depthFunc;\n\t\tthis.depthTest = source.depthTest;\n\t\tthis.depthWrite = source.depthWrite;\n\n\t\tthis.stencilWriteMask = source.stencilWriteMask;\n\t\tthis.stencilFunc = source.stencilFunc;\n\t\tthis.stencilRef = source.stencilRef;\n\t\tthis.stencilFuncMask = source.stencilFuncMask;\n\t\tthis.stencilFail = source.stencilFail;\n\t\tthis.stencilZFail = source.stencilZFail;\n\t\tthis.stencilZPass = source.stencilZPass;\n\t\tthis.stencilWrite = source.stencilWrite;\n\n\t\tconst srcPlanes = source.clippingPlanes;\n\t\tlet dstPlanes = null;\n\n\t\tif ( srcPlanes !== null ) {\n\n\t\t\tconst n = srcPlanes.length;\n\t\t\tdstPlanes = new Array( n );\n\n\t\t\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\t\t\tdstPlanes[ i ] = srcPlanes[ i ].clone();\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.clippingPlanes = dstPlanes;\n\t\tthis.clipIntersection = source.clipIntersection;\n\t\tthis.clipShadows = source.clipShadows;\n\n\t\tthis.shadowSide = source.shadowSide;\n\n\t\tthis.colorWrite = source.colorWrite;\n\n\t\tthis.precision = source.precision;\n\n\t\tthis.polygonOffset = source.polygonOffset;\n\t\tthis.polygonOffsetFactor = source.polygonOffsetFactor;\n\t\tthis.polygonOffsetUnits = source.polygonOffsetUnits;\n\n\t\tthis.dithering = source.dithering;\n\n\t\tthis.alphaTest = source.alphaTest;\n\t\tthis.alphaToCoverage = source.alphaToCoverage;\n\t\tthis.premultipliedAlpha = source.premultipliedAlpha;\n\n\t\tthis.visible = source.visible;\n\n\t\tthis.toneMapped = source.toneMapped;\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n}\n\nexport { Material };\n","import { SRGBColorSpace, LinearSRGBColorSpace } from '../constants.js';\n\nexport function SRGBToLinear( c ) {\n\n\treturn ( c < 0.04045 ) ? c * 0.0773993808 : Math.pow( c * 0.9478672986 + 0.0521327014, 2.4 );\n\n}\n\nexport function LinearToSRGB( c ) {\n\n\treturn ( c < 0.0031308 ) ? c * 12.92 : 1.055 * ( Math.pow( c, 0.41666 ) ) - 0.055;\n\n}\n\n// JavaScript RGB-to-RGB transforms, defined as\n// FN[InputColorSpace][OutputColorSpace] callback functions.\nconst FN = {\n\t[ SRGBColorSpace ]: { [ LinearSRGBColorSpace ]: SRGBToLinear },\n\t[ LinearSRGBColorSpace ]: { [ SRGBColorSpace ]: LinearToSRGB },\n};\n\nexport const ColorManagement = {\n\n\tlegacyMode: true,\n\n\tget workingColorSpace() {\n\n\t\treturn LinearSRGBColorSpace;\n\n\t},\n\n\tset workingColorSpace( colorSpace ) {\n\n\t\tconsole.warn( 'THREE.ColorManagement: .workingColorSpace is readonly.' );\n\n\t},\n\n\tconvert: function ( color, sourceColorSpace, targetColorSpace ) {\n\n\t\tif ( this.legacyMode || sourceColorSpace === targetColorSpace || ! sourceColorSpace || ! targetColorSpace ) {\n\n\t\t\treturn color;\n\n\t\t}\n\n\t\tif ( FN[ sourceColorSpace ] && FN[ sourceColorSpace ][ targetColorSpace ] !== undefined ) {\n\n\t\t\tconst fn = FN[ sourceColorSpace ][ targetColorSpace ];\n\n\t\t\tcolor.r = fn( color.r );\n\t\t\tcolor.g = fn( color.g );\n\t\t\tcolor.b = fn( color.b );\n\n\t\t\treturn color;\n\n\t\t}\n\n\t\tthrow new Error( 'Unsupported color space conversion.' );\n\n\t},\n\n\tfromWorkingColorSpace: function ( color, targetColorSpace ) {\n\n\t\treturn this.convert( color, this.workingColorSpace, targetColorSpace );\n\n\t},\n\n\ttoWorkingColorSpace: function ( color, sourceColorSpace ) {\n\n\t\treturn this.convert( color, sourceColorSpace, this.workingColorSpace );\n\n\t},\n\n};\n","import { clamp, euclideanModulo, lerp } from './MathUtils.js';\nimport { ColorManagement, SRGBToLinear, LinearToSRGB } from './ColorManagement.js';\nimport { SRGBColorSpace, LinearSRGBColorSpace } from '../constants.js';\n\nconst _colorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF,\n\t'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2,\n\t'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50,\n\t'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B,\n\t'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B,\n\t'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F,\n\t'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3,\n\t'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222,\n\t'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700,\n\t'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4,\n\t'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00,\n\t'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3,\n\t'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA,\n\t'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32,\n\t'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3,\n\t'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC,\n\t'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD,\n\t'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6,\n\t'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9,\n\t'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'rebeccapurple': 0x663399, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F,\n\t'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE,\n\t'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA,\n\t'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0,\n\t'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 };\n\nconst _rgb = { r: 0, g: 0, b: 0 };\nconst _hslA = { h: 0, s: 0, l: 0 };\nconst _hslB = { h: 0, s: 0, l: 0 };\n\nfunction hue2rgb( p, q, t ) {\n\n\tif ( t < 0 ) t += 1;\n\tif ( t > 1 ) t -= 1;\n\tif ( t < 1 / 6 ) return p + ( q - p ) * 6 * t;\n\tif ( t < 1 / 2 ) return q;\n\tif ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t );\n\treturn p;\n\n}\n\nfunction toComponents( source, target ) {\n\n\ttarget.r = source.r;\n\ttarget.g = source.g;\n\ttarget.b = source.b;\n\n\treturn target;\n\n}\n\nclass Color {\n\n\tconstructor( r, g, b ) {\n\n\t\tthis.isColor = true;\n\n\t\tthis.r = 1;\n\t\tthis.g = 1;\n\t\tthis.b = 1;\n\n\t\tif ( g === undefined && b === undefined ) {\n\n\t\t\t// r is THREE.Color, hex or string\n\t\t\treturn this.set( r );\n\n\t\t}\n\n\t\treturn this.setRGB( r, g, b );\n\n\t}\n\n\tset( value ) {\n\n\t\tif ( value && value.isColor ) {\n\n\t\t\tthis.copy( value );\n\n\t\t} else if ( typeof value === 'number' ) {\n\n\t\t\tthis.setHex( value );\n\n\t\t} else if ( typeof value === 'string' ) {\n\n\t\t\tthis.setStyle( value );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.r = scalar;\n\t\tthis.g = scalar;\n\t\tthis.b = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetHex( hex, colorSpace = SRGBColorSpace ) {\n\n\t\thex = Math.floor( hex );\n\n\t\tthis.r = ( hex >> 16 & 255 ) / 255;\n\t\tthis.g = ( hex >> 8 & 255 ) / 255;\n\t\tthis.b = ( hex & 255 ) / 255;\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetRGB( r, g, b, colorSpace = LinearSRGBColorSpace ) {\n\n\t\tthis.r = r;\n\t\tthis.g = g;\n\t\tthis.b = b;\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetHSL( h, s, l, colorSpace = LinearSRGBColorSpace ) {\n\n\t\t// h,s,l ranges are in 0.0 - 1.0\n\t\th = euclideanModulo( h, 1 );\n\t\ts = clamp( s, 0, 1 );\n\t\tl = clamp( l, 0, 1 );\n\n\t\tif ( s === 0 ) {\n\n\t\t\tthis.r = this.g = this.b = l;\n\n\t\t} else {\n\n\t\t\tconst p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s );\n\t\t\tconst q = ( 2 * l ) - p;\n\n\t\t\tthis.r = hue2rgb( q, p, h + 1 / 3 );\n\t\t\tthis.g = hue2rgb( q, p, h );\n\t\t\tthis.b = hue2rgb( q, p, h - 1 / 3 );\n\n\t\t}\n\n\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\treturn this;\n\n\t}\n\n\tsetStyle( style, colorSpace = SRGBColorSpace ) {\n\n\t\tfunction handleAlpha( string ) {\n\n\t\t\tif ( string === undefined ) return;\n\n\t\t\tif ( parseFloat( string ) < 1 ) {\n\n\t\t\t\tconsole.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' );\n\n\t\t\t}\n\n\t\t}\n\n\n\t\tlet m;\n\n\t\tif ( m = /^((?:rgb|hsl)a?)\\(([^\\)]*)\\)/.exec( style ) ) {\n\n\t\t\t// rgb / hsl\n\n\t\t\tlet color;\n\t\t\tconst name = m[ 1 ];\n\t\t\tconst components = m[ 2 ];\n\n\t\t\tswitch ( name ) {\n\n\t\t\t\tcase 'rgb':\n\t\t\t\tcase 'rgba':\n\n\t\t\t\t\tif ( color = /^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// rgb(255,0,0) rgba(255,0,0,0.5)\n\t\t\t\t\t\tthis.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255;\n\t\t\t\t\t\tthis.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255;\n\t\t\t\t\t\tthis.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255;\n\n\t\t\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( color = /^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// rgb(100%,0%,0%) rgba(100%,0%,0%,0.5)\n\t\t\t\t\t\tthis.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100;\n\t\t\t\t\t\tthis.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100;\n\t\t\t\t\t\tthis.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100;\n\n\t\t\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'hsl':\n\t\t\t\tcase 'hsla':\n\n\t\t\t\t\tif ( color = /^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec( components ) ) {\n\n\t\t\t\t\t\t// hsl(120,50%,50%) hsla(120,50%,50%,0.5)\n\t\t\t\t\t\tconst h = parseFloat( color[ 1 ] ) / 360;\n\t\t\t\t\t\tconst s = parseFloat( color[ 2 ] ) / 100;\n\t\t\t\t\t\tconst l = parseFloat( color[ 3 ] ) / 100;\n\n\t\t\t\t\t\thandleAlpha( color[ 4 ] );\n\n\t\t\t\t\t\treturn this.setHSL( h, s, l, colorSpace );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t} else if ( m = /^\\#([A-Fa-f\\d]+)$/.exec( style ) ) {\n\n\t\t\t// hex color\n\n\t\t\tconst hex = m[ 1 ];\n\t\t\tconst size = hex.length;\n\n\t\t\tif ( size === 3 ) {\n\n\t\t\t\t// #ff0\n\t\t\t\tthis.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255;\n\t\t\t\tthis.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255;\n\t\t\t\tthis.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255;\n\n\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\treturn this;\n\n\t\t\t} else if ( size === 6 ) {\n\n\t\t\t\t// #ff0000\n\t\t\t\tthis.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255;\n\t\t\t\tthis.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255;\n\t\t\t\tthis.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255;\n\n\t\t\t\tColorManagement.toWorkingColorSpace( this, colorSpace );\n\n\t\t\t\treturn this;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( style && style.length > 0 ) {\n\n\t\t\treturn this.setColorName( style, colorSpace );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetColorName( style, colorSpace = SRGBColorSpace ) {\n\n\t\t// color keywords\n\t\tconst hex = _colorKeywords[ style.toLowerCase() ];\n\n\t\tif ( hex !== undefined ) {\n\n\t\t\t// red\n\t\t\tthis.setHex( hex, colorSpace );\n\n\t\t} else {\n\n\t\t\t// unknown color\n\t\t\tconsole.warn( 'THREE.Color: Unknown color ' + style );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.r, this.g, this.b );\n\n\t}\n\n\tcopy( color ) {\n\n\t\tthis.r = color.r;\n\t\tthis.g = color.g;\n\t\tthis.b = color.b;\n\n\t\treturn this;\n\n\t}\n\n\tcopySRGBToLinear( color ) {\n\n\t\tthis.r = SRGBToLinear( color.r );\n\t\tthis.g = SRGBToLinear( color.g );\n\t\tthis.b = SRGBToLinear( color.b );\n\n\t\treturn this;\n\n\t}\n\n\tcopyLinearToSRGB( color ) {\n\n\t\tthis.r = LinearToSRGB( color.r );\n\t\tthis.g = LinearToSRGB( color.g );\n\t\tthis.b = LinearToSRGB( color.b );\n\n\t\treturn this;\n\n\t}\n\n\tconvertSRGBToLinear() {\n\n\t\tthis.copySRGBToLinear( this );\n\n\t\treturn this;\n\n\t}\n\n\tconvertLinearToSRGB() {\n\n\t\tthis.copyLinearToSRGB( this );\n\n\t\treturn this;\n\n\t}\n\n\tgetHex( colorSpace = SRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\treturn clamp( _rgb.r * 255, 0, 255 ) << 16 ^ clamp( _rgb.g * 255, 0, 255 ) << 8 ^ clamp( _rgb.b * 255, 0, 255 ) << 0;\n\n\t}\n\n\tgetHexString( colorSpace = SRGBColorSpace ) {\n\n\t\treturn ( '000000' + this.getHex( colorSpace ).toString( 16 ) ).slice( - 6 );\n\n\t}\n\n\tgetHSL( target, colorSpace = LinearSRGBColorSpace ) {\n\n\t\t// h,s,l ranges are in 0.0 - 1.0\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\tconst r = _rgb.r, g = _rgb.g, b = _rgb.b;\n\n\t\tconst max = Math.max( r, g, b );\n\t\tconst min = Math.min( r, g, b );\n\n\t\tlet hue, saturation;\n\t\tconst lightness = ( min + max ) / 2.0;\n\n\t\tif ( min === max ) {\n\n\t\t\thue = 0;\n\t\t\tsaturation = 0;\n\n\t\t} else {\n\n\t\t\tconst delta = max - min;\n\n\t\t\tsaturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );\n\n\t\t\tswitch ( max ) {\n\n\t\t\t\tcase r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;\n\t\t\t\tcase g: hue = ( b - r ) / delta + 2; break;\n\t\t\t\tcase b: hue = ( r - g ) / delta + 4; break;\n\n\t\t\t}\n\n\t\t\thue /= 6;\n\n\t\t}\n\n\t\ttarget.h = hue;\n\t\ttarget.s = saturation;\n\t\ttarget.l = lightness;\n\n\t\treturn target;\n\n\t}\n\n\tgetRGB( target, colorSpace = LinearSRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\ttarget.r = _rgb.r;\n\t\ttarget.g = _rgb.g;\n\t\ttarget.b = _rgb.b;\n\n\t\treturn target;\n\n\t}\n\n\tgetStyle( colorSpace = SRGBColorSpace ) {\n\n\t\tColorManagement.fromWorkingColorSpace( toComponents( this, _rgb ), colorSpace );\n\n\t\tif ( colorSpace !== SRGBColorSpace ) {\n\n\t\t\t// Requires CSS Color Module Level 4 (https://www.w3.org/TR/css-color-4/).\n\t\t\treturn `color(${ colorSpace } ${ _rgb.r } ${ _rgb.g } ${ _rgb.b })`;\n\n\t\t}\n\n\t\treturn `rgb(${( _rgb.r * 255 ) | 0},${( _rgb.g * 255 ) | 0},${( _rgb.b * 255 ) | 0})`;\n\n\t}\n\n\toffsetHSL( h, s, l ) {\n\n\t\tthis.getHSL( _hslA );\n\n\t\t_hslA.h += h; _hslA.s += s; _hslA.l += l;\n\n\t\tthis.setHSL( _hslA.h, _hslA.s, _hslA.l );\n\n\t\treturn this;\n\n\t}\n\n\tadd( color ) {\n\n\t\tthis.r += color.r;\n\t\tthis.g += color.g;\n\t\tthis.b += color.b;\n\n\t\treturn this;\n\n\t}\n\n\taddColors( color1, color2 ) {\n\n\t\tthis.r = color1.r + color2.r;\n\t\tthis.g = color1.g + color2.g;\n\t\tthis.b = color1.b + color2.b;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.r += s;\n\t\tthis.g += s;\n\t\tthis.b += s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( color ) {\n\n\t\tthis.r = Math.max( 0, this.r - color.r );\n\t\tthis.g = Math.max( 0, this.g - color.g );\n\t\tthis.b = Math.max( 0, this.b - color.b );\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( color ) {\n\n\t\tthis.r *= color.r;\n\t\tthis.g *= color.g;\n\t\tthis.b *= color.b;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tthis.r *= s;\n\t\tthis.g *= s;\n\t\tthis.b *= s;\n\n\t\treturn this;\n\n\t}\n\n\tlerp( color, alpha ) {\n\n\t\tthis.r += ( color.r - this.r ) * alpha;\n\t\tthis.g += ( color.g - this.g ) * alpha;\n\t\tthis.b += ( color.b - this.b ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpColors( color1, color2, alpha ) {\n\n\t\tthis.r = color1.r + ( color2.r - color1.r ) * alpha;\n\t\tthis.g = color1.g + ( color2.g - color1.g ) * alpha;\n\t\tthis.b = color1.b + ( color2.b - color1.b ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpHSL( color, alpha ) {\n\n\t\tthis.getHSL( _hslA );\n\t\tcolor.getHSL( _hslB );\n\n\t\tconst h = lerp( _hslA.h, _hslB.h, alpha );\n\t\tconst s = lerp( _hslA.s, _hslB.s, alpha );\n\t\tconst l = lerp( _hslA.l, _hslB.l, alpha );\n\n\t\tthis.setHSL( h, s, l );\n\n\t\treturn this;\n\n\t}\n\n\tequals( c ) {\n\n\t\treturn ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.r = array[ offset ];\n\t\tthis.g = array[ offset + 1 ];\n\t\tthis.b = array[ offset + 2 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.r;\n\t\tarray[ offset + 1 ] = this.g;\n\t\tarray[ offset + 2 ] = this.b;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.r = attribute.getX( index );\n\t\tthis.g = attribute.getY( index );\n\t\tthis.b = attribute.getZ( index );\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\treturn this.getHex();\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.r;\n\t\tyield this.g;\n\t\tyield this.b;\n\n\t}\n\n}\n\nColor.NAMES = _colorKeywords;\n\nexport { Color, SRGBToLinear };\n","import { Material } from './Material.js';\nimport { MultiplyOperation } from '../constants.js';\nimport { Color } from '../math/Color.js';\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { MeshBasicMaterial };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Triangle } from '../math/Triangle.js';\nimport { DoubleSide, BackSide } from '../constants.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _tempB = /*@__PURE__*/ new Vector3();\nconst _tempC = /*@__PURE__*/ new Vector3();\n\nconst _morphA = /*@__PURE__*/ new Vector3();\nconst _morphB = /*@__PURE__*/ new Vector3();\nconst _morphC = /*@__PURE__*/ new Vector3();\n\nconst _uvA = /*@__PURE__*/ new Vector2();\nconst _uvB = /*@__PURE__*/ new Vector2();\nconst _uvC = /*@__PURE__*/ new Vector2();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\t// Check boundingBox before continuing\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\tlet intersection;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv2 = geometry.attributes.uv2;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, material, raycaster, _ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkBufferGeometryIntersection( this, material, raycaster, _ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkBufferGeometryIntersection( object, material, raycaster, ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ) {\n\n\t_vA.fromBufferAttribute( position, a );\n\t_vB.fromBufferAttribute( position, b );\n\t_vC.fromBufferAttribute( position, c );\n\n\tconst morphInfluences = object.morphTargetInfluences;\n\n\tif ( morphPosition && morphInfluences ) {\n\n\t\t_morphA.set( 0, 0, 0 );\n\t\t_morphB.set( 0, 0, 0 );\n\t\t_morphC.set( 0, 0, 0 );\n\n\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\tconst influence = morphInfluences[ i ];\n\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t_tempA.fromBufferAttribute( morphAttribute, a );\n\t\t\t_tempB.fromBufferAttribute( morphAttribute, b );\n\t\t\t_tempC.fromBufferAttribute( morphAttribute, c );\n\n\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\t\t\t\t_morphB.addScaledVector( _tempB, influence );\n\t\t\t\t_morphC.addScaledVector( _tempC, influence );\n\n\t\t\t} else {\n\n\t\t\t\t_morphA.addScaledVector( _tempA.sub( _vA ), influence );\n\t\t\t\t_morphB.addScaledVector( _tempB.sub( _vB ), influence );\n\t\t\t\t_morphC.addScaledVector( _tempC.sub( _vC ), influence );\n\n\t\t\t}\n\n\t\t}\n\n\t\t_vA.add( _morphA );\n\t\t_vB.add( _morphB );\n\t\t_vC.add( _morphC );\n\n\t}\n\n\tif ( object.isSkinnedMesh ) {\n\n\t\tobject.boneTransform( a, _vA );\n\t\tobject.boneTransform( b, _vB );\n\t\tobject.boneTransform( c, _vC );\n\n\t}\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tif ( uv ) {\n\n\t\t\t_uvA.fromBufferAttribute( uv, a );\n\t\t\t_uvB.fromBufferAttribute( uv, b );\n\t\t\t_uvC.fromBufferAttribute( uv, c );\n\n\t\t\tintersection.uv = Triangle.getUV( _intersectionPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv2 ) {\n\n\t\t\t_uvA.fromBufferAttribute( uv2, a );\n\t\t\t_uvB.fromBufferAttribute( uv2, b );\n\t\t\t_uvC.fromBufferAttribute( uv2, c );\n\n\t\t\tintersection.uv2 = Triangle.getUV( _intersectionPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2() );\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA, _vB, _vC, face.normal );\n\n\t\tintersection.face = face;\n\n\t}\n\n\treturn intersection;\n\n}\n\nexport { Mesh };\n","import { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { Vector3 } from '../math/Vector3.js';\n\nclass BoxGeometry extends BufferGeometry {\n\n\tconstructor( width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'BoxGeometry';\n\n\t\tthis.parameters = {\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t\tdepth: depth,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tdepthSegments: depthSegments\n\t\t};\n\n\t\tconst scope = this;\n\n\t\t// segments\n\n\t\twidthSegments = Math.floor( widthSegments );\n\t\theightSegments = Math.floor( heightSegments );\n\t\tdepthSegments = Math.floor( depthSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tlet numberOfVertices = 0;\n\t\tlet groupStart = 0;\n\n\t\t// build each side of the box geometry\n\n\t\tbuildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px\n\t\tbuildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx\n\t\tbuildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py\n\t\tbuildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny\n\t\tbuildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz\n\t\tbuildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t\tfunction buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) {\n\n\t\t\tconst segmentWidth = width / gridX;\n\t\t\tconst segmentHeight = height / gridY;\n\n\t\t\tconst widthHalf = width / 2;\n\t\t\tconst heightHalf = height / 2;\n\t\t\tconst depthHalf = depth / 2;\n\n\t\t\tconst gridX1 = gridX + 1;\n\t\t\tconst gridY1 = gridY + 1;\n\n\t\t\tlet vertexCounter = 0;\n\t\t\tlet groupCount = 0;\n\n\t\t\tconst vector = new Vector3();\n\n\t\t\t// generate vertices, normals and uvs\n\n\t\t\tfor ( let iy = 0; iy < gridY1; iy ++ ) {\n\n\t\t\t\tconst y = iy * segmentHeight - heightHalf;\n\n\t\t\t\tfor ( let ix = 0; ix < gridX1; ix ++ ) {\n\n\t\t\t\t\tconst x = ix * segmentWidth - widthHalf;\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = x * udir;\n\t\t\t\t\tvector[ v ] = y * vdir;\n\t\t\t\t\tvector[ w ] = depthHalf;\n\n\t\t\t\t\t// now apply vector to vertex buffer\n\n\t\t\t\t\tvertices.push( vector.x, vector.y, vector.z );\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = 0;\n\t\t\t\t\tvector[ v ] = 0;\n\t\t\t\t\tvector[ w ] = depth > 0 ? 1 : - 1;\n\n\t\t\t\t\t// now apply vector to normal buffer\n\n\t\t\t\t\tnormals.push( vector.x, vector.y, vector.z );\n\n\t\t\t\t\t// uvs\n\n\t\t\t\t\tuvs.push( ix / gridX );\n\t\t\t\t\tuvs.push( 1 - ( iy / gridY ) );\n\n\t\t\t\t\t// counters\n\n\t\t\t\t\tvertexCounter += 1;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// indices\n\n\t\t\t// 1. you need three indices to draw a single face\n\t\t\t// 2. a single segment consists of two faces\n\t\t\t// 3. so we need to generate six (2*3) indices per segment\n\n\t\t\tfor ( let iy = 0; iy < gridY; iy ++ ) {\n\n\t\t\t\tfor ( let ix = 0; ix < gridX; ix ++ ) {\n\n\t\t\t\t\tconst a = numberOfVertices + ix + gridX1 * iy;\n\t\t\t\t\tconst b = numberOfVertices + ix + gridX1 * ( iy + 1 );\n\t\t\t\t\tconst c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 );\n\t\t\t\t\tconst d = numberOfVertices + ( ix + 1 ) + gridX1 * iy;\n\n\t\t\t\t\t// faces\n\n\t\t\t\t\tindices.push( a, b, d );\n\t\t\t\t\tindices.push( b, c, d );\n\n\t\t\t\t\t// increase counter\n\n\t\t\t\t\tgroupCount += 6;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// add a group to the geometry. this will ensure multi material support\n\n\t\t\tscope.addGroup( groupStart, groupCount, materialIndex );\n\n\t\t\t// calculate new start value for groups\n\n\t\t\tgroupStart += groupCount;\n\n\t\t\t// update total number of vertices\n\n\t\t\tnumberOfVertices += vertexCounter;\n\n\t\t}\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new BoxGeometry( data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments );\n\n\t}\n\n}\n\nexport { BoxGeometry };\n","/**\n * Uniform Utilities\n */\n\nexport function cloneUniforms( src ) {\n\n\tconst dst = {};\n\n\tfor ( const u in src ) {\n\n\t\tdst[ u ] = {};\n\n\t\tfor ( const p in src[ u ] ) {\n\n\t\t\tconst property = src[ u ][ p ];\n\n\t\t\tif ( property && ( property.isColor ||\n\t\t\t\tproperty.isMatrix3 || property.isMatrix4 ||\n\t\t\t\tproperty.isVector2 || property.isVector3 || property.isVector4 ||\n\t\t\t\tproperty.isTexture || property.isQuaternion ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.clone();\n\n\t\t\t} else if ( Array.isArray( property ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.slice();\n\n\t\t\t} else {\n\n\t\t\t\tdst[ u ][ p ] = property;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn dst;\n\n}\n\nexport function mergeUniforms( uniforms ) {\n\n\tconst merged = {};\n\n\tfor ( let u = 0; u < uniforms.length; u ++ ) {\n\n\t\tconst tmp = cloneUniforms( uniforms[ u ] );\n\n\t\tfor ( const p in tmp ) {\n\n\t\t\tmerged[ p ] = tmp[ p ];\n\n\t\t}\n\n\t}\n\n\treturn merged;\n\n}\n\nexport function cloneUniformsGroups( src ) {\n\n\tconst dst = [];\n\n\tfor ( let u = 0; u < src.length; u ++ ) {\n\n\t\tdst.push( src[ u ].clone() );\n\n\t}\n\n\treturn dst;\n\n}\n\n// Legacy\n\nconst UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms };\n\nexport { UniformsUtils };\n","import { createElementNS } from '../utils.js';\nimport { SRGBToLinear } from '../math/Color.js';\n\nlet _canvas;\n\nclass ImageUtils {\n\n\tstatic getDataURL( image ) {\n\n\t\tif ( /^data:/i.test( image.src ) ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tif ( typeof HTMLCanvasElement == 'undefined' ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tlet canvas;\n\n\t\tif ( image instanceof HTMLCanvasElement ) {\n\n\t\t\tcanvas = image;\n\n\t\t} else {\n\n\t\t\tif ( _canvas === undefined ) _canvas = createElementNS( 'canvas' );\n\n\t\t\t_canvas.width = image.width;\n\t\t\t_canvas.height = image.height;\n\n\t\t\tconst context = _canvas.getContext( '2d' );\n\n\t\t\tif ( image instanceof ImageData ) {\n\n\t\t\t\tcontext.putImageData( image, 0, 0 );\n\n\t\t\t} else {\n\n\t\t\t\tcontext.drawImage( image, 0, 0, image.width, image.height );\n\n\t\t\t}\n\n\t\t\tcanvas = _canvas;\n\n\t\t}\n\n\t\tif ( canvas.width > 2048 || canvas.height > 2048 ) {\n\n\t\t\tconsole.warn( 'THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons', image );\n\n\t\t\treturn canvas.toDataURL( 'image/jpeg', 0.6 );\n\n\t\t} else {\n\n\t\t\treturn canvas.toDataURL( 'image/png' );\n\n\t\t}\n\n\t}\n\n\tstatic sRGBToLinear( image ) {\n\n\t\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t\tconst canvas = createElementNS( 'canvas' );\n\n\t\t\tcanvas.width = image.width;\n\t\t\tcanvas.height = image.height;\n\n\t\t\tconst context = canvas.getContext( '2d' );\n\t\t\tcontext.drawImage( image, 0, 0, image.width, image.height );\n\n\t\t\tconst imageData = context.getImageData( 0, 0, image.width, image.height );\n\t\t\tconst data = imageData.data;\n\n\t\t\tfor ( let i = 0; i < data.length; i ++ ) {\n\n\t\t\t\tdata[ i ] = SRGBToLinear( data[ i ] / 255 ) * 255;\n\n\t\t\t}\n\n\t\t\tcontext.putImageData( imageData, 0, 0 );\n\n\t\t\treturn canvas;\n\n\t\t} else if ( image.data ) {\n\n\t\t\tconst data = image.data.slice( 0 );\n\n\t\t\tfor ( let i = 0; i < data.length; i ++ ) {\n\n\t\t\t\tif ( data instanceof Uint8Array || data instanceof Uint8ClampedArray ) {\n\n\t\t\t\t\tdata[ i ] = Math.floor( SRGBToLinear( data[ i ] / 255 ) * 255 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// assuming float\n\n\t\t\t\t\tdata[ i ] = SRGBToLinear( data[ i ] );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdata: data,\n\t\t\t\twidth: image.width,\n\t\t\t\theight: image.height\n\t\t\t};\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.' );\n\t\t\treturn image;\n\n\t\t}\n\n\t}\n\n}\n\nexport { ImageUtils };\n","import { Material } from './Material.js';\nimport { cloneUniforms, cloneUniformsGroups } from '../renderers/shaders/UniformsUtils.js';\n\nimport default_vertex from '../renderers/shaders/ShaderChunk/default_vertex.glsl.js';\nimport default_fragment from '../renderers/shaders/ShaderChunk/default_fragment.glsl.js';\n\nclass ShaderMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isShaderMaterial = true;\n\n\t\tthis.type = 'ShaderMaterial';\n\n\t\tthis.defines = {};\n\t\tthis.uniforms = {};\n\t\tthis.uniformsGroups = [];\n\n\t\tthis.vertexShader = default_vertex;\n\t\tthis.fragmentShader = default_fragment;\n\n\t\tthis.linewidth = 1;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.fog = false; // set to use scene fog\n\t\tthis.lights = false; // set to use scene lights\n\t\tthis.clipping = false; // set to use user-defined clipping planes\n\n\t\tthis.extensions = {\n\t\t\tderivatives: false, // set to use derivatives\n\t\t\tfragDepth: false, // set to use fragment depth values\n\t\t\tdrawBuffers: false, // set to use draw buffers\n\t\t\tshaderTextureLOD: false // set to use shader texture LOD\n\t\t};\n\n\t\t// When rendered geometry doesn't include these attributes but the material does,\n\t\t// use these default values in WebGL. This avoids errors when buffer data is missing.\n\t\tthis.defaultAttributeValues = {\n\t\t\t'color': [ 1, 1, 1 ],\n\t\t\t'uv': [ 0, 0 ],\n\t\t\t'uv2': [ 0, 0 ]\n\t\t};\n\n\t\tthis.index0AttributeName = undefined;\n\t\tthis.uniformsNeedUpdate = false;\n\n\t\tthis.glslVersion = null;\n\n\t\tif ( parameters !== undefined ) {\n\n\t\t\tthis.setValues( parameters );\n\n\t\t}\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.fragmentShader = source.fragmentShader;\n\t\tthis.vertexShader = source.vertexShader;\n\n\t\tthis.uniforms = cloneUniforms( source.uniforms );\n\t\tthis.uniformsGroups = cloneUniformsGroups( source.uniformsGroups );\n\n\t\tthis.defines = Object.assign( {}, source.defines );\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\tthis.fog = source.fog;\n\t\tthis.lights = source.lights;\n\t\tthis.clipping = source.clipping;\n\n\t\tthis.extensions = Object.assign( {}, source.extensions );\n\n\t\tthis.glslVersion = source.glslVersion;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.glslVersion = this.glslVersion;\n\t\tdata.uniforms = {};\n\n\t\tfor ( const name in this.uniforms ) {\n\n\t\t\tconst uniform = this.uniforms[ name ];\n\t\t\tconst value = uniform.value;\n\n\t\t\tif ( value && value.isTexture ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 't',\n\t\t\t\t\tvalue: value.toJSON( meta ).uuid\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isColor ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'c',\n\t\t\t\t\tvalue: value.getHex()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector2 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v2',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector3 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v3',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isVector4 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'v4',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isMatrix3 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'm3',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else if ( value && value.isMatrix4 ) {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\ttype: 'm4',\n\t\t\t\t\tvalue: value.toArray()\n\t\t\t\t};\n\n\t\t\t} else {\n\n\t\t\t\tdata.uniforms[ name ] = {\n\t\t\t\t\tvalue: value\n\t\t\t\t};\n\n\t\t\t\t// note: the array variants v2v, v3v, v4v, m4v and tv are not supported so far\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( Object.keys( this.defines ).length > 0 ) data.defines = this.defines;\n\n\t\tdata.vertexShader = this.vertexShader;\n\t\tdata.fragmentShader = this.fragmentShader;\n\n\t\tconst extensions = {};\n\n\t\tfor ( const key in this.extensions ) {\n\n\t\t\tif ( this.extensions[ key ] === true ) extensions[ key ] = true;\n\n\t\t}\n\n\t\tif ( Object.keys( extensions ).length > 0 ) data.extensions = extensions;\n\n\t\treturn data;\n\n\t}\n\n}\n\nexport { ShaderMaterial };\n","export default /* glsl */`\nvoid main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n`;\n","export default /* glsl */`\nvoid main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}\n`;\n","import { ImageUtils } from '../extras/ImageUtils.js';\nimport * as MathUtils from '../math/MathUtils.js';\n\nclass Source {\n\n\tconstructor( data = null ) {\n\n\t\tthis.isSource = true;\n\n\t\tthis.uuid = MathUtils.generateUUID();\n\n\t\tthis.data = data;\n\n\t\tthis.version = 0;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) this.version ++;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( ! isRootObject && meta.images[ this.uuid ] !== undefined ) {\n\n\t\t\treturn meta.images[ this.uuid ];\n\n\t\t}\n\n\t\tconst output = {\n\t\t\tuuid: this.uuid,\n\t\t\turl: ''\n\t\t};\n\n\t\tconst data = this.data;\n\n\t\tif ( data !== null ) {\n\n\t\t\tlet url;\n\n\t\t\tif ( Array.isArray( data ) ) {\n\n\t\t\t\t// cube texture\n\n\t\t\t\turl = [];\n\n\t\t\t\tfor ( let i = 0, l = data.length; i < l; i ++ ) {\n\n\t\t\t\t\tif ( data[ i ].isDataTexture ) {\n\n\t\t\t\t\t\turl.push( serializeImage( data[ i ].image ) );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\turl.push( serializeImage( data[ i ] ) );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// texture\n\n\t\t\t\turl = serializeImage( data );\n\n\t\t\t}\n\n\t\t\toutput.url = url;\n\n\t\t}\n\n\t\tif ( ! isRootObject ) {\n\n\t\t\tmeta.images[ this.uuid ] = output;\n\n\t\t}\n\n\t\treturn output;\n\n\t}\n\n}\n\nfunction serializeImage( image ) {\n\n\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t// default images\n\n\t\treturn ImageUtils.getDataURL( image );\n\n\t} else {\n\n\t\tif ( image.data ) {\n\n\t\t\t// images of DataTexture\n\n\t\t\treturn {\n\t\t\t\tdata: Array.from( image.data ),\n\t\t\t\twidth: image.width,\n\t\t\t\theight: image.height,\n\t\t\t\ttype: image.data.constructor.name\n\t\t\t};\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'THREE.Texture: Unable to serialize Texture.' );\n\t\t\treturn {};\n\n\t\t}\n\n\t}\n\n}\n\nexport { Source };\n","import { EventDispatcher } from '../core/EventDispatcher.js';\nimport {\n\tMirroredRepeatWrapping,\n\tClampToEdgeWrapping,\n\tRepeatWrapping,\n\tLinearEncoding,\n\tUnsignedByteType,\n\tRGBAFormat,\n\tLinearMipmapLinearFilter,\n\tLinearFilter,\n\tUVMapping\n} from '../constants.js';\nimport * as MathUtils from '../math/MathUtils.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Matrix3 } from '../math/Matrix3.js';\nimport { Source } from './Source.js';\n\nlet textureId = 0;\n\nclass Texture extends EventDispatcher {\n\n\tconstructor( image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = 1, encoding = LinearEncoding ) {\n\n\t\tsuper();\n\n\t\tthis.isTexture = true;\n\n\t\tObject.defineProperty( this, 'id', { value: textureId ++ } );\n\n\t\tthis.uuid = MathUtils.generateUUID();\n\n\t\tthis.name = '';\n\n\t\tthis.source = new Source( image );\n\t\tthis.mipmaps = [];\n\n\t\tthis.mapping = mapping;\n\n\t\tthis.wrapS = wrapS;\n\t\tthis.wrapT = wrapT;\n\n\t\tthis.magFilter = magFilter;\n\t\tthis.minFilter = minFilter;\n\n\t\tthis.anisotropy = anisotropy;\n\n\t\tthis.format = format;\n\t\tthis.internalFormat = null;\n\t\tthis.type = type;\n\n\t\tthis.offset = new Vector2( 0, 0 );\n\t\tthis.repeat = new Vector2( 1, 1 );\n\t\tthis.center = new Vector2( 0, 0 );\n\t\tthis.rotation = 0;\n\n\t\tthis.matrixAutoUpdate = true;\n\t\tthis.matrix = new Matrix3();\n\n\t\tthis.generateMipmaps = true;\n\t\tthis.premultiplyAlpha = false;\n\t\tthis.flipY = true;\n\t\tthis.unpackAlignment = 4;\t// valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml)\n\n\t\t// Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap.\n\t\t//\n\t\t// Also changing the encoding after already used by a Material will not automatically make the Material\n\t\t// update. You need to explicitly call Material.needsUpdate to trigger it to recompile.\n\t\tthis.encoding = encoding;\n\n\t\tthis.userData = {};\n\n\t\tthis.version = 0;\n\t\tthis.onUpdate = null;\n\n\t\tthis.isRenderTargetTexture = false; // indicates whether a texture belongs to a render target or not\n\t\tthis.needsPMREMUpdate = false; // indicates whether this texture should be processed by PMREMGenerator or not (only relevant for render target textures)\n\n\t}\n\n\tget image() {\n\n\t\treturn this.source.data;\n\n\t}\n\n\tset image( value ) {\n\n\t\tthis.source.data = value;\n\n\t}\n\n\tupdateMatrix() {\n\n\t\tthis.matrix.setUvTransform( this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.source = source.source;\n\t\tthis.mipmaps = source.mipmaps.slice( 0 );\n\n\t\tthis.mapping = source.mapping;\n\n\t\tthis.wrapS = source.wrapS;\n\t\tthis.wrapT = source.wrapT;\n\n\t\tthis.magFilter = source.magFilter;\n\t\tthis.minFilter = source.minFilter;\n\n\t\tthis.anisotropy = source.anisotropy;\n\n\t\tthis.format = source.format;\n\t\tthis.internalFormat = source.internalFormat;\n\t\tthis.type = source.type;\n\n\t\tthis.offset.copy( source.offset );\n\t\tthis.repeat.copy( source.repeat );\n\t\tthis.center.copy( source.center );\n\t\tthis.rotation = source.rotation;\n\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\t\tthis.matrix.copy( source.matrix );\n\n\t\tthis.generateMipmaps = source.generateMipmaps;\n\t\tthis.premultiplyAlpha = source.premultiplyAlpha;\n\t\tthis.flipY = source.flipY;\n\t\tthis.unpackAlignment = source.unpackAlignment;\n\t\tthis.encoding = source.encoding;\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\tthis.needsUpdate = true;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tif ( ! isRootObject && meta.textures[ this.uuid ] !== undefined ) {\n\n\t\t\treturn meta.textures[ this.uuid ];\n\n\t\t}\n\n\t\tconst output = {\n\n\t\t\tmetadata: {\n\t\t\t\tversion: 4.5,\n\t\t\t\ttype: 'Texture',\n\t\t\t\tgenerator: 'Texture.toJSON'\n\t\t\t},\n\n\t\t\tuuid: this.uuid,\n\t\t\tname: this.name,\n\n\t\t\timage: this.source.toJSON( meta ).uuid,\n\n\t\t\tmapping: this.mapping,\n\n\t\t\trepeat: [ this.repeat.x, this.repeat.y ],\n\t\t\toffset: [ this.offset.x, this.offset.y ],\n\t\t\tcenter: [ this.center.x, this.center.y ],\n\t\t\trotation: this.rotation,\n\n\t\t\twrap: [ this.wrapS, this.wrapT ],\n\n\t\t\tformat: this.format,\n\t\t\ttype: this.type,\n\t\t\tencoding: this.encoding,\n\n\t\t\tminFilter: this.minFilter,\n\t\t\tmagFilter: this.magFilter,\n\t\t\tanisotropy: this.anisotropy,\n\n\t\t\tflipY: this.flipY,\n\n\t\t\tpremultiplyAlpha: this.premultiplyAlpha,\n\t\t\tunpackAlignment: this.unpackAlignment\n\n\t\t};\n\n\t\tif ( JSON.stringify( this.userData ) !== '{}' ) output.userData = this.userData;\n\n\t\tif ( ! isRootObject ) {\n\n\t\t\tmeta.textures[ this.uuid ] = output;\n\n\t\t}\n\n\t\treturn output;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n\ttransformUv( uv ) {\n\n\t\tif ( this.mapping !== UVMapping ) return uv;\n\n\t\tuv.applyMatrix3( this.matrix );\n\n\t\tif ( uv.x < 0 || uv.x > 1 ) {\n\n\t\t\tswitch ( this.wrapS ) {\n\n\t\t\t\tcase RepeatWrapping:\n\n\t\t\t\t\tuv.x = uv.x - Math.floor( uv.x );\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ClampToEdgeWrapping:\n\n\t\t\t\t\tuv.x = uv.x < 0 ? 0 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MirroredRepeatWrapping:\n\n\t\t\t\t\tif ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) {\n\n\t\t\t\t\t\tuv.x = Math.ceil( uv.x ) - uv.x;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tuv.x = uv.x - Math.floor( uv.x );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( uv.y < 0 || uv.y > 1 ) {\n\n\t\t\tswitch ( this.wrapT ) {\n\n\t\t\t\tcase RepeatWrapping:\n\n\t\t\t\t\tuv.y = uv.y - Math.floor( uv.y );\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase ClampToEdgeWrapping:\n\n\t\t\t\t\tuv.y = uv.y < 0 ? 0 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase MirroredRepeatWrapping:\n\n\t\t\t\t\tif ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) {\n\n\t\t\t\t\t\tuv.y = Math.ceil( uv.y ) - uv.y;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tuv.y = uv.y - Math.floor( uv.y );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.flipY ) {\n\n\t\t\tuv.y = 1 - uv.y;\n\n\t\t}\n\n\t\treturn uv;\n\n\t}\n\n\tset needsUpdate( value ) {\n\n\t\tif ( value === true ) {\n\n\t\t\tthis.version ++;\n\t\t\tthis.source.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n}\n\nTexture.DEFAULT_IMAGE = null;\nTexture.DEFAULT_MAPPING = UVMapping;\n\nexport { Texture };\n","import { EventDispatcher } from '../core/EventDispatcher.js';\nimport { Texture } from '../textures/Texture.js';\nimport { LinearFilter } from '../constants.js';\nimport { Vector4 } from '../math/Vector4.js';\nimport { Source } from '../textures/Source.js';\n\n/*\n In options, we can specify:\n * Texture parameters for an auto-generated target texture\n * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers\n*/\nclass WebGLRenderTarget extends EventDispatcher {\n\n\tconstructor( width = 1, height = 1, options = {} ) {\n\n\t\tsuper();\n\n\t\tthis.isWebGLRenderTarget = true;\n\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\tthis.depth = 1;\n\n\t\tthis.scissor = new Vector4( 0, 0, width, height );\n\t\tthis.scissorTest = false;\n\n\t\tthis.viewport = new Vector4( 0, 0, width, height );\n\n\t\tconst image = { width: width, height: height, depth: 1 };\n\n\t\tthis.texture = new Texture( image, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding );\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\tthis.texture.flipY = false;\n\t\tthis.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false;\n\t\tthis.texture.internalFormat = options.internalFormat !== undefined ? options.internalFormat : null;\n\t\tthis.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter;\n\n\t\tthis.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;\n\t\tthis.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false;\n\n\t\tthis.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null;\n\n\t\tthis.samples = options.samples !== undefined ? options.samples : 0;\n\n\t}\n\n\tsetSize( width, height, depth = 1 ) {\n\n\t\tif ( this.width !== width || this.height !== height || this.depth !== depth ) {\n\n\t\t\tthis.width = width;\n\t\t\tthis.height = height;\n\t\t\tthis.depth = depth;\n\n\t\t\tthis.texture.image.width = width;\n\t\t\tthis.texture.image.height = height;\n\t\t\tthis.texture.image.depth = depth;\n\n\t\t\tthis.dispose();\n\n\t\t}\n\n\t\tthis.viewport.set( 0, 0, width, height );\n\t\tthis.scissor.set( 0, 0, width, height );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.width = source.width;\n\t\tthis.height = source.height;\n\t\tthis.depth = source.depth;\n\n\t\tthis.viewport.copy( source.viewport );\n\n\t\tthis.texture = source.texture.clone();\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\t// ensure image object is not shared, see #20328\n\n\t\tconst image = Object.assign( {}, source.texture.image );\n\t\tthis.texture.source = new Source( image );\n\n\t\tthis.depthBuffer = source.depthBuffer;\n\t\tthis.stencilBuffer = source.stencilBuffer;\n\n\t\tif ( source.depthTexture !== null ) this.depthTexture = source.depthTexture.clone();\n\n\t\tthis.samples = source.samples;\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n}\n\nexport { WebGLRenderTarget };\n","import { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\n\nclass Camera extends Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isCamera = true;\n\n\t\tthis.type = 'Camera';\n\n\t\tthis.matrixWorldInverse = new Matrix4();\n\n\t\tthis.projectionMatrix = new Matrix4();\n\t\tthis.projectionMatrixInverse = new Matrix4();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.matrixWorldInverse.copy( source.matrixWorldInverse );\n\n\t\tthis.projectionMatrix.copy( source.projectionMatrix );\n\t\tthis.projectionMatrixInverse.copy( source.projectionMatrixInverse );\n\n\t\treturn this;\n\n\t}\n\n\tgetWorldDirection( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tconst e = this.matrixWorld.elements;\n\n\t\treturn target.set( - e[ 8 ], - e[ 9 ], - e[ 10 ] ).normalize();\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t}\n\n\tupdateWorldMatrix( updateParents, updateChildren ) {\n\n\t\tsuper.updateWorldMatrix( updateParents, updateChildren );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nexport { Camera };\n","import { Camera } from './Camera.js';\nimport * as MathUtils from '../math/MathUtils.js';\n\nclass PerspectiveCamera extends Camera {\n\n\tconstructor( fov = 50, aspect = 1, near = 0.1, far = 2000 ) {\n\n\t\tsuper();\n\n\t\tthis.isPerspectiveCamera = true;\n\n\t\tthis.type = 'PerspectiveCamera';\n\n\t\tthis.fov = fov;\n\t\tthis.zoom = 1;\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\t\tthis.focus = 10;\n\n\t\tthis.aspect = aspect;\n\t\tthis.view = null;\n\n\t\tthis.filmGauge = 35;\t// width of the film (default in millimeters)\n\t\tthis.filmOffset = 0;\t// horizontal film offset (same unit as gauge)\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.fov = source.fov;\n\t\tthis.zoom = source.zoom;\n\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\t\tthis.focus = source.focus;\n\n\t\tthis.aspect = source.aspect;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\tthis.filmGauge = source.filmGauge;\n\t\tthis.filmOffset = source.filmOffset;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the FOV by focal length in respect to the current .filmGauge.\n\t *\n\t * The default film gauge is 35, so that the focal length can be specified for\n\t * a 35mm (full frame) camera.\n\t *\n\t * Values for focal length and film gauge must have the same unit.\n\t */\n\tsetFocalLength( focalLength ) {\n\n\t\t/** see {@link http://www.bobatkins.com/photography/technical/field_of_view.html} */\n\t\tconst vExtentSlope = 0.5 * this.getFilmHeight() / focalLength;\n\n\t\tthis.fov = MathUtils.RAD2DEG * 2 * Math.atan( vExtentSlope );\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\t/**\n\t * Calculates the focal length from the current .fov and .filmGauge.\n\t */\n\tgetFocalLength() {\n\n\t\tconst vExtentSlope = Math.tan( MathUtils.DEG2RAD * 0.5 * this.fov );\n\n\t\treturn 0.5 * this.getFilmHeight() / vExtentSlope;\n\n\t}\n\n\tgetEffectiveFOV() {\n\n\t\treturn MathUtils.RAD2DEG * 2 * Math.atan(\n\t\t\tMath.tan( MathUtils.DEG2RAD * 0.5 * this.fov ) / this.zoom );\n\n\t}\n\n\tgetFilmWidth() {\n\n\t\t// film not completely covered in portrait format (aspect < 1)\n\t\treturn this.filmGauge * Math.min( this.aspect, 1 );\n\n\t}\n\n\tgetFilmHeight() {\n\n\t\t// film not completely covered in landscape format (aspect > 1)\n\t\treturn this.filmGauge / Math.max( this.aspect, 1 );\n\n\t}\n\n\t/**\n\t * Sets an offset in a larger frustum. This is useful for multi-window or\n\t * multi-monitor/multi-machine setups.\n\t *\n\t * For example, if you have 3x2 monitors and each monitor is 1920x1080 and\n\t * the monitors are in grid like this\n\t *\n\t * +---+---+---+\n\t * | A | B | C |\n\t * +---+---+---+\n\t * | D | E | F |\n\t * +---+---+---+\n\t *\n\t * then for each monitor you would call it like this\n\t *\n\t * const w = 1920;\n\t * const h = 1080;\n\t * const fullWidth = w * 3;\n\t * const fullHeight = h * 2;\n\t *\n\t * --A--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );\n\t * --B--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );\n\t * --C--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );\n\t * --D--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );\n\t * --E--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );\n\t * --F--\n\t * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );\n\t *\n\t * Note there is no reason monitors have to be the same size or in a grid.\n\t */\n\tsetViewOffset( fullWidth, fullHeight, x, y, width, height ) {\n\n\t\tthis.aspect = fullWidth / fullHeight;\n\n\t\tif ( this.view === null ) {\n\n\t\t\tthis.view = {\n\t\t\t\tenabled: true,\n\t\t\t\tfullWidth: 1,\n\t\t\t\tfullHeight: 1,\n\t\t\t\toffsetX: 0,\n\t\t\t\toffsetY: 0,\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t};\n\n\t\t}\n\n\t\tthis.view.enabled = true;\n\t\tthis.view.fullWidth = fullWidth;\n\t\tthis.view.fullHeight = fullHeight;\n\t\tthis.view.offsetX = x;\n\t\tthis.view.offsetY = y;\n\t\tthis.view.width = width;\n\t\tthis.view.height = height;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tclearViewOffset() {\n\n\t\tif ( this.view !== null ) {\n\n\t\t\tthis.view.enabled = false;\n\n\t\t}\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tupdateProjectionMatrix() {\n\n\t\tconst near = this.near;\n\t\tlet top = near * Math.tan( MathUtils.DEG2RAD * 0.5 * this.fov ) / this.zoom;\n\t\tlet height = 2 * top;\n\t\tlet width = this.aspect * height;\n\t\tlet left = - 0.5 * width;\n\t\tconst view = this.view;\n\n\t\tif ( this.view !== null && this.view.enabled ) {\n\n\t\t\tconst fullWidth = view.fullWidth,\n\t\t\t\tfullHeight = view.fullHeight;\n\n\t\t\tleft += view.offsetX * width / fullWidth;\n\t\t\ttop -= view.offsetY * height / fullHeight;\n\t\t\twidth *= view.width / fullWidth;\n\t\t\theight *= view.height / fullHeight;\n\n\t\t}\n\n\t\tconst skew = this.filmOffset;\n\t\tif ( skew !== 0 ) left += near * skew / this.getFilmWidth();\n\n\t\tthis.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far );\n\n\t\tthis.projectionMatrixInverse.copy( this.projectionMatrix ).invert();\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.fov = this.fov;\n\t\tdata.object.zoom = this.zoom;\n\n\t\tdata.object.near = this.near;\n\t\tdata.object.far = this.far;\n\t\tdata.object.focus = this.focus;\n\n\t\tdata.object.aspect = this.aspect;\n\n\t\tif ( this.view !== null ) data.object.view = Object.assign( {}, this.view );\n\n\t\tdata.object.filmGauge = this.filmGauge;\n\t\tdata.object.filmOffset = this.filmOffset;\n\n\t\treturn data;\n\n\t}\n\n}\n\nexport { PerspectiveCamera };\n","import { NoToneMapping } from '../constants.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { PerspectiveCamera } from './PerspectiveCamera.js';\n\nconst fov = 90, aspect = 1;\n\nclass CubeCamera extends Object3D {\n\n\tconstructor( near, far, renderTarget ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'CubeCamera';\n\n\t\tthis.renderTarget = renderTarget;\n\n\t\tconst cameraPX = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPX.layers = this.layers;\n\t\tcameraPX.up.set( 0, - 1, 0 );\n\t\tcameraPX.lookAt( new Vector3( 1, 0, 0 ) );\n\t\tthis.add( cameraPX );\n\n\t\tconst cameraNX = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNX.layers = this.layers;\n\t\tcameraNX.up.set( 0, - 1, 0 );\n\t\tcameraNX.lookAt( new Vector3( - 1, 0, 0 ) );\n\t\tthis.add( cameraNX );\n\n\t\tconst cameraPY = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPY.layers = this.layers;\n\t\tcameraPY.up.set( 0, 0, 1 );\n\t\tcameraPY.lookAt( new Vector3( 0, 1, 0 ) );\n\t\tthis.add( cameraPY );\n\n\t\tconst cameraNY = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNY.layers = this.layers;\n\t\tcameraNY.up.set( 0, 0, - 1 );\n\t\tcameraNY.lookAt( new Vector3( 0, - 1, 0 ) );\n\t\tthis.add( cameraNY );\n\n\t\tconst cameraPZ = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraPZ.layers = this.layers;\n\t\tcameraPZ.up.set( 0, - 1, 0 );\n\t\tcameraPZ.lookAt( new Vector3( 0, 0, 1 ) );\n\t\tthis.add( cameraPZ );\n\n\t\tconst cameraNZ = new PerspectiveCamera( fov, aspect, near, far );\n\t\tcameraNZ.layers = this.layers;\n\t\tcameraNZ.up.set( 0, - 1, 0 );\n\t\tcameraNZ.lookAt( new Vector3( 0, 0, - 1 ) );\n\t\tthis.add( cameraNZ );\n\n\t}\n\n\tupdate( renderer, scene ) {\n\n\t\tif ( this.parent === null ) this.updateMatrixWorld();\n\n\t\tconst renderTarget = this.renderTarget;\n\n\t\tconst [ cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ ] = this.children;\n\n\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\tconst currentToneMapping = renderer.toneMapping;\n\t\tconst currentXrEnabled = renderer.xr.enabled;\n\n\t\trenderer.toneMapping = NoToneMapping;\n\t\trenderer.xr.enabled = false;\n\n\t\tconst generateMipmaps = renderTarget.texture.generateMipmaps;\n\n\t\trenderTarget.texture.generateMipmaps = false;\n\n\t\trenderer.setRenderTarget( renderTarget, 0 );\n\t\trenderer.render( scene, cameraPX );\n\n\t\trenderer.setRenderTarget( renderTarget, 1 );\n\t\trenderer.render( scene, cameraNX );\n\n\t\trenderer.setRenderTarget( renderTarget, 2 );\n\t\trenderer.render( scene, cameraPY );\n\n\t\trenderer.setRenderTarget( renderTarget, 3 );\n\t\trenderer.render( scene, cameraNY );\n\n\t\trenderer.setRenderTarget( renderTarget, 4 );\n\t\trenderer.render( scene, cameraPZ );\n\n\t\trenderTarget.texture.generateMipmaps = generateMipmaps;\n\n\t\trenderer.setRenderTarget( renderTarget, 5 );\n\t\trenderer.render( scene, cameraNZ );\n\n\t\trenderer.setRenderTarget( currentRenderTarget );\n\n\t\trenderer.toneMapping = currentToneMapping;\n\t\trenderer.xr.enabled = currentXrEnabled;\n\n\t\trenderTarget.texture.needsPMREMUpdate = true;\n\n\t}\n\n}\n\nexport { CubeCamera };\n","import { Texture } from './Texture.js';\nimport { CubeReflectionMapping } from '../constants.js';\n\nclass CubeTexture extends Texture {\n\n\tconstructor( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) {\n\n\t\timages = images !== undefined ? images : [];\n\t\tmapping = mapping !== undefined ? mapping : CubeReflectionMapping;\n\n\t\tsuper( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\tthis.isCubeTexture = true;\n\n\t\tthis.flipY = false;\n\n\t}\n\n\tget images() {\n\n\t\treturn this.image;\n\n\t}\n\n\tset images( value ) {\n\n\t\tthis.image = value;\n\n\t}\n\n}\n\nexport { CubeTexture };\n","import { BackSide, LinearFilter, LinearMipmapLinearFilter, NoBlending } from '../constants.js';\nimport { Mesh } from '../objects/Mesh.js';\nimport { BoxGeometry } from '../geometries/BoxGeometry.js';\nimport { ShaderMaterial } from '../materials/ShaderMaterial.js';\nimport { cloneUniforms } from './shaders/UniformsUtils.js';\nimport { WebGLRenderTarget } from './WebGLRenderTarget.js';\nimport { CubeCamera } from '../cameras/CubeCamera.js';\nimport { CubeTexture } from '../textures/CubeTexture.js';\n\nclass WebGLCubeRenderTarget extends WebGLRenderTarget {\n\n\tconstructor( size = 1, options = {} ) {\n\n\t\tsuper( size, size, options );\n\n\t\tthis.isWebGLCubeRenderTarget = true;\n\n\t\tconst image = { width: size, height: size, depth: 1 };\n\t\tconst images = [ image, image, image, image, image, image ];\n\n\t\tthis.texture = new CubeTexture( images, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding );\n\n\t\t// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)\n\t\t// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,\n\t\t// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.\n\n\t\t// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped\n\t\t// and the flag isRenderTargetTexture controls this conversion. The flip is not required when using WebGLCubeRenderTarget.texture\n\t\t// as a cube texture (this is detected when isRenderTargetTexture is set to true for cube textures).\n\n\t\tthis.texture.isRenderTargetTexture = true;\n\n\t\tthis.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false;\n\t\tthis.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter;\n\n\t}\n\n\tfromEquirectangularTexture( renderer, texture ) {\n\n\t\tthis.texture.type = texture.type;\n\t\tthis.texture.encoding = texture.encoding;\n\n\t\tthis.texture.generateMipmaps = texture.generateMipmaps;\n\t\tthis.texture.minFilter = texture.minFilter;\n\t\tthis.texture.magFilter = texture.magFilter;\n\n\t\tconst shader = {\n\n\t\t\tuniforms: {\n\t\t\t\ttEquirect: { value: null },\n\t\t\t},\n\n\t\t\tvertexShader: /* glsl */`\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t`,\n\n\t\t\tfragmentShader: /* glsl */`\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t`\n\t\t};\n\n\t\tconst geometry = new BoxGeometry( 5, 5, 5 );\n\n\t\tconst material = new ShaderMaterial( {\n\n\t\t\tname: 'CubemapFromEquirect',\n\n\t\t\tuniforms: cloneUniforms( shader.uniforms ),\n\t\t\tvertexShader: shader.vertexShader,\n\t\t\tfragmentShader: shader.fragmentShader,\n\t\t\tside: BackSide,\n\t\t\tblending: NoBlending\n\n\t\t} );\n\n\t\tmaterial.uniforms.tEquirect.value = texture;\n\n\t\tconst mesh = new Mesh( geometry, material );\n\n\t\tconst currentMinFilter = texture.minFilter;\n\n\t\t// Avoid blurred poles\n\t\tif ( texture.minFilter === LinearMipmapLinearFilter ) texture.minFilter = LinearFilter;\n\n\t\tconst camera = new CubeCamera( 1, 10, this );\n\t\tcamera.update( renderer, mesh );\n\n\t\ttexture.minFilter = currentMinFilter;\n\n\t\tmesh.geometry.dispose();\n\t\tmesh.material.dispose();\n\n\t\treturn this;\n\n\t}\n\n\tclear( renderer, color, depth, stencil ) {\n\n\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\trenderer.setRenderTarget( this, i );\n\n\t\t\trenderer.clear( color, depth, stencil );\n\n\t\t}\n\n\t\trenderer.setRenderTarget( currentRenderTarget );\n\n\t}\n\n}\n\nexport { WebGLCubeRenderTarget };\n","import { CubeReflectionMapping, CubeRefractionMapping, EquirectangularReflectionMapping, EquirectangularRefractionMapping } from '../../constants.js';\nimport { WebGLCubeRenderTarget } from '../WebGLCubeRenderTarget.js';\n\nfunction WebGLCubeMaps( renderer ) {\n\n\tlet cubemaps = new WeakMap();\n\n\tfunction mapTextureMapping( texture, mapping ) {\n\n\t\tif ( mapping === EquirectangularReflectionMapping ) {\n\n\t\t\ttexture.mapping = CubeReflectionMapping;\n\n\t\t} else if ( mapping === EquirectangularRefractionMapping ) {\n\n\t\t\ttexture.mapping = CubeRefractionMapping;\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction get( texture ) {\n\n\t\tif ( texture && texture.isTexture && texture.isRenderTargetTexture === false ) {\n\n\t\t\tconst mapping = texture.mapping;\n\n\t\t\tif ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping ) {\n\n\t\t\t\tif ( cubemaps.has( texture ) ) {\n\n\t\t\t\t\tconst cubemap = cubemaps.get( texture ).texture;\n\t\t\t\t\treturn mapTextureMapping( cubemap, texture.mapping );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconst image = texture.image;\n\n\t\t\t\t\tif ( image && image.height > 0 ) {\n\n\t\t\t\t\t\tconst renderTarget = new WebGLCubeRenderTarget( image.height / 2 );\n\t\t\t\t\t\trenderTarget.fromEquirectangularTexture( renderer, texture );\n\t\t\t\t\t\tcubemaps.set( texture, renderTarget );\n\n\t\t\t\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t\t\t\t\treturn mapTextureMapping( renderTarget.texture, texture.mapping );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// image not yet ready. try the conversion next frame\n\n\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tconst cubemap = cubemaps.get( texture );\n\n\t\tif ( cubemap !== undefined ) {\n\n\t\t\tcubemaps.delete( texture );\n\t\t\tcubemap.dispose();\n\n\t\t}\n\n\t}\n\n\tfunction dispose() {\n\n\t\tcubemaps = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nexport { WebGLCubeMaps };\n","import { Camera } from './Camera.js';\n\nclass OrthographicCamera extends Camera {\n\n\tconstructor( left = - 1, right = 1, top = 1, bottom = - 1, near = 0.1, far = 2000 ) {\n\n\t\tsuper();\n\n\t\tthis.isOrthographicCamera = true;\n\n\t\tthis.type = 'OrthographicCamera';\n\n\t\tthis.zoom = 1;\n\t\tthis.view = null;\n\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.top = top;\n\t\tthis.bottom = bottom;\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.left = source.left;\n\t\tthis.right = source.right;\n\t\tthis.top = source.top;\n\t\tthis.bottom = source.bottom;\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\n\t\tthis.zoom = source.zoom;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\treturn this;\n\n\t}\n\n\tsetViewOffset( fullWidth, fullHeight, x, y, width, height ) {\n\n\t\tif ( this.view === null ) {\n\n\t\t\tthis.view = {\n\t\t\t\tenabled: true,\n\t\t\t\tfullWidth: 1,\n\t\t\t\tfullHeight: 1,\n\t\t\t\toffsetX: 0,\n\t\t\t\toffsetY: 0,\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t};\n\n\t\t}\n\n\t\tthis.view.enabled = true;\n\t\tthis.view.fullWidth = fullWidth;\n\t\tthis.view.fullHeight = fullHeight;\n\t\tthis.view.offsetX = x;\n\t\tthis.view.offsetY = y;\n\t\tthis.view.width = width;\n\t\tthis.view.height = height;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tclearViewOffset() {\n\n\t\tif ( this.view !== null ) {\n\n\t\t\tthis.view.enabled = false;\n\n\t\t}\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tupdateProjectionMatrix() {\n\n\t\tconst dx = ( this.right - this.left ) / ( 2 * this.zoom );\n\t\tconst dy = ( this.top - this.bottom ) / ( 2 * this.zoom );\n\t\tconst cx = ( this.right + this.left ) / 2;\n\t\tconst cy = ( this.top + this.bottom ) / 2;\n\n\t\tlet left = cx - dx;\n\t\tlet right = cx + dx;\n\t\tlet top = cy + dy;\n\t\tlet bottom = cy - dy;\n\n\t\tif ( this.view !== null && this.view.enabled ) {\n\n\t\t\tconst scaleW = ( this.right - this.left ) / this.view.fullWidth / this.zoom;\n\t\t\tconst scaleH = ( this.top - this.bottom ) / this.view.fullHeight / this.zoom;\n\n\t\t\tleft += scaleW * this.view.offsetX;\n\t\t\tright = left + scaleW * this.view.width;\n\t\t\ttop -= scaleH * this.view.offsetY;\n\t\t\tbottom = top - scaleH * this.view.height;\n\n\t\t}\n\n\t\tthis.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far );\n\n\t\tthis.projectionMatrixInverse.copy( this.projectionMatrix ).invert();\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.zoom = this.zoom;\n\t\tdata.object.left = this.left;\n\t\tdata.object.right = this.right;\n\t\tdata.object.top = this.top;\n\t\tdata.object.bottom = this.bottom;\n\t\tdata.object.near = this.near;\n\t\tdata.object.far = this.far;\n\n\t\tif ( this.view !== null ) data.object.view = Object.assign( {}, this.view );\n\n\t\treturn data;\n\n\t}\n\n}\n\nexport { OrthographicCamera };\n","import {\n\tCubeReflectionMapping,\n\tCubeRefractionMapping,\n\tCubeUVReflectionMapping,\n\tLinearEncoding,\n\tLinearFilter,\n\tNoToneMapping,\n\tNoBlending,\n\tRGBAFormat,\n\tHalfFloatType\n} from '../constants.js';\n\nimport { BufferAttribute } from '../core/BufferAttribute.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Mesh } from '../objects/Mesh.js';\nimport { OrthographicCamera } from '../cameras/OrthographicCamera.js';\nimport { PerspectiveCamera } from '../cameras/PerspectiveCamera.js';\nimport { ShaderMaterial } from '../materials/ShaderMaterial.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { Color } from '../math/Color.js';\nimport { WebGLRenderTarget } from '../renderers/WebGLRenderTarget.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BoxGeometry } from '../geometries/BoxGeometry.js';\nimport { BackSide } from '../constants.js';\n\nconst LOD_MIN = 4;\n\n// The standard deviations (radians) associated with the extra mips. These are\n// chosen to approximate a Trowbridge-Reitz distribution function times the\n// geometric shadowing function. These sigma values squared must match the\n// variance #defines in cube_uv_reflection_fragment.glsl.js.\nconst EXTRA_LOD_SIGMA = [ 0.125, 0.215, 0.35, 0.446, 0.526, 0.582 ];\n\n// The maximum length of the blur for loop. Smaller sigmas will use fewer\n// samples and exit early, but not recompile the shader.\nconst MAX_SAMPLES = 20;\n\nconst _flatCamera = /*@__PURE__*/ new OrthographicCamera();\nconst _clearColor = /*@__PURE__*/ new Color();\nlet _oldTarget = null;\n\n// Golden Ratio\nconst PHI = ( 1 + Math.sqrt( 5 ) ) / 2;\nconst INV_PHI = 1 / PHI;\n\n// Vertices of a dodecahedron (except the opposites, which represent the\n// same axis), used as axis directions evenly spread on a sphere.\nconst _axisDirections = [\n\t/*@__PURE__*/ new Vector3( 1, 1, 1 ),\n\t/*@__PURE__*/ new Vector3( - 1, 1, 1 ),\n\t/*@__PURE__*/ new Vector3( 1, 1, - 1 ),\n\t/*@__PURE__*/ new Vector3( - 1, 1, - 1 ),\n\t/*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ),\n\t/*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ),\n\t/*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ),\n\t/*@__PURE__*/ new Vector3( - INV_PHI, 0, PHI ),\n\t/*@__PURE__*/ new Vector3( PHI, INV_PHI, 0 ),\n\t/*@__PURE__*/ new Vector3( - PHI, INV_PHI, 0 ) ];\n\n/**\n * This class generates a Prefiltered, Mipmapped Radiance Environment Map\n * (PMREM) from a cubeMap environment texture. This allows different levels of\n * blur to be quickly accessed based on material roughness. It is packed into a\n * special CubeUV format that allows us to perform custom interpolation so that\n * we can support nonlinear formats such as RGBE. Unlike a traditional mipmap\n * chain, it only goes down to the LOD_MIN level (above), and then creates extra\n * even more filtered 'mips' at the same LOD_MIN resolution, associated with\n * higher roughness levels. In this way we maintain resolution to smoothly\n * interpolate diffuse lighting while limiting sampling computation.\n *\n * Paper: Fast, Accurate Image-Based Lighting\n * https://drive.google.com/file/d/15y8r_UpKlU9SvV4ILb0C3qCPecS8pvLz/view\n*/\n\nclass PMREMGenerator {\n\n\tconstructor( renderer ) {\n\n\t\tthis._renderer = renderer;\n\t\tthis._pingPongRenderTarget = null;\n\n\t\tthis._lodMax = 0;\n\t\tthis._cubeSize = 0;\n\t\tthis._lodPlanes = [];\n\t\tthis._sizeLods = [];\n\t\tthis._sigmas = [];\n\n\t\tthis._blurMaterial = null;\n\t\tthis._cubemapMaterial = null;\n\t\tthis._equirectMaterial = null;\n\n\t\tthis._compileMaterial( this._blurMaterial );\n\n\t}\n\n\t/**\n\t * Generates a PMREM from a supplied Scene, which can be faster than using an\n\t * image if networking bandwidth is low. Optional sigma specifies a blur radius\n\t * in radians to be applied to the scene before PMREM generation. Optional near\n\t * and far planes ensure the scene is rendered in its entirety (the cubeCamera\n\t * is placed at the origin).\n\t */\n\tfromScene( scene, sigma = 0, near = 0.1, far = 100 ) {\n\n\t\t_oldTarget = this._renderer.getRenderTarget();\n\n\t\tthis._setSize( 256 );\n\n\t\tconst cubeUVRenderTarget = this._allocateTargets();\n\t\tcubeUVRenderTarget.depthBuffer = true;\n\n\t\tthis._sceneToCubeUV( scene, near, far, cubeUVRenderTarget );\n\n\t\tif ( sigma > 0 ) {\n\n\t\t\tthis._blur( cubeUVRenderTarget, 0, 0, sigma );\n\n\t\t}\n\n\t\tthis._applyPMREM( cubeUVRenderTarget );\n\t\tthis._cleanup( cubeUVRenderTarget );\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t/**\n\t * Generates a PMREM from an equirectangular texture, which can be either LDR\n\t * or HDR. The ideal input image size is 1k (1024 x 512),\n\t * as this matches best with the 256 x 256 cubemap output.\n\t */\n\tfromEquirectangular( equirectangular, renderTarget = null ) {\n\n\t\treturn this._fromTexture( equirectangular, renderTarget );\n\n\t}\n\n\t/**\n\t * Generates a PMREM from an cubemap texture, which can be either LDR\n\t * or HDR. The ideal input cube size is 256 x 256,\n\t * as this matches best with the 256 x 256 cubemap output.\n\t */\n\tfromCubemap( cubemap, renderTarget = null ) {\n\n\t\treturn this._fromTexture( cubemap, renderTarget );\n\n\t}\n\n\t/**\n\t * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during\n\t * your texture's network fetch for increased concurrency.\n\t */\n\tcompileCubemapShader() {\n\n\t\tif ( this._cubemapMaterial === null ) {\n\n\t\t\tthis._cubemapMaterial = _getCubemapMaterial();\n\t\t\tthis._compileMaterial( this._cubemapMaterial );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during\n\t * your texture's network fetch for increased concurrency.\n\t */\n\tcompileEquirectangularShader() {\n\n\t\tif ( this._equirectMaterial === null ) {\n\n\t\t\tthis._equirectMaterial = _getEquirectMaterial();\n\t\t\tthis._compileMaterial( this._equirectMaterial );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class,\n\t * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on\n\t * one of them will cause any others to also become unusable.\n\t */\n\tdispose() {\n\n\t\tthis._dispose();\n\n\t\tif ( this._cubemapMaterial !== null ) this._cubemapMaterial.dispose();\n\t\tif ( this._equirectMaterial !== null ) this._equirectMaterial.dispose();\n\n\t}\n\n\t// private interface\n\n\t_setSize( cubeSize ) {\n\n\t\tthis._lodMax = Math.floor( Math.log2( cubeSize ) );\n\t\tthis._cubeSize = Math.pow( 2, this._lodMax );\n\n\t}\n\n\t_dispose() {\n\n\t\tif ( this._blurMaterial !== null ) this._blurMaterial.dispose();\n\n\t\tif ( this._pingPongRenderTarget !== null ) this._pingPongRenderTarget.dispose();\n\n\t\tfor ( let i = 0; i < this._lodPlanes.length; i ++ ) {\n\n\t\t\tthis._lodPlanes[ i ].dispose();\n\n\t\t}\n\n\t}\n\n\t_cleanup( outputTarget ) {\n\n\t\tthis._renderer.setRenderTarget( _oldTarget );\n\t\toutputTarget.scissorTest = false;\n\t\t_setViewport( outputTarget, 0, 0, outputTarget.width, outputTarget.height );\n\n\t}\n\n\t_fromTexture( texture, renderTarget ) {\n\n\t\tif ( texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping ) {\n\n\t\t\tthis._setSize( texture.image.length === 0 ? 16 : ( texture.image[ 0 ].width || texture.image[ 0 ].image.width ) );\n\n\t\t} else { // Equirectangular\n\n\t\t\tthis._setSize( texture.image.width / 4 );\n\n\t\t}\n\n\t\t_oldTarget = this._renderer.getRenderTarget();\n\n\t\tconst cubeUVRenderTarget = renderTarget || this._allocateTargets();\n\t\tthis._textureToCubeUV( texture, cubeUVRenderTarget );\n\t\tthis._applyPMREM( cubeUVRenderTarget );\n\t\tthis._cleanup( cubeUVRenderTarget );\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t_allocateTargets() {\n\n\t\tconst width = 3 * Math.max( this._cubeSize, 16 * 7 );\n\t\tconst height = 4 * this._cubeSize;\n\n\t\tconst params = {\n\t\t\tmagFilter: LinearFilter,\n\t\t\tminFilter: LinearFilter,\n\t\t\tgenerateMipmaps: false,\n\t\t\ttype: HalfFloatType,\n\t\t\tformat: RGBAFormat,\n\t\t\tencoding: LinearEncoding,\n\t\t\tdepthBuffer: false\n\t\t};\n\n\t\tconst cubeUVRenderTarget = _createRenderTarget( width, height, params );\n\n\t\tif ( this._pingPongRenderTarget === null || this._pingPongRenderTarget.width !== width ) {\n\n\t\t\tif ( this._pingPongRenderTarget !== null ) {\n\n\t\t\t\tthis._dispose();\n\n\t\t\t}\n\n\t\t\tthis._pingPongRenderTarget = _createRenderTarget( width, height, params );\n\n\t\t\tconst { _lodMax } = this;\n\t\t\t( { sizeLods: this._sizeLods, lodPlanes: this._lodPlanes, sigmas: this._sigmas } = _createPlanes( _lodMax ) );\n\n\t\t\tthis._blurMaterial = _getBlurShader( _lodMax, width, height );\n\n\t\t}\n\n\t\treturn cubeUVRenderTarget;\n\n\t}\n\n\t_compileMaterial( material ) {\n\n\t\tconst tmpMesh = new Mesh( this._lodPlanes[ 0 ], material );\n\t\tthis._renderer.compile( tmpMesh, _flatCamera );\n\n\t}\n\n\t_sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) {\n\n\t\tconst fov = 90;\n\t\tconst aspect = 1;\n\t\tconst cubeCamera = new PerspectiveCamera( fov, aspect, near, far );\n\t\tconst upSign = [ 1, - 1, 1, 1, 1, 1 ];\n\t\tconst forwardSign = [ 1, 1, 1, - 1, - 1, - 1 ];\n\t\tconst renderer = this._renderer;\n\n\t\tconst originalAutoClear = renderer.autoClear;\n\t\tconst toneMapping = renderer.toneMapping;\n\t\trenderer.getClearColor( _clearColor );\n\n\t\trenderer.toneMapping = NoToneMapping;\n\t\trenderer.autoClear = false;\n\n\t\tconst backgroundMaterial = new MeshBasicMaterial( {\n\t\t\tname: 'PMREM.Background',\n\t\t\tside: BackSide,\n\t\t\tdepthWrite: false,\n\t\t\tdepthTest: false,\n\t\t} );\n\n\t\tconst backgroundBox = new Mesh( new BoxGeometry(), backgroundMaterial );\n\n\t\tlet useSolidColor = false;\n\t\tconst background = scene.background;\n\n\t\tif ( background ) {\n\n\t\t\tif ( background.isColor ) {\n\n\t\t\t\tbackgroundMaterial.color.copy( background );\n\t\t\t\tscene.background = null;\n\t\t\t\tuseSolidColor = true;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tbackgroundMaterial.color.copy( _clearColor );\n\t\t\tuseSolidColor = true;\n\n\t\t}\n\n\t\tfor ( let i = 0; i < 6; i ++ ) {\n\n\t\t\tconst col = i % 3;\n\n\t\t\tif ( col === 0 ) {\n\n\t\t\t\tcubeCamera.up.set( 0, upSign[ i ], 0 );\n\t\t\t\tcubeCamera.lookAt( forwardSign[ i ], 0, 0 );\n\n\t\t\t} else if ( col === 1 ) {\n\n\t\t\t\tcubeCamera.up.set( 0, 0, upSign[ i ] );\n\t\t\t\tcubeCamera.lookAt( 0, forwardSign[ i ], 0 );\n\n\t\t\t} else {\n\n\t\t\t\tcubeCamera.up.set( 0, upSign[ i ], 0 );\n\t\t\t\tcubeCamera.lookAt( 0, 0, forwardSign[ i ] );\n\n\t\t\t}\n\n\t\t\tconst size = this._cubeSize;\n\n\t\t\t_setViewport( cubeUVRenderTarget, col * size, i > 2 ? size : 0, size, size );\n\n\t\t\trenderer.setRenderTarget( cubeUVRenderTarget );\n\n\t\t\tif ( useSolidColor ) {\n\n\t\t\t\trenderer.render( backgroundBox, cubeCamera );\n\n\t\t\t}\n\n\t\t\trenderer.render( scene, cubeCamera );\n\n\t\t}\n\n\t\tbackgroundBox.geometry.dispose();\n\t\tbackgroundBox.material.dispose();\n\n\t\trenderer.toneMapping = toneMapping;\n\t\trenderer.autoClear = originalAutoClear;\n\t\tscene.background = background;\n\n\t}\n\n\t_textureToCubeUV( texture, cubeUVRenderTarget ) {\n\n\t\tconst renderer = this._renderer;\n\n\t\tconst isCubeTexture = ( texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping );\n\n\t\tif ( isCubeTexture ) {\n\n\t\t\tif ( this._cubemapMaterial === null ) {\n\n\t\t\t\tthis._cubemapMaterial = _getCubemapMaterial();\n\n\t\t\t}\n\n\t\t\tthis._cubemapMaterial.uniforms.flipEnvMap.value = ( texture.isRenderTargetTexture === false ) ? - 1 : 1;\n\n\t\t} else {\n\n\t\t\tif ( this._equirectMaterial === null ) {\n\n\t\t\t\tthis._equirectMaterial = _getEquirectMaterial();\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst material = isCubeTexture ? this._cubemapMaterial : this._equirectMaterial;\n\t\tconst mesh = new Mesh( this._lodPlanes[ 0 ], material );\n\n\t\tconst uniforms = material.uniforms;\n\n\t\tuniforms[ 'envMap' ].value = texture;\n\n\t\tconst size = this._cubeSize;\n\n\t\t_setViewport( cubeUVRenderTarget, 0, 0, 3 * size, 2 * size );\n\n\t\trenderer.setRenderTarget( cubeUVRenderTarget );\n\t\trenderer.render( mesh, _flatCamera );\n\n\t}\n\n\t_applyPMREM( cubeUVRenderTarget ) {\n\n\t\tconst renderer = this._renderer;\n\t\tconst autoClear = renderer.autoClear;\n\t\trenderer.autoClear = false;\n\n\t\tfor ( let i = 1; i < this._lodPlanes.length; i ++ ) {\n\n\t\t\tconst sigma = Math.sqrt( this._sigmas[ i ] * this._sigmas[ i ] - this._sigmas[ i - 1 ] * this._sigmas[ i - 1 ] );\n\n\t\t\tconst poleAxis = _axisDirections[ ( i - 1 ) % _axisDirections.length ];\n\n\t\t\tthis._blur( cubeUVRenderTarget, i - 1, i, sigma, poleAxis );\n\n\t\t}\n\n\t\trenderer.autoClear = autoClear;\n\n\t}\n\n\t/**\n\t * This is a two-pass Gaussian blur for a cubemap. Normally this is done\n\t * vertically and horizontally, but this breaks down on a cube. Here we apply\n\t * the blur latitudinally (around the poles), and then longitudinally (towards\n\t * the poles) to approximate the orthogonally-separable blur. It is least\n\t * accurate at the poles, but still does a decent job.\n\t */\n\t_blur( cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis ) {\n\n\t\tconst pingPongRenderTarget = this._pingPongRenderTarget;\n\n\t\tthis._halfBlur(\n\t\t\tcubeUVRenderTarget,\n\t\t\tpingPongRenderTarget,\n\t\t\tlodIn,\n\t\t\tlodOut,\n\t\t\tsigma,\n\t\t\t'latitudinal',\n\t\t\tpoleAxis );\n\n\t\tthis._halfBlur(\n\t\t\tpingPongRenderTarget,\n\t\t\tcubeUVRenderTarget,\n\t\t\tlodOut,\n\t\t\tlodOut,\n\t\t\tsigma,\n\t\t\t'longitudinal',\n\t\t\tpoleAxis );\n\n\t}\n\n\t_halfBlur( targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis ) {\n\n\t\tconst renderer = this._renderer;\n\t\tconst blurMaterial = this._blurMaterial;\n\n\t\tif ( direction !== 'latitudinal' && direction !== 'longitudinal' ) {\n\n\t\t\tconsole.error(\n\t\t\t\t'blur direction must be either latitudinal or longitudinal!' );\n\n\t\t}\n\n\t\t// Number of standard deviations at which to cut off the discrete approximation.\n\t\tconst STANDARD_DEVIATIONS = 3;\n\n\t\tconst blurMesh = new Mesh( this._lodPlanes[ lodOut ], blurMaterial );\n\t\tconst blurUniforms = blurMaterial.uniforms;\n\n\t\tconst pixels = this._sizeLods[ lodIn ] - 1;\n\t\tconst radiansPerPixel = isFinite( sigmaRadians ) ? Math.PI / ( 2 * pixels ) : 2 * Math.PI / ( 2 * MAX_SAMPLES - 1 );\n\t\tconst sigmaPixels = sigmaRadians / radiansPerPixel;\n\t\tconst samples = isFinite( sigmaRadians ) ? 1 + Math.floor( STANDARD_DEVIATIONS * sigmaPixels ) : MAX_SAMPLES;\n\n\t\tif ( samples > MAX_SAMPLES ) {\n\n\t\t\tconsole.warn( `sigmaRadians, ${\n\t\t\t\tsigmaRadians}, is too large and will clip, as it requested ${\n\t\t\t\tsamples} samples when the maximum is set to ${MAX_SAMPLES}` );\n\n\t\t}\n\n\t\tconst weights = [];\n\t\tlet sum = 0;\n\n\t\tfor ( let i = 0; i < MAX_SAMPLES; ++ i ) {\n\n\t\t\tconst x = i / sigmaPixels;\n\t\t\tconst weight = Math.exp( - x * x / 2 );\n\t\t\tweights.push( weight );\n\n\t\t\tif ( i === 0 ) {\n\n\t\t\t\tsum += weight;\n\n\t\t\t} else if ( i < samples ) {\n\n\t\t\t\tsum += 2 * weight;\n\n\t\t\t}\n\n\t\t}\n\n\t\tfor ( let i = 0; i < weights.length; i ++ ) {\n\n\t\t\tweights[ i ] = weights[ i ] / sum;\n\n\t\t}\n\n\t\tblurUniforms[ 'envMap' ].value = targetIn.texture;\n\t\tblurUniforms[ 'samples' ].value = samples;\n\t\tblurUniforms[ 'weights' ].value = weights;\n\t\tblurUniforms[ 'latitudinal' ].value = direction === 'latitudinal';\n\n\t\tif ( poleAxis ) {\n\n\t\t\tblurUniforms[ 'poleAxis' ].value = poleAxis;\n\n\t\t}\n\n\t\tconst { _lodMax } = this;\n\t\tblurUniforms[ 'dTheta' ].value = radiansPerPixel;\n\t\tblurUniforms[ 'mipInt' ].value = _lodMax - lodIn;\n\n\t\tconst outputSize = this._sizeLods[ lodOut ];\n\t\tconst x = 3 * outputSize * ( lodOut > _lodMax - LOD_MIN ? lodOut - _lodMax + LOD_MIN : 0 );\n\t\tconst y = 4 * ( this._cubeSize - outputSize );\n\n\t\t_setViewport( targetOut, x, y, 3 * outputSize, 2 * outputSize );\n\t\trenderer.setRenderTarget( targetOut );\n\t\trenderer.render( blurMesh, _flatCamera );\n\n\t}\n\n}\n\n\n\nfunction _createPlanes( lodMax ) {\n\n\tconst lodPlanes = [];\n\tconst sizeLods = [];\n\tconst sigmas = [];\n\n\tlet lod = lodMax;\n\n\tconst totalLods = lodMax - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length;\n\n\tfor ( let i = 0; i < totalLods; i ++ ) {\n\n\t\tconst sizeLod = Math.pow( 2, lod );\n\t\tsizeLods.push( sizeLod );\n\t\tlet sigma = 1.0 / sizeLod;\n\n\t\tif ( i > lodMax - LOD_MIN ) {\n\n\t\t\tsigma = EXTRA_LOD_SIGMA[ i - lodMax + LOD_MIN - 1 ];\n\n\t\t} else if ( i === 0 ) {\n\n\t\t\tsigma = 0;\n\n\t\t}\n\n\t\tsigmas.push( sigma );\n\n\t\tconst texelSize = 1.0 / ( sizeLod - 2 );\n\t\tconst min = - texelSize;\n\t\tconst max = 1 + texelSize;\n\t\tconst uv1 = [ min, min, max, min, max, max, min, min, max, max, min, max ];\n\n\t\tconst cubeFaces = 6;\n\t\tconst vertices = 6;\n\t\tconst positionSize = 3;\n\t\tconst uvSize = 2;\n\t\tconst faceIndexSize = 1;\n\n\t\tconst position = new Float32Array( positionSize * vertices * cubeFaces );\n\t\tconst uv = new Float32Array( uvSize * vertices * cubeFaces );\n\t\tconst faceIndex = new Float32Array( faceIndexSize * vertices * cubeFaces );\n\n\t\tfor ( let face = 0; face < cubeFaces; face ++ ) {\n\n\t\t\tconst x = ( face % 3 ) * 2 / 3 - 1;\n\t\t\tconst y = face > 2 ? 0 : - 1;\n\t\t\tconst coordinates = [\n\t\t\t\tx, y, 0,\n\t\t\t\tx + 2 / 3, y, 0,\n\t\t\t\tx + 2 / 3, y + 1, 0,\n\t\t\t\tx, y, 0,\n\t\t\t\tx + 2 / 3, y + 1, 0,\n\t\t\t\tx, y + 1, 0\n\t\t\t];\n\t\t\tposition.set( coordinates, positionSize * vertices * face );\n\t\t\tuv.set( uv1, uvSize * vertices * face );\n\t\t\tconst fill = [ face, face, face, face, face, face ];\n\t\t\tfaceIndex.set( fill, faceIndexSize * vertices * face );\n\n\t\t}\n\n\t\tconst planes = new BufferGeometry();\n\t\tplanes.setAttribute( 'position', new BufferAttribute( position, positionSize ) );\n\t\tplanes.setAttribute( 'uv', new BufferAttribute( uv, uvSize ) );\n\t\tplanes.setAttribute( 'faceIndex', new BufferAttribute( faceIndex, faceIndexSize ) );\n\t\tlodPlanes.push( planes );\n\n\t\tif ( lod > LOD_MIN ) {\n\n\t\t\tlod --;\n\n\t\t}\n\n\t}\n\n\treturn { lodPlanes, sizeLods, sigmas };\n\n}\n\nfunction _createRenderTarget( width, height, params ) {\n\n\tconst cubeUVRenderTarget = new WebGLRenderTarget( width, height, params );\n\tcubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping;\n\tcubeUVRenderTarget.texture.name = 'PMREM.cubeUv';\n\tcubeUVRenderTarget.scissorTest = true;\n\treturn cubeUVRenderTarget;\n\n}\n\nfunction _setViewport( target, x, y, width, height ) {\n\n\ttarget.viewport.set( x, y, width, height );\n\ttarget.scissor.set( x, y, width, height );\n\n}\n\nfunction _getBlurShader( lodMax, width, height ) {\n\n\tconst weights = new Float32Array( MAX_SAMPLES );\n\tconst poleAxis = new Vector3( 0, 1, 0 );\n\tconst shaderMaterial = new ShaderMaterial( {\n\n\t\tname: 'SphericalGaussianBlur',\n\n\t\tdefines: {\n\t\t\t'n': MAX_SAMPLES,\n\t\t\t'CUBEUV_TEXEL_WIDTH': 1.0 / width,\n\t\t\t'CUBEUV_TEXEL_HEIGHT': 1.0 / height,\n\t\t\t'CUBEUV_MAX_MIP': `${lodMax}.0`,\n\t\t},\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null },\n\t\t\t'samples': { value: 1 },\n\t\t\t'weights': { value: weights },\n\t\t\t'latitudinal': { value: false },\n\t\t\t'dTheta': { value: 0 },\n\t\t\t'mipInt': { value: 0 },\n\t\t\t'poleAxis': { value: poleAxis }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n\treturn shaderMaterial;\n\n}\n\nfunction _getEquirectMaterial() {\n\n\treturn new ShaderMaterial( {\n\n\t\tname: 'EquirectangularToCubeUV',\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n}\n\nfunction _getCubemapMaterial() {\n\n\treturn new ShaderMaterial( {\n\n\t\tname: 'CubemapToCubeUV',\n\n\t\tuniforms: {\n\t\t\t'envMap': { value: null },\n\t\t\t'flipEnvMap': { value: - 1 }\n\t\t},\n\n\t\tvertexShader: _getCommonVertexShader(),\n\n\t\tfragmentShader: /* glsl */`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t`,\n\n\t\tblending: NoBlending,\n\t\tdepthTest: false,\n\t\tdepthWrite: false\n\n\t} );\n\n}\n\nfunction _getCommonVertexShader() {\n\n\treturn /* glsl */`\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t`;\n\n}\n\nexport { PMREMGenerator };\n","import { CubeReflectionMapping, CubeRefractionMapping, EquirectangularReflectionMapping, EquirectangularRefractionMapping } from '../../constants.js';\nimport { PMREMGenerator } from '../../extras/PMREMGenerator.js';\n\nfunction WebGLCubeUVMaps( renderer ) {\n\n\tlet cubeUVmaps = new WeakMap();\n\n\tlet pmremGenerator = null;\n\n\tfunction get( texture ) {\n\n\t\tif ( texture && texture.isTexture ) {\n\n\t\t\tconst mapping = texture.mapping;\n\n\t\t\tconst isEquirectMap = ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping );\n\t\t\tconst isCubeMap = ( mapping === CubeReflectionMapping || mapping === CubeRefractionMapping );\n\n\t\t\t// equirect/cube map to cubeUV conversion\n\n\t\t\tif ( isEquirectMap || isCubeMap ) {\n\n\t\t\t\tif ( texture.isRenderTargetTexture && texture.needsPMREMUpdate === true ) {\n\n\t\t\t\t\ttexture.needsPMREMUpdate = false;\n\n\t\t\t\t\tlet renderTarget = cubeUVmaps.get( texture );\n\n\t\t\t\t\tif ( pmremGenerator === null ) pmremGenerator = new PMREMGenerator( renderer );\n\n\t\t\t\t\trenderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular( texture, renderTarget ) : pmremGenerator.fromCubemap( texture, renderTarget );\n\t\t\t\t\tcubeUVmaps.set( texture, renderTarget );\n\n\t\t\t\t\treturn renderTarget.texture;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( cubeUVmaps.has( texture ) ) {\n\n\t\t\t\t\t\treturn cubeUVmaps.get( texture ).texture;\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tconst image = texture.image;\n\n\t\t\t\t\t\tif ( ( isEquirectMap && image && image.height > 0 ) || ( isCubeMap && image && isCubeTextureComplete( image ) ) ) {\n\n\t\t\t\t\t\t\tif ( pmremGenerator === null ) pmremGenerator = new PMREMGenerator( renderer );\n\n\t\t\t\t\t\t\tconst renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular( texture ) : pmremGenerator.fromCubemap( texture );\n\t\t\t\t\t\t\tcubeUVmaps.set( texture, renderTarget );\n\n\t\t\t\t\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t\t\t\t\t\treturn renderTarget.texture;\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// image not yet ready. try the conversion next frame\n\n\t\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction isCubeTextureComplete( image ) {\n\n\t\tlet count = 0;\n\t\tconst length = 6;\n\n\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\tif ( image[ i ] !== undefined ) count ++;\n\n\t\t}\n\n\t\treturn count === length;\n\n\n\t}\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tconst cubemapUV = cubeUVmaps.get( texture );\n\n\t\tif ( cubemapUV !== undefined ) {\n\n\t\t\tcubeUVmaps.delete( texture );\n\t\t\tcubemapUV.dispose();\n\n\t\t}\n\n\t}\n\n\tfunction dispose() {\n\n\t\tcubeUVmaps = new WeakMap();\n\n\t\tif ( pmremGenerator !== null ) {\n\n\t\t\tpmremGenerator.dispose();\n\t\t\tpmremGenerator = null;\n\n\t\t}\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\nexport { WebGLCubeUVMaps };\n","function WebGLExtensions( gl ) {\n\n\tconst extensions = {};\n\n\tfunction getExtension( name ) {\n\n\t\tif ( extensions[ name ] !== undefined ) {\n\n\t\t\treturn extensions[ name ];\n\n\t\t}\n\n\t\tlet extension;\n\n\t\tswitch ( name ) {\n\n\t\t\tcase 'WEBGL_depth_texture':\n\t\t\t\textension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'EXT_texture_filter_anisotropic':\n\t\t\t\textension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_s3tc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_pvrtc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\textension = gl.getExtension( name );\n\n\t\t}\n\n\t\textensions[ name ] = extension;\n\n\t\treturn extension;\n\n\t}\n\n\treturn {\n\n\t\thas: function ( name ) {\n\n\t\t\treturn getExtension( name ) !== null;\n\n\t\t},\n\n\t\tinit: function ( capabilities ) {\n\n\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\tgetExtension( 'EXT_color_buffer_float' );\n\n\t\t\t} else {\n\n\t\t\t\tgetExtension( 'WEBGL_depth_texture' );\n\t\t\t\tgetExtension( 'OES_texture_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float_linear' );\n\t\t\t\tgetExtension( 'OES_standard_derivatives' );\n\t\t\t\tgetExtension( 'OES_element_index_uint' );\n\t\t\t\tgetExtension( 'OES_vertex_array_object' );\n\t\t\t\tgetExtension( 'ANGLE_instanced_arrays' );\n\n\t\t\t}\n\n\t\t\tgetExtension( 'OES_texture_float_linear' );\n\t\t\tgetExtension( 'EXT_color_buffer_half_float' );\n\t\t\tgetExtension( 'WEBGL_multisampled_render_to_texture' );\n\n\t\t},\n\n\t\tget: function ( name ) {\n\n\t\t\tconst extension = getExtension( name );\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' );\n\n\t\t\t}\n\n\t\t\treturn extension;\n\n\t\t}\n\n\t};\n\n}\n\n\nexport { WebGLExtensions };\n","import { Uint16BufferAttribute, Uint32BufferAttribute } from '../../core/BufferAttribute.js';\nimport { arrayNeedsUint32 } from '../../utils.js';\n\nfunction WebGLGeometries( gl, attributes, info, bindingStates ) {\n\n\tconst geometries = {};\n\tconst wireframeAttributes = new WeakMap();\n\n\tfunction onGeometryDispose( event ) {\n\n\t\tconst geometry = event.target;\n\n\t\tif ( geometry.index !== null ) {\n\n\t\t\tattributes.remove( geometry.index );\n\n\t\t}\n\n\t\tfor ( const name in geometry.attributes ) {\n\n\t\t\tattributes.remove( geometry.attributes[ name ] );\n\n\t\t}\n\n\t\tgeometry.removeEventListener( 'dispose', onGeometryDispose );\n\n\t\tdelete geometries[ geometry.id ];\n\n\t\tconst attribute = wireframeAttributes.get( geometry );\n\n\t\tif ( attribute ) {\n\n\t\t\tattributes.remove( attribute );\n\t\t\twireframeAttributes.delete( geometry );\n\n\t\t}\n\n\t\tbindingStates.releaseStatesOfGeometry( geometry );\n\n\t\tif ( geometry.isInstancedBufferGeometry === true ) {\n\n\t\t\tdelete geometry._maxInstanceCount;\n\n\t\t}\n\n\t\t//\n\n\t\tinfo.memory.geometries --;\n\n\t}\n\n\tfunction get( object, geometry ) {\n\n\t\tif ( geometries[ geometry.id ] === true ) return geometry;\n\n\t\tgeometry.addEventListener( 'dispose', onGeometryDispose );\n\n\t\tgeometries[ geometry.id ] = true;\n\n\t\tinfo.memory.geometries ++;\n\n\t\treturn geometry;\n\n\t}\n\n\tfunction update( geometry ) {\n\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates.\n\n\t\tfor ( const name in geometryAttributes ) {\n\n\t\t\tattributes.update( geometryAttributes[ name ], gl.ARRAY_BUFFER );\n\n\t\t}\n\n\t\t// morph targets\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\n\t\tfor ( const name in morphAttributes ) {\n\n\t\t\tconst array = morphAttributes[ name ];\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tattributes.update( array[ i ], gl.ARRAY_BUFFER );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction updateWireframeAttribute( geometry ) {\n\n\t\tconst indices = [];\n\n\t\tconst geometryIndex = geometry.index;\n\t\tconst geometryPosition = geometry.attributes.position;\n\t\tlet version = 0;\n\n\t\tif ( geometryIndex !== null ) {\n\n\t\t\tconst array = geometryIndex.array;\n\t\t\tversion = geometryIndex.version;\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i += 3 ) {\n\n\t\t\t\tconst a = array[ i + 0 ];\n\t\t\t\tconst b = array[ i + 1 ];\n\t\t\t\tconst c = array[ i + 2 ];\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst array = geometryPosition.array;\n\t\t\tversion = geometryPosition.version;\n\n\t\t\tfor ( let i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {\n\n\t\t\t\tconst a = i + 0;\n\t\t\t\tconst b = i + 1;\n\t\t\t\tconst c = i + 2;\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst attribute = new ( arrayNeedsUint32( indices ) ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 );\n\t\tattribute.version = version;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates\n\n\t\t//\n\n\t\tconst previousAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( previousAttribute ) attributes.remove( previousAttribute );\n\n\t\t//\n\n\t\twireframeAttributes.set( geometry, attribute );\n\n\t}\n\n\tfunction getWireframeAttribute( geometry ) {\n\n\t\tconst currentAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( currentAttribute ) {\n\n\t\t\tconst geometryIndex = geometry.index;\n\n\t\t\tif ( geometryIndex !== null ) {\n\n\t\t\t\t// if the attribute is obsolete, create a new one\n\n\t\t\t\tif ( currentAttribute.version < geometryIndex.version ) {\n\n\t\t\t\t\tupdateWireframeAttribute( geometry );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tupdateWireframeAttribute( geometry );\n\n\t\t}\n\n\t\treturn wireframeAttributes.get( geometry );\n\n\t}\n\n\treturn {\n\n\t\tget: get,\n\t\tupdate: update,\n\n\t\tgetWireframeAttribute: getWireframeAttribute\n\n\t};\n\n}\n\n\nexport { WebGLGeometries };\n","function WebGLIndexedBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tlet type, bytesPerElement;\n\n\tfunction setIndex( value ) {\n\n\t\ttype = value.type;\n\t\tbytesPerElement = value.bytesPerElement;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawElements( mode, count, type, start * bytesPerElement );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawElementsInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawElementsInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, count, type, start * bytesPerElement, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.setIndex = setIndex;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\n\nexport { WebGLIndexedBufferRenderer };\n","function WebGLInfo( gl ) {\n\n\tconst memory = {\n\t\tgeometries: 0,\n\t\ttextures: 0\n\t};\n\n\tconst render = {\n\t\tframe: 0,\n\t\tcalls: 0,\n\t\ttriangles: 0,\n\t\tpoints: 0,\n\t\tlines: 0\n\t};\n\n\tfunction update( count, mode, instanceCount ) {\n\n\t\trender.calls ++;\n\n\t\tswitch ( mode ) {\n\n\t\t\tcase gl.TRIANGLES:\n\t\t\t\trender.triangles += instanceCount * ( count / 3 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINES:\n\t\t\t\trender.lines += instanceCount * ( count / 2 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINE_STRIP:\n\t\t\t\trender.lines += instanceCount * ( count - 1 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINE_LOOP:\n\t\t\t\trender.lines += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tcase gl.POINTS:\n\t\t\t\trender.points += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.error( 'THREE.WebGLInfo: Unknown draw mode:', mode );\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\tfunction reset() {\n\n\t\trender.frame ++;\n\t\trender.calls = 0;\n\t\trender.triangles = 0;\n\t\trender.points = 0;\n\t\trender.lines = 0;\n\n\t}\n\n\treturn {\n\t\tmemory: memory,\n\t\trender: render,\n\t\tprograms: null,\n\t\tautoReset: true,\n\t\treset: reset,\n\t\tupdate: update\n\t};\n\n}\n\n\nexport { WebGLInfo };\n","function WebGLObjects( gl, geometries, attributes, info ) {\n\n\tlet updateMap = new WeakMap();\n\n\tfunction update( object ) {\n\n\t\tconst frame = info.render.frame;\n\n\t\tconst geometry = object.geometry;\n\t\tconst buffergeometry = geometries.get( object, geometry );\n\n\t\t// Update once per frame\n\n\t\tif ( updateMap.get( buffergeometry ) !== frame ) {\n\n\t\t\tgeometries.update( buffergeometry );\n\n\t\t\tupdateMap.set( buffergeometry, frame );\n\n\t\t}\n\n\t\tif ( object.isInstancedMesh ) {\n\n\t\t\tif ( object.hasEventListener( 'dispose', onInstancedMeshDispose ) === false ) {\n\n\t\t\t\tobject.addEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\t\t}\n\n\t\t\tattributes.update( object.instanceMatrix, gl.ARRAY_BUFFER );\n\n\t\t\tif ( object.instanceColor !== null ) {\n\n\t\t\t\tattributes.update( object.instanceColor, gl.ARRAY_BUFFER );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn buffergeometry;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tupdateMap = new WeakMap();\n\n\t}\n\n\tfunction onInstancedMeshDispose( event ) {\n\n\t\tconst instancedMesh = event.target;\n\n\t\tinstancedMesh.removeEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\tattributes.remove( instancedMesh.instanceMatrix );\n\n\t\tif ( instancedMesh.instanceColor !== null ) attributes.remove( instancedMesh.instanceColor );\n\n\t}\n\n\treturn {\n\n\t\tupdate: update,\n\t\tdispose: dispose\n\n\t};\n\n}\n\n\nexport { WebGLObjects };\n","import { Texture } from './Texture.js';\nimport { ClampToEdgeWrapping, NearestFilter } from '../constants.js';\n\nclass DataArrayTexture extends Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\tsuper( null );\n\n\t\tthis.isDataArrayTexture = true;\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = NearestFilter;\n\t\tthis.minFilter = NearestFilter;\n\n\t\tthis.wrapR = ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t}\n\n}\n\nexport { DataArrayTexture };\n","import { Texture } from './Texture.js';\nimport { ClampToEdgeWrapping, NearestFilter } from '../constants.js';\n\nclass Data3DTexture extends Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\t// We're going to add .setXXX() methods for setting properties later.\n\t\t// Users can still set in DataTexture3D directly.\n\t\t//\n\t\t//\tconst texture = new THREE.DataTexture3D( data, width, height, depth );\n\t\t// \ttexture.anisotropy = 16;\n\t\t//\n\t\t// See #14839\n\n\t\tsuper( null );\n\n\t\tthis.isData3DTexture = true;\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = NearestFilter;\n\t\tthis.minFilter = NearestFilter;\n\n\t\tthis.wrapR = ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t}\n\n}\n\nexport { Data3DTexture };\n","/**\n * Uniforms of a program.\n * Those form a tree structure with a special top-level container for the root,\n * which you get by calling 'new WebGLUniforms( gl, program )'.\n *\n *\n * Properties of inner nodes including the top-level container:\n *\n * .seq - array of nested uniforms\n * .map - nested uniforms by name\n *\n *\n * Methods of all nodes except the top-level container:\n *\n * .setValue( gl, value, [textures] )\n *\n * \t\tuploads a uniform value(s)\n * \tthe 'textures' parameter is needed for sampler uniforms\n *\n *\n * Static methods of the top-level container (textures factorizations):\n *\n * .upload( gl, seq, values, textures )\n *\n * \t\tsets uniforms in 'seq' to 'values[id].value'\n *\n * .seqWithValue( seq, values ) : filteredSeq\n *\n * \t\tfilters 'seq' entries with corresponding entry in values\n *\n *\n * Methods of the top-level container (textures factorizations):\n *\n * .setValue( gl, name, value, textures )\n *\n * \t\tsets uniform with name 'name' to 'value'\n *\n * .setOptional( gl, obj, prop )\n *\n * \t\tlike .set for an optional property of the object\n *\n */\n\nimport { CubeTexture } from '../../textures/CubeTexture.js';\nimport { Texture } from '../../textures/Texture.js';\nimport { DataArrayTexture } from '../../textures/DataArrayTexture.js';\nimport { Data3DTexture } from '../../textures/Data3DTexture.js';\n\nconst emptyTexture = /*@__PURE__*/ new Texture();\nconst emptyArrayTexture = /*@__PURE__*/ new DataArrayTexture();\nconst empty3dTexture = /*@__PURE__*/ new Data3DTexture();\nconst emptyCubeTexture = /*@__PURE__*/ new CubeTexture();\n\n// --- Utilities ---\n\n// Array Caches (provide typed arrays for temporary by size)\n\nconst arrayCacheF32 = [];\nconst arrayCacheI32 = [];\n\n// Float32Array caches used for uploading Matrix uniforms\n\nconst mat4array = new Float32Array( 16 );\nconst mat3array = new Float32Array( 9 );\nconst mat2array = new Float32Array( 4 );\n\n// Flattening for arrays of vectors and matrices\n\nfunction flatten( array, nBlocks, blockSize ) {\n\n\tconst firstElem = array[ 0 ];\n\n\tif ( firstElem <= 0 || firstElem > 0 ) return array;\n\t// unoptimized: ! isNaN( firstElem )\n\t// see http://jacksondunstan.com/articles/983\n\n\tconst n = nBlocks * blockSize;\n\tlet r = arrayCacheF32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Float32Array( n );\n\t\tarrayCacheF32[ n ] = r;\n\n\t}\n\n\tif ( nBlocks !== 0 ) {\n\n\t\tfirstElem.toArray( r, 0 );\n\n\t\tfor ( let i = 1, offset = 0; i !== nBlocks; ++ i ) {\n\n\t\t\toffset += blockSize;\n\t\t\tarray[ i ].toArray( r, offset );\n\n\t\t}\n\n\t}\n\n\treturn r;\n\n}\n\nfunction arraysEqual( a, b ) {\n\n\tif ( a.length !== b.length ) return false;\n\n\tfor ( let i = 0, l = a.length; i < l; i ++ ) {\n\n\t\tif ( a[ i ] !== b[ i ] ) return false;\n\n\t}\n\n\treturn true;\n\n}\n\nfunction copyArray( a, b ) {\n\n\tfor ( let i = 0, l = b.length; i < l; i ++ ) {\n\n\t\ta[ i ] = b[ i ];\n\n\t}\n\n}\n\n// Texture unit allocation\n\nfunction allocTexUnits( textures, n ) {\n\n\tlet r = arrayCacheI32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Int32Array( n );\n\t\tarrayCacheI32[ n ] = r;\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\tr[ i ] = textures.allocateTextureUnit();\n\n\t}\n\n\treturn r;\n\n}\n\n// --- Setters ---\n\n// Note: Defining these methods externally, because they come in a bunch\n// and this way their names minify.\n\n// Single scalar\n\nfunction setValueV1f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1f( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single float vector (from flat array or THREE.VectorN)\n\nfunction setValueV2f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) {\n\n\t\t\tgl.uniform2f( this.addr, v.x, v.y );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform2fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV3f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) {\n\n\t\t\tgl.uniform3f( this.addr, v.x, v.y, v.z );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\n\t\t}\n\n\t} else if ( v.r !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.r || cache[ 1 ] !== v.g || cache[ 2 ] !== v.b ) {\n\n\t\t\tgl.uniform3f( this.addr, v.r, v.g, v.b );\n\n\t\t\tcache[ 0 ] = v.r;\n\t\t\tcache[ 1 ] = v.g;\n\t\t\tcache[ 2 ] = v.b;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform3fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV4f( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) {\n\n\t\t\tgl.uniform4f( this.addr, v.x, v.y, v.z, v.w );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\t\t\tcache[ 3 ] = v.w;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform4fv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\n// Single matrix (from flat array or THREE.MatrixN)\n\nfunction setValueM2( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix2fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat2array.set( elements );\n\n\t\tgl.uniformMatrix2fv( this.addr, false, mat2array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\nfunction setValueM3( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix3fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat3array.set( elements );\n\n\t\tgl.uniformMatrix3fv( this.addr, false, mat3array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\nfunction setValueM4( gl, v ) {\n\n\tconst cache = this.cache;\n\tconst elements = v.elements;\n\n\tif ( elements === undefined ) {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniformMatrix4fv( this.addr, false, v );\n\n\t\tcopyArray( cache, v );\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, elements ) ) return;\n\n\t\tmat4array.set( elements );\n\n\t\tgl.uniformMatrix4fv( this.addr, false, mat4array );\n\n\t\tcopyArray( cache, elements );\n\n\t}\n\n}\n\n// Single integer / boolean\n\nfunction setValueV1i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1i( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single integer / boolean vector (from flat array or THREE.VectorN)\n\nfunction setValueV2i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) {\n\n\t\t\tgl.uniform2i( this.addr, v.x, v.y );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform2iv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV3i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) {\n\n\t\t\tgl.uniform3i( this.addr, v.x, v.y, v.z );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform3iv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV4i( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) {\n\n\t\t\tgl.uniform4i( this.addr, v.x, v.y, v.z, v.w );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\t\t\tcache[ 3 ] = v.w;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform4iv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\n// Single unsigned integer\n\nfunction setValueV1ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( cache[ 0 ] === v ) return;\n\n\tgl.uniform1ui( this.addr, v );\n\n\tcache[ 0 ] = v;\n\n}\n\n// Single unsigned integer vector (from flat array or THREE.VectorN)\n\nfunction setValueV2ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) {\n\n\t\t\tgl.uniform2ui( this.addr, v.x, v.y );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform2uiv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV3ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) {\n\n\t\t\tgl.uniform3ui( this.addr, v.x, v.y, v.z );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform3uiv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\nfunction setValueV4ui( gl, v ) {\n\n\tconst cache = this.cache;\n\n\tif ( v.x !== undefined ) {\n\n\t\tif ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) {\n\n\t\t\tgl.uniform4ui( this.addr, v.x, v.y, v.z, v.w );\n\n\t\t\tcache[ 0 ] = v.x;\n\t\t\tcache[ 1 ] = v.y;\n\t\t\tcache[ 2 ] = v.z;\n\t\t\tcache[ 3 ] = v.w;\n\n\t\t}\n\n\t} else {\n\n\t\tif ( arraysEqual( cache, v ) ) return;\n\n\t\tgl.uniform4uiv( this.addr, v );\n\n\t\tcopyArray( cache, v );\n\n\t}\n\n}\n\n\n// Single texture (2D / Cube)\n\nfunction setValueT1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture2D( v || emptyTexture, unit );\n\n}\n\nfunction setValueT3D1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture3D( v || empty3dTexture, unit );\n\n}\n\nfunction setValueT6( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTextureCube( v || emptyCubeTexture, unit );\n\n}\n\nfunction setValueT2DArray1( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\tconst unit = textures.allocateTextureUnit();\n\n\tif ( cache[ 0 ] !== unit ) {\n\n\t\tgl.uniform1i( this.addr, unit );\n\t\tcache[ 0 ] = unit;\n\n\t}\n\n\ttextures.setTexture2DArray( v || emptyArrayTexture, unit );\n\n}\n\n// Helper to pick the right setter for the singular case\n\nfunction getSingularSetter( type ) {\n\n\tswitch ( type ) {\n\n\t\tcase 0x1406: return setValueV1f; // FLOAT\n\t\tcase 0x8b50: return setValueV2f; // _VEC2\n\t\tcase 0x8b51: return setValueV3f; // _VEC3\n\t\tcase 0x8b52: return setValueV4f; // _VEC4\n\n\t\tcase 0x8b5a: return setValueM2; // _MAT2\n\t\tcase 0x8b5b: return setValueM3; // _MAT3\n\t\tcase 0x8b5c: return setValueM4; // _MAT4\n\n\t\tcase 0x1404: case 0x8b56: return setValueV1i; // INT, BOOL\n\t\tcase 0x8b53: case 0x8b57: return setValueV2i; // _VEC2\n\t\tcase 0x8b54: case 0x8b58: return setValueV3i; // _VEC3\n\t\tcase 0x8b55: case 0x8b59: return setValueV4i; // _VEC4\n\n\t\tcase 0x1405: return setValueV1ui; // UINT\n\t\tcase 0x8dc6: return setValueV2ui; // _VEC2\n\t\tcase 0x8dc7: return setValueV3ui; // _VEC3\n\t\tcase 0x8dc8: return setValueV4ui; // _VEC4\n\n\t\tcase 0x8b5e: // SAMPLER_2D\n\t\tcase 0x8d66: // SAMPLER_EXTERNAL_OES\n\t\tcase 0x8dca: // INT_SAMPLER_2D\n\t\tcase 0x8dd2: // UNSIGNED_INT_SAMPLER_2D\n\t\tcase 0x8b62: // SAMPLER_2D_SHADOW\n\t\t\treturn setValueT1;\n\n\t\tcase 0x8b5f: // SAMPLER_3D\n\t\tcase 0x8dcb: // INT_SAMPLER_3D\n\t\tcase 0x8dd3: // UNSIGNED_INT_SAMPLER_3D\n\t\t\treturn setValueT3D1;\n\n\t\tcase 0x8b60: // SAMPLER_CUBE\n\t\tcase 0x8dcc: // INT_SAMPLER_CUBE\n\t\tcase 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE\n\t\tcase 0x8dc5: // SAMPLER_CUBE_SHADOW\n\t\t\treturn setValueT6;\n\n\t\tcase 0x8dc1: // SAMPLER_2D_ARRAY\n\t\tcase 0x8dcf: // INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW\n\t\t\treturn setValueT2DArray1;\n\n\t}\n\n}\n\n\n// Array of scalars\n\nfunction setValueV1fArray( gl, v ) {\n\n\tgl.uniform1fv( this.addr, v );\n\n}\n\n// Array of vectors (from flat array or array of THREE.VectorN)\n\nfunction setValueV2fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 2 );\n\n\tgl.uniform2fv( this.addr, data );\n\n}\n\nfunction setValueV3fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 3 );\n\n\tgl.uniform3fv( this.addr, data );\n\n}\n\nfunction setValueV4fArray( gl, v ) {\n\n\tconst data = flatten( v, this.size, 4 );\n\n\tgl.uniform4fv( this.addr, data );\n\n}\n\n// Array of matrices (from flat array or array of THREE.MatrixN)\n\nfunction setValueM2Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 4 );\n\n\tgl.uniformMatrix2fv( this.addr, false, data );\n\n}\n\nfunction setValueM3Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 9 );\n\n\tgl.uniformMatrix3fv( this.addr, false, data );\n\n}\n\nfunction setValueM4Array( gl, v ) {\n\n\tconst data = flatten( v, this.size, 16 );\n\n\tgl.uniformMatrix4fv( this.addr, false, data );\n\n}\n\n// Array of integer / boolean\n\nfunction setValueV1iArray( gl, v ) {\n\n\tgl.uniform1iv( this.addr, v );\n\n}\n\n// Array of integer / boolean vectors (from flat array)\n\nfunction setValueV2iArray( gl, v ) {\n\n\tgl.uniform2iv( this.addr, v );\n\n}\n\nfunction setValueV3iArray( gl, v ) {\n\n\tgl.uniform3iv( this.addr, v );\n\n}\n\nfunction setValueV4iArray( gl, v ) {\n\n\tgl.uniform4iv( this.addr, v );\n\n}\n\n// Array of unsigned integer\n\nfunction setValueV1uiArray( gl, v ) {\n\n\tgl.uniform1uiv( this.addr, v );\n\n}\n\n// Array of unsigned integer vectors (from flat array)\n\nfunction setValueV2uiArray( gl, v ) {\n\n\tgl.uniform2uiv( this.addr, v );\n\n}\n\nfunction setValueV3uiArray( gl, v ) {\n\n\tgl.uniform3uiv( this.addr, v );\n\n}\n\nfunction setValueV4uiArray( gl, v ) {\n\n\tgl.uniform4uiv( this.addr, v );\n\n}\n\n\n// Array of textures (2D / 3D / Cube / 2DArray)\n\nfunction setValueT1Array( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tif ( ! arraysEqual( cache, units ) ) {\n\n\t\tgl.uniform1iv( this.addr, units );\n\n\t\tcopyArray( cache, units );\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture2D( v[ i ] || emptyTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT3DArray( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tif ( ! arraysEqual( cache, units ) ) {\n\n\t\tgl.uniform1iv( this.addr, units );\n\n\t\tcopyArray( cache, units );\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture3D( v[ i ] || empty3dTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT6Array( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tif ( ! arraysEqual( cache, units ) ) {\n\n\t\tgl.uniform1iv( this.addr, units );\n\n\t\tcopyArray( cache, units );\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTextureCube( v[ i ] || emptyCubeTexture, units[ i ] );\n\n\t}\n\n}\n\nfunction setValueT2DArrayArray( gl, v, textures ) {\n\n\tconst cache = this.cache;\n\n\tconst n = v.length;\n\n\tconst units = allocTexUnits( textures, n );\n\n\tif ( ! arraysEqual( cache, units ) ) {\n\n\t\tgl.uniform1iv( this.addr, units );\n\n\t\tcopyArray( cache, units );\n\n\t}\n\n\tfor ( let i = 0; i !== n; ++ i ) {\n\n\t\ttextures.setTexture2DArray( v[ i ] || emptyArrayTexture, units[ i ] );\n\n\t}\n\n}\n\n\n// Helper to pick the right setter for a pure (bottom-level) array\n\nfunction getPureArraySetter( type ) {\n\n\tswitch ( type ) {\n\n\t\tcase 0x1406: return setValueV1fArray; // FLOAT\n\t\tcase 0x8b50: return setValueV2fArray; // _VEC2\n\t\tcase 0x8b51: return setValueV3fArray; // _VEC3\n\t\tcase 0x8b52: return setValueV4fArray; // _VEC4\n\n\t\tcase 0x8b5a: return setValueM2Array; // _MAT2\n\t\tcase 0x8b5b: return setValueM3Array; // _MAT3\n\t\tcase 0x8b5c: return setValueM4Array; // _MAT4\n\n\t\tcase 0x1404: case 0x8b56: return setValueV1iArray; // INT, BOOL\n\t\tcase 0x8b53: case 0x8b57: return setValueV2iArray; // _VEC2\n\t\tcase 0x8b54: case 0x8b58: return setValueV3iArray; // _VEC3\n\t\tcase 0x8b55: case 0x8b59: return setValueV4iArray; // _VEC4\n\n\t\tcase 0x1405: return setValueV1uiArray; // UINT\n\t\tcase 0x8dc6: return setValueV2uiArray; // _VEC2\n\t\tcase 0x8dc7: return setValueV3uiArray; // _VEC3\n\t\tcase 0x8dc8: return setValueV4uiArray; // _VEC4\n\n\t\tcase 0x8b5e: // SAMPLER_2D\n\t\tcase 0x8d66: // SAMPLER_EXTERNAL_OES\n\t\tcase 0x8dca: // INT_SAMPLER_2D\n\t\tcase 0x8dd2: // UNSIGNED_INT_SAMPLER_2D\n\t\tcase 0x8b62: // SAMPLER_2D_SHADOW\n\t\t\treturn setValueT1Array;\n\n\t\tcase 0x8b5f: // SAMPLER_3D\n\t\tcase 0x8dcb: // INT_SAMPLER_3D\n\t\tcase 0x8dd3: // UNSIGNED_INT_SAMPLER_3D\n\t\t\treturn setValueT3DArray;\n\n\t\tcase 0x8b60: // SAMPLER_CUBE\n\t\tcase 0x8dcc: // INT_SAMPLER_CUBE\n\t\tcase 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE\n\t\tcase 0x8dc5: // SAMPLER_CUBE_SHADOW\n\t\t\treturn setValueT6Array;\n\n\t\tcase 0x8dc1: // SAMPLER_2D_ARRAY\n\t\tcase 0x8dcf: // INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY\n\t\tcase 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW\n\t\t\treturn setValueT2DArrayArray;\n\n\t}\n\n}\n\n// --- Uniform Classes ---\n\nclass SingleUniform {\n\n\tconstructor( id, activeInfo, addr ) {\n\n\t\tthis.id = id;\n\t\tthis.addr = addr;\n\t\tthis.cache = [];\n\t\tthis.setValue = getSingularSetter( activeInfo.type );\n\n\t\t// this.path = activeInfo.name; // DEBUG\n\n\t}\n\n}\n\nclass PureArrayUniform {\n\n\tconstructor( id, activeInfo, addr ) {\n\n\t\tthis.id = id;\n\t\tthis.addr = addr;\n\t\tthis.cache = [];\n\t\tthis.size = activeInfo.size;\n\t\tthis.setValue = getPureArraySetter( activeInfo.type );\n\n\t\t// this.path = activeInfo.name; // DEBUG\n\n\t}\n\n}\n\nclass StructuredUniform {\n\n\tconstructor( id ) {\n\n\t\tthis.id = id;\n\n\t\tthis.seq = [];\n\t\tthis.map = {};\n\n\t}\n\n\tsetValue( gl, value, textures ) {\n\n\t\tconst seq = this.seq;\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ];\n\t\t\tu.setValue( gl, value[ u.id ], textures );\n\n\t\t}\n\n\t}\n\n}\n\n// --- Top-level ---\n\n// Parser - builds up the property tree from the path strings\n\nconst RePathPart = /(\\w+)(\\])?(\\[|\\.)?/g;\n\n// extracts\n// \t- the identifier (member name or array index)\n// - followed by an optional right bracket (found when array index)\n// - followed by an optional left bracket or dot (type of subscript)\n//\n// Note: These portions can be read in a non-overlapping fashion and\n// allow straightforward parsing of the hierarchy that WebGL encodes\n// in the uniform names.\n\nfunction addUniform( container, uniformObject ) {\n\n\tcontainer.seq.push( uniformObject );\n\tcontainer.map[ uniformObject.id ] = uniformObject;\n\n}\n\nfunction parseUniform( activeInfo, addr, container ) {\n\n\tconst path = activeInfo.name,\n\t\tpathLength = path.length;\n\n\t// reset RegExp object, because of the early exit of a previous run\n\tRePathPart.lastIndex = 0;\n\n\twhile ( true ) {\n\n\t\tconst match = RePathPart.exec( path ),\n\t\t\tmatchEnd = RePathPart.lastIndex;\n\n\t\tlet id = match[ 1 ];\n\t\tconst idIsIndex = match[ 2 ] === ']',\n\t\t\tsubscript = match[ 3 ];\n\n\t\tif ( idIsIndex ) id = id | 0; // convert to integer\n\n\t\tif ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) {\n\n\t\t\t// bare name or \"pure\" bottom-level array \"[0]\" suffix\n\n\t\t\taddUniform( container, subscript === undefined ?\n\t\t\t\tnew SingleUniform( id, activeInfo, addr ) :\n\t\t\t\tnew PureArrayUniform( id, activeInfo, addr ) );\n\n\t\t\tbreak;\n\n\t\t} else {\n\n\t\t\t// step into inner node / create it in case it doesn't exist\n\n\t\t\tconst map = container.map;\n\t\t\tlet next = map[ id ];\n\n\t\t\tif ( next === undefined ) {\n\n\t\t\t\tnext = new StructuredUniform( id );\n\t\t\t\taddUniform( container, next );\n\n\t\t\t}\n\n\t\t\tcontainer = next;\n\n\t\t}\n\n\t}\n\n}\n\n// Root Container\n\nclass WebGLUniforms {\n\n\tconstructor( gl, program ) {\n\n\t\tthis.seq = [];\n\t\tthis.map = {};\n\n\t\tconst n = gl.getProgramParameter( program, gl.ACTIVE_UNIFORMS );\n\n\t\tfor ( let i = 0; i < n; ++ i ) {\n\n\t\t\tconst info = gl.getActiveUniform( program, i ),\n\t\t\t\taddr = gl.getUniformLocation( program, info.name );\n\n\t\t\tparseUniform( info, addr, this );\n\n\t\t}\n\n\t}\n\n\tsetValue( gl, name, value, textures ) {\n\n\t\tconst u = this.map[ name ];\n\n\t\tif ( u !== undefined ) u.setValue( gl, value, textures );\n\n\t}\n\n\tsetOptional( gl, object, name ) {\n\n\t\tconst v = object[ name ];\n\n\t\tif ( v !== undefined ) this.setValue( gl, name, v );\n\n\t}\n\n\tstatic upload( gl, seq, values, textures ) {\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ],\n\t\t\t\tv = values[ u.id ];\n\n\t\t\tif ( v.needsUpdate !== false ) {\n\n\t\t\t\t// note: always updating when .needsUpdate is undefined\n\t\t\t\tu.setValue( gl, v.value, textures );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tstatic seqWithValue( seq, values ) {\n\n\t\tconst r = [];\n\n\t\tfor ( let i = 0, n = seq.length; i !== n; ++ i ) {\n\n\t\t\tconst u = seq[ i ];\n\t\t\tif ( u.id in values ) r.push( u );\n\n\t\t}\n\n\t\treturn r;\n\n\t}\n\n}\n\nexport { WebGLUniforms };\n","function WebGLShader( gl, type, string ) {\n\n\tconst shader = gl.createShader( type );\n\n\tgl.shaderSource( shader, string );\n\tgl.compileShader( shader );\n\n\treturn shader;\n\n}\n\nexport { WebGLShader };\n","export default /* glsl */`\n#ifdef USE_ALPHAMAP\n\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n\n#endif\n`;\n","import alphamap_fragment from './ShaderChunk/alphamap_fragment.glsl.js';\nimport alphamap_pars_fragment from './ShaderChunk/alphamap_pars_fragment.glsl.js';\nimport alphatest_fragment from './ShaderChunk/alphatest_fragment.glsl.js';\nimport alphatest_pars_fragment from './ShaderChunk/alphatest_pars_fragment.glsl.js';\nimport aomap_fragment from './ShaderChunk/aomap_fragment.glsl.js';\nimport aomap_pars_fragment from './ShaderChunk/aomap_pars_fragment.glsl.js';\nimport begin_vertex from './ShaderChunk/begin_vertex.glsl.js';\nimport beginnormal_vertex from './ShaderChunk/beginnormal_vertex.glsl.js';\nimport bsdfs from './ShaderChunk/bsdfs.glsl.js';\nimport iridescence_fragment from './ShaderChunk/iridescence_fragment.glsl.js';\nimport bumpmap_pars_fragment from './ShaderChunk/bumpmap_pars_fragment.glsl.js';\nimport clipping_planes_fragment from './ShaderChunk/clipping_planes_fragment.glsl.js';\nimport clipping_planes_pars_fragment from './ShaderChunk/clipping_planes_pars_fragment.glsl.js';\nimport clipping_planes_pars_vertex from './ShaderChunk/clipping_planes_pars_vertex.glsl.js';\nimport clipping_planes_vertex from './ShaderChunk/clipping_planes_vertex.glsl.js';\nimport color_fragment from './ShaderChunk/color_fragment.glsl.js';\nimport color_pars_fragment from './ShaderChunk/color_pars_fragment.glsl.js';\nimport color_pars_vertex from './ShaderChunk/color_pars_vertex.glsl.js';\nimport color_vertex from './ShaderChunk/color_vertex.glsl.js';\nimport common from './ShaderChunk/common.glsl.js';\nimport cube_uv_reflection_fragment from './ShaderChunk/cube_uv_reflection_fragment.glsl.js';\nimport defaultnormal_vertex from './ShaderChunk/defaultnormal_vertex.glsl.js';\nimport displacementmap_pars_vertex from './ShaderChunk/displacementmap_pars_vertex.glsl.js';\nimport displacementmap_vertex from './ShaderChunk/displacementmap_vertex.glsl.js';\nimport emissivemap_fragment from './ShaderChunk/emissivemap_fragment.glsl.js';\nimport emissivemap_pars_fragment from './ShaderChunk/emissivemap_pars_fragment.glsl.js';\nimport encodings_fragment from './ShaderChunk/encodings_fragment.glsl.js';\nimport encodings_pars_fragment from './ShaderChunk/encodings_pars_fragment.glsl.js';\nimport envmap_fragment from './ShaderChunk/envmap_fragment.glsl.js';\nimport envmap_common_pars_fragment from './ShaderChunk/envmap_common_pars_fragment.glsl.js';\nimport envmap_pars_fragment from './ShaderChunk/envmap_pars_fragment.glsl.js';\nimport envmap_pars_vertex from './ShaderChunk/envmap_pars_vertex.glsl.js';\nimport envmap_vertex from './ShaderChunk/envmap_vertex.glsl.js';\nimport fog_vertex from './ShaderChunk/fog_vertex.glsl.js';\nimport fog_pars_vertex from './ShaderChunk/fog_pars_vertex.glsl.js';\nimport fog_fragment from './ShaderChunk/fog_fragment.glsl.js';\nimport fog_pars_fragment from './ShaderChunk/fog_pars_fragment.glsl.js';\nimport gradientmap_pars_fragment from './ShaderChunk/gradientmap_pars_fragment.glsl.js';\nimport lightmap_fragment from './ShaderChunk/lightmap_fragment.glsl.js';\nimport lightmap_pars_fragment from './ShaderChunk/lightmap_pars_fragment.glsl.js';\nimport lights_lambert_fragment from './ShaderChunk/lights_lambert_fragment.glsl.js';\nimport lights_lambert_pars_fragment from './ShaderChunk/lights_lambert_pars_fragment.glsl.js';\nimport lights_pars_begin from './ShaderChunk/lights_pars_begin.glsl.js';\nimport envmap_physical_pars_fragment from './ShaderChunk/envmap_physical_pars_fragment.glsl.js';\nimport lights_toon_fragment from './ShaderChunk/lights_toon_fragment.glsl.js';\nimport lights_toon_pars_fragment from './ShaderChunk/lights_toon_pars_fragment.glsl.js';\nimport lights_phong_fragment from './ShaderChunk/lights_phong_fragment.glsl.js';\nimport lights_phong_pars_fragment from './ShaderChunk/lights_phong_pars_fragment.glsl.js';\nimport lights_physical_fragment from './ShaderChunk/lights_physical_fragment.glsl.js';\nimport lights_physical_pars_fragment from './ShaderChunk/lights_physical_pars_fragment.glsl.js';\nimport lights_fragment_begin from './ShaderChunk/lights_fragment_begin.glsl.js';\nimport lights_fragment_maps from './ShaderChunk/lights_fragment_maps.glsl.js';\nimport lights_fragment_end from './ShaderChunk/lights_fragment_end.glsl.js';\nimport logdepthbuf_fragment from './ShaderChunk/logdepthbuf_fragment.glsl.js';\nimport logdepthbuf_pars_fragment from './ShaderChunk/logdepthbuf_pars_fragment.glsl.js';\nimport logdepthbuf_pars_vertex from './ShaderChunk/logdepthbuf_pars_vertex.glsl.js';\nimport logdepthbuf_vertex from './ShaderChunk/logdepthbuf_vertex.glsl.js';\nimport map_fragment from './ShaderChunk/map_fragment.glsl.js';\nimport map_pars_fragment from './ShaderChunk/map_pars_fragment.glsl.js';\nimport map_particle_fragment from './ShaderChunk/map_particle_fragment.glsl.js';\nimport map_particle_pars_fragment from './ShaderChunk/map_particle_pars_fragment.glsl.js';\nimport metalnessmap_fragment from './ShaderChunk/metalnessmap_fragment.glsl.js';\nimport metalnessmap_pars_fragment from './ShaderChunk/metalnessmap_pars_fragment.glsl.js';\nimport morphcolor_vertex from './ShaderChunk/morphcolor_vertex.glsl.js';\nimport morphnormal_vertex from './ShaderChunk/morphnormal_vertex.glsl.js';\nimport morphtarget_pars_vertex from './ShaderChunk/morphtarget_pars_vertex.glsl.js';\nimport morphtarget_vertex from './ShaderChunk/morphtarget_vertex.glsl.js';\nimport normal_fragment_begin from './ShaderChunk/normal_fragment_begin.glsl.js';\nimport normal_fragment_maps from './ShaderChunk/normal_fragment_maps.glsl.js';\nimport normal_pars_fragment from './ShaderChunk/normal_pars_fragment.glsl.js';\nimport normal_pars_vertex from './ShaderChunk/normal_pars_vertex.glsl.js';\nimport normal_vertex from './ShaderChunk/normal_vertex.glsl.js';\nimport normalmap_pars_fragment from './ShaderChunk/normalmap_pars_fragment.glsl.js';\nimport clearcoat_normal_fragment_begin from './ShaderChunk/clearcoat_normal_fragment_begin.glsl.js';\nimport clearcoat_normal_fragment_maps from './ShaderChunk/clearcoat_normal_fragment_maps.glsl.js';\nimport clearcoat_pars_fragment from './ShaderChunk/clearcoat_pars_fragment.glsl.js';\nimport iridescence_pars_fragment from './ShaderChunk/iridescence_pars_fragment.glsl.js';\nimport output_fragment from './ShaderChunk/output_fragment.glsl.js';\nimport packing from './ShaderChunk/packing.glsl.js';\nimport premultiplied_alpha_fragment from './ShaderChunk/premultiplied_alpha_fragment.glsl.js';\nimport project_vertex from './ShaderChunk/project_vertex.glsl.js';\nimport dithering_fragment from './ShaderChunk/dithering_fragment.glsl.js';\nimport dithering_pars_fragment from './ShaderChunk/dithering_pars_fragment.glsl.js';\nimport roughnessmap_fragment from './ShaderChunk/roughnessmap_fragment.glsl.js';\nimport roughnessmap_pars_fragment from './ShaderChunk/roughnessmap_pars_fragment.glsl.js';\nimport shadowmap_pars_fragment from './ShaderChunk/shadowmap_pars_fragment.glsl.js';\nimport shadowmap_pars_vertex from './ShaderChunk/shadowmap_pars_vertex.glsl.js';\nimport shadowmap_vertex from './ShaderChunk/shadowmap_vertex.glsl.js';\nimport shadowmask_pars_fragment from './ShaderChunk/shadowmask_pars_fragment.glsl.js';\nimport skinbase_vertex from './ShaderChunk/skinbase_vertex.glsl.js';\nimport skinning_pars_vertex from './ShaderChunk/skinning_pars_vertex.glsl.js';\nimport skinning_vertex from './ShaderChunk/skinning_vertex.glsl.js';\nimport skinnormal_vertex from './ShaderChunk/skinnormal_vertex.glsl.js';\nimport specularmap_fragment from './ShaderChunk/specularmap_fragment.glsl.js';\nimport specularmap_pars_fragment from './ShaderChunk/specularmap_pars_fragment.glsl.js';\nimport tonemapping_fragment from './ShaderChunk/tonemapping_fragment.glsl.js';\nimport tonemapping_pars_fragment from './ShaderChunk/tonemapping_pars_fragment.glsl.js';\nimport transmission_fragment from './ShaderChunk/transmission_fragment.glsl.js';\nimport transmission_pars_fragment from './ShaderChunk/transmission_pars_fragment.glsl.js';\nimport uv_pars_fragment from './ShaderChunk/uv_pars_fragment.glsl.js';\nimport uv_pars_vertex from './ShaderChunk/uv_pars_vertex.glsl.js';\nimport uv_vertex from './ShaderChunk/uv_vertex.glsl.js';\nimport uv2_pars_fragment from './ShaderChunk/uv2_pars_fragment.glsl.js';\nimport uv2_pars_vertex from './ShaderChunk/uv2_pars_vertex.glsl.js';\nimport uv2_vertex from './ShaderChunk/uv2_vertex.glsl.js';\nimport worldpos_vertex from './ShaderChunk/worldpos_vertex.glsl.js';\n\nimport * as background from './ShaderLib/background.glsl.js';\nimport * as backgroundCube from './ShaderLib/backgroundCube.glsl.js';\nimport * as cube from './ShaderLib/cube.glsl.js';\nimport * as depth from './ShaderLib/depth.glsl.js';\nimport * as distanceRGBA from './ShaderLib/distanceRGBA.glsl.js';\nimport * as equirect from './ShaderLib/equirect.glsl.js';\nimport * as linedashed from './ShaderLib/linedashed.glsl.js';\nimport * as meshbasic from './ShaderLib/meshbasic.glsl.js';\nimport * as meshlambert from './ShaderLib/meshlambert.glsl.js';\nimport * as meshmatcap from './ShaderLib/meshmatcap.glsl.js';\nimport * as meshnormal from './ShaderLib/meshnormal.glsl.js';\nimport * as meshphong from './ShaderLib/meshphong.glsl.js';\nimport * as meshphysical from './ShaderLib/meshphysical.glsl.js';\nimport * as meshtoon from './ShaderLib/meshtoon.glsl.js';\nimport * as points from './ShaderLib/points.glsl.js';\nimport * as shadow from './ShaderLib/shadow.glsl.js';\nimport * as sprite from './ShaderLib/sprite.glsl.js';\n\nexport const ShaderChunk = {\n\talphamap_fragment: alphamap_fragment,\n\talphamap_pars_fragment: alphamap_pars_fragment,\n\talphatest_fragment: alphatest_fragment,\n\talphatest_pars_fragment: alphatest_pars_fragment,\n\taomap_fragment: aomap_fragment,\n\taomap_pars_fragment: aomap_pars_fragment,\n\tbegin_vertex: begin_vertex,\n\tbeginnormal_vertex: beginnormal_vertex,\n\tbsdfs: bsdfs,\n\tiridescence_fragment: iridescence_fragment,\n\tbumpmap_pars_fragment: bumpmap_pars_fragment,\n\tclipping_planes_fragment: clipping_planes_fragment,\n\tclipping_planes_pars_fragment: clipping_planes_pars_fragment,\n\tclipping_planes_pars_vertex: clipping_planes_pars_vertex,\n\tclipping_planes_vertex: clipping_planes_vertex,\n\tcolor_fragment: color_fragment,\n\tcolor_pars_fragment: color_pars_fragment,\n\tcolor_pars_vertex: color_pars_vertex,\n\tcolor_vertex: color_vertex,\n\tcommon: common,\n\tcube_uv_reflection_fragment: cube_uv_reflection_fragment,\n\tdefaultnormal_vertex: defaultnormal_vertex,\n\tdisplacementmap_pars_vertex: displacementmap_pars_vertex,\n\tdisplacementmap_vertex: displacementmap_vertex,\n\temissivemap_fragment: emissivemap_fragment,\n\temissivemap_pars_fragment: emissivemap_pars_fragment,\n\tencodings_fragment: encodings_fragment,\n\tencodings_pars_fragment: encodings_pars_fragment,\n\tenvmap_fragment: envmap_fragment,\n\tenvmap_common_pars_fragment: envmap_common_pars_fragment,\n\tenvmap_pars_fragment: envmap_pars_fragment,\n\tenvmap_pars_vertex: envmap_pars_vertex,\n\tenvmap_physical_pars_fragment: envmap_physical_pars_fragment,\n\tenvmap_vertex: envmap_vertex,\n\tfog_vertex: fog_vertex,\n\tfog_pars_vertex: fog_pars_vertex,\n\tfog_fragment: fog_fragment,\n\tfog_pars_fragment: fog_pars_fragment,\n\tgradientmap_pars_fragment: gradientmap_pars_fragment,\n\tlightmap_fragment: lightmap_fragment,\n\tlightmap_pars_fragment: lightmap_pars_fragment,\n\tlights_lambert_fragment: lights_lambert_fragment,\n\tlights_lambert_pars_fragment: lights_lambert_pars_fragment,\n\tlights_pars_begin: lights_pars_begin,\n\tlights_toon_fragment: lights_toon_fragment,\n\tlights_toon_pars_fragment: lights_toon_pars_fragment,\n\tlights_phong_fragment: lights_phong_fragment,\n\tlights_phong_pars_fragment: lights_phong_pars_fragment,\n\tlights_physical_fragment: lights_physical_fragment,\n\tlights_physical_pars_fragment: lights_physical_pars_fragment,\n\tlights_fragment_begin: lights_fragment_begin,\n\tlights_fragment_maps: lights_fragment_maps,\n\tlights_fragment_end: lights_fragment_end,\n\tlogdepthbuf_fragment: logdepthbuf_fragment,\n\tlogdepthbuf_pars_fragment: logdepthbuf_pars_fragment,\n\tlogdepthbuf_pars_vertex: logdepthbuf_pars_vertex,\n\tlogdepthbuf_vertex: logdepthbuf_vertex,\n\tmap_fragment: map_fragment,\n\tmap_pars_fragment: map_pars_fragment,\n\tmap_particle_fragment: map_particle_fragment,\n\tmap_particle_pars_fragment: map_particle_pars_fragment,\n\tmetalnessmap_fragment: metalnessmap_fragment,\n\tmetalnessmap_pars_fragment: metalnessmap_pars_fragment,\n\tmorphcolor_vertex: morphcolor_vertex,\n\tmorphnormal_vertex: morphnormal_vertex,\n\tmorphtarget_pars_vertex: morphtarget_pars_vertex,\n\tmorphtarget_vertex: morphtarget_vertex,\n\tnormal_fragment_begin: normal_fragment_begin,\n\tnormal_fragment_maps: normal_fragment_maps,\n\tnormal_pars_fragment: normal_pars_fragment,\n\tnormal_pars_vertex: normal_pars_vertex,\n\tnormal_vertex: normal_vertex,\n\tnormalmap_pars_fragment: normalmap_pars_fragment,\n\tclearcoat_normal_fragment_begin: clearcoat_normal_fragment_begin,\n\tclearcoat_normal_fragment_maps: clearcoat_normal_fragment_maps,\n\tclearcoat_pars_fragment: clearcoat_pars_fragment,\n\tiridescence_pars_fragment: iridescence_pars_fragment,\n\toutput_fragment: output_fragment,\n\tpacking: packing,\n\tpremultiplied_alpha_fragment: premultiplied_alpha_fragment,\n\tproject_vertex: project_vertex,\n\tdithering_fragment: dithering_fragment,\n\tdithering_pars_fragment: dithering_pars_fragment,\n\troughnessmap_fragment: roughnessmap_fragment,\n\troughnessmap_pars_fragment: roughnessmap_pars_fragment,\n\tshadowmap_pars_fragment: shadowmap_pars_fragment,\n\tshadowmap_pars_vertex: shadowmap_pars_vertex,\n\tshadowmap_vertex: shadowmap_vertex,\n\tshadowmask_pars_fragment: shadowmask_pars_fragment,\n\tskinbase_vertex: skinbase_vertex,\n\tskinning_pars_vertex: skinning_pars_vertex,\n\tskinning_vertex: skinning_vertex,\n\tskinnormal_vertex: skinnormal_vertex,\n\tspecularmap_fragment: specularmap_fragment,\n\tspecularmap_pars_fragment: specularmap_pars_fragment,\n\ttonemapping_fragment: tonemapping_fragment,\n\ttonemapping_pars_fragment: tonemapping_pars_fragment,\n\ttransmission_fragment: transmission_fragment,\n\ttransmission_pars_fragment: transmission_pars_fragment,\n\tuv_pars_fragment: uv_pars_fragment,\n\tuv_pars_vertex: uv_pars_vertex,\n\tuv_vertex: uv_vertex,\n\tuv2_pars_fragment: uv2_pars_fragment,\n\tuv2_pars_vertex: uv2_pars_vertex,\n\tuv2_vertex: uv2_vertex,\n\tworldpos_vertex: worldpos_vertex,\n\n\tbackground_vert: background.vertex,\n\tbackground_frag: background.fragment,\n\tbackgroundCube_vert: backgroundCube.vertex,\n\tbackgroundCube_frag: backgroundCube.fragment,\n\tcube_vert: cube.vertex,\n\tcube_frag: cube.fragment,\n\tdepth_vert: depth.vertex,\n\tdepth_frag: depth.fragment,\n\tdistanceRGBA_vert: distanceRGBA.vertex,\n\tdistanceRGBA_frag: distanceRGBA.fragment,\n\tequirect_vert: equirect.vertex,\n\tequirect_frag: equirect.fragment,\n\tlinedashed_vert: linedashed.vertex,\n\tlinedashed_frag: linedashed.fragment,\n\tmeshbasic_vert: meshbasic.vertex,\n\tmeshbasic_frag: meshbasic.fragment,\n\tmeshlambert_vert: meshlambert.vertex,\n\tmeshlambert_frag: meshlambert.fragment,\n\tmeshmatcap_vert: meshmatcap.vertex,\n\tmeshmatcap_frag: meshmatcap.fragment,\n\tmeshnormal_vert: meshnormal.vertex,\n\tmeshnormal_frag: meshnormal.fragment,\n\tmeshphong_vert: meshphong.vertex,\n\tmeshphong_frag: meshphong.fragment,\n\tmeshphysical_vert: meshphysical.vertex,\n\tmeshphysical_frag: meshphysical.fragment,\n\tmeshtoon_vert: meshtoon.vertex,\n\tmeshtoon_frag: meshtoon.fragment,\n\tpoints_vert: points.vertex,\n\tpoints_frag: points.fragment,\n\tshadow_vert: shadow.vertex,\n\tshadow_frag: shadow.fragment,\n\tsprite_vert: sprite.vertex,\n\tsprite_frag: sprite.fragment\n};\n","export default /* glsl */`\n#ifdef USE_ALPHAMAP\n\n\tuniform sampler2D alphaMap;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ALPHATEST\n\n\tif ( diffuseColor.a < alphaTest ) discard;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_AOMAP\n\n\t// reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_AOMAP\n\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n\n#endif\n`;\n","export default /* glsl */`\nvec3 transformed = vec3( position );\n`;\n","export default /* glsl */`\nvec3 objectNormal = vec3( normal );\n\n#ifdef USE_TANGENT\n\n\tvec3 objectTangent = vec3( tangent.xyz );\n\n#endif\n`;\n","export default /* glsl */`\n\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\n\treturn RECIPROCAL_PI * diffuseColor;\n\n} // validated\n\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\n\t// Original approximation by Christophe Schlick '94\n\t// float fresnel = pow( 1.0 - dotVH, 5.0 );\n\n\t// Optimized variant (presented by Epic at SIGGRAPH '13)\n\t// https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n\n} // validated\n\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\n\t// Original approximation by Christophe Schlick '94\n\t// float fresnel = pow( 1.0 - dotVH, 5.0 );\n\n\t// Optimized variant (presented by Epic at SIGGRAPH '13)\n\t// https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n\n} // validated\n\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\n\n// Moving Frostbite to Physically Based Rendering 3.0 - page 12, listing 2\n// https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\n\tfloat a2 = pow2( alpha );\n\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\n\treturn 0.5 / max( gv + gl, EPSILON );\n\n}\n\n// Microfacet Models for Refraction through Rough Surfaces - equation (33)\n// http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html\n// alpha is \"roughness squared\" in Disney’s reparameterization\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\n\tfloat a2 = pow2( alpha );\n\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; // avoid alpha = 0 with dotNH = 1\n\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n\n}\n\n// GGX Distribution, Schlick Fresnel, GGX_SmithCorrelated Visibility\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\n\tfloat alpha = pow2( roughness ); // UE4's roughness\n\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\n\tfloat D = D_GGX( alpha, dotNH );\n\n\treturn F * ( V * D );\n\n}\n\n#ifdef USE_IRIDESCENCE\n\n\tvec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\n\n\t\tfloat alpha = pow2( roughness ); // UE4's roughness\n\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\n\t\tvec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );\n\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\n\t\tfloat D = D_GGX( alpha, dotNH );\n\n\t\treturn F * ( V * D );\n\n\t}\n\n#endif\n\n// Rect Area Light\n\n// Real-Time Polygonal-Light Shading with Linearly Transformed Cosines\n// by Eric Heitz, Jonathan Dupuy, Stephen Hill and David Neubelt\n// code: https://github.com/selfshadow/ltc_code/\n\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\n\tfloat dotNV = saturate( dot( N, V ) );\n\n\t// texture parameterized by sqrt( GGX alpha ) and sqrt( 1 - cos( theta ) )\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\n\treturn uv;\n\n}\n\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\n\t// Real-Time Area Lighting: a Journey from Research to Production (p.102)\n\t// An approximation of the form factor of a horizon-clipped rectangle.\n\n\tfloat l = length( f );\n\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n\n}\n\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\n\tfloat x = dot( v1, v2 );\n\n\tfloat y = abs( x );\n\n\t// rational polynomial approximation to theta / sin( theta ) / 2PI\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\n\treturn cross( v1, v2 ) * theta_sintheta;\n\n}\n\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\n\t// bail if point is on back side of plane of light\n\t// assumes ccw winding order of light vertices\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\n\t// construct orthonormal basis around N\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 ); // negated from paper; possibly due to a different handedness of world coordinate system\n\n\t// compute transform\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\n\t// transform rect\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\n\t// project rect onto sphere\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\n\t// calculate vector form factor\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\n\t// adjust for horizon clipping\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\n/*\n\t// alternate method of adjusting for horizon clipping (see referece)\n\t// refactoring required\n\tfloat len = length( vectorFormFactor );\n\tfloat z = vectorFormFactor.z / len;\n\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\n\t// tabulated horizon-clipped sphere, apparently...\n\tvec2 uv = vec2( z * 0.5 + 0.5, len );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\n\tfloat scale = texture2D( ltc_2, uv ).w;\n\n\tfloat result = len * scale;\n*/\n\n\treturn vec3( result );\n\n}\n\n// End Rect Area Light\n\n\nfloat G_BlinnPhong_Implicit( /* const in float dotNL, const in float dotNV */ ) {\n\n\t// geometry term is (n dot l)(n dot v) / 4(n dot l)(n dot v)\n\treturn 0.25;\n\n}\n\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n\n}\n\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\n\tfloat G = G_BlinnPhong_Implicit( /* dotNL, dotNV */ );\n\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\n\treturn F * ( G * D );\n\n} // validated\n\n#if defined( USE_SHEEN )\n\n// https://github.com/google/filament/blob/master/shaders/src/brdf.fs\nfloat D_Charlie( float roughness, float dotNH ) {\n\n\tfloat alpha = pow2( roughness );\n\n\t// Estevez and Kulla 2017, \"Production Friendly Microfacet Sheen BRDF\"\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 ); // 2^(-14/2), so sin2h^2 > 0 in fp16\n\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n\n}\n\n// https://github.com/google/filament/blob/master/shaders/src/brdf.fs\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\n\t// Neubelt and Pettineo 2013, \"Crafting a Next-gen Material Pipeline for The Order: 1886\"\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n\n}\n\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\n\treturn sheenColor * ( D * V );\n\n}\n\n#endif\n`;\n","export default /* glsl */`\n\n#ifdef USE_IRIDESCENCE\n\n\t// XYZ to linear-sRGB color space\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660, 0.0556434,\n\t\t-1.5371385, 1.8760108, -0.2040259,\n\t\t-0.4985314, 0.0415560, 1.0572252\n\t);\n\n\t// Assume air interface for top\n\t// Note: We don't handle the case fresnel0 == 1\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\n\t}\n\n\t// Conversion FO/IOR\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\n\t}\n\n\t// ior is a value between 1.0 and 3.0. 1.0 is air interface\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\n\t}\n\n\t// Fresnel equations for dielectric/dielectric interfaces.\n\t// Ref: https://belcour.github.io/blog/research/2017/05/01/brdf-thin-film.html\n\t// Evaluation XYZ sensitivity curves in Fourier space\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\n\t}\n\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\n\t\tvec3 I;\n\n\t\t// Force iridescenceIOR -> outsideIOR when thinFilmThickness -> 0.0\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\t// Evaluate the cosTheta on the base layer (Snell law)\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\n\t\t// Handle TIR:\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\n\t\t\t return vec3( 1.0 );\n\n\t\t}\n\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\n\t\t// First interface\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\n\t\t// Second interface\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); // guard against 1.0\n\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\n\t\t// Phase shift\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\n\t\t// Compound terms\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\n\t\t// Reflectance term for m = 0 (DC term amplitude)\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\n\t\t// Reflectance term for m > 0 (pairs of diracs)\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\n\t\t}\n\n\t\t// Since out of gamut colors might be produced, negative color values are clamped to 0.\n\t\treturn max( I, vec3( 0.0 ) );\n\n\t}\n\n#endif\n\n`;\n","export default /* glsl */`\n#ifdef USE_BUMPMAP\n\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\n\t// Bump Mapping Unparametrized Surfaces on the GPU by Morten S. Mikkelsen\n\t// https://mmikk.github.io/papers3d/mm_sfgrad_bump.pdf\n\n\t// Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2)\n\n\tvec2 dHdxy_fwd() {\n\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\n\t\treturn vec2( dBx, dBy );\n\n\t}\n\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm; // normalized\n\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvec4 plane;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\n\t\tbool clipped = true;\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t\tif ( clipped ) discard;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvarying vec3 vClipPosition;\n\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n\n#endif\n`;\n","export default /* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvarying vec3 vClipPosition;\n\n#endif\n`;\n","export default /* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvClipPosition = - mvPosition.xyz;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_COLOR_ALPHA )\n\n\tdiffuseColor *= vColor;\n\n#elif defined( USE_COLOR )\n\n\tdiffuseColor.rgb *= vColor;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_COLOR_ALPHA )\n\n\tvarying vec4 vColor;\n\n#elif defined( USE_COLOR )\n\n\tvarying vec3 vColor;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_COLOR_ALPHA )\n\n\tvarying vec4 vColor;\n\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\n\tvarying vec3 vColor;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_COLOR_ALPHA )\n\n\tvColor = vec4( 1.0 );\n\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\n\tvColor = vec3( 1.0 );\n\n#endif\n\n#ifdef USE_COLOR\n\n\tvColor *= color;\n\n#endif\n\n#ifdef USE_INSTANCING_COLOR\n\n\tvColor.xyz *= instanceColor.xyz;\n\n#endif\n`;\n","export default /* glsl */`\n#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n\n#ifndef saturate\n// may have defined saturate() already\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\n\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\n\n// expects values in the range of [0,1]x[0,1], returns values in the [0,1] range.\n// do not collapse into a single function per: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand( const in vec2 uv ) {\n\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\n\treturn fract( sin( sn ) * c );\n\n}\n\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\n\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\n\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\n\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\n\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n}\n\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t// dir can be either a direction vector or a normal vector\n\t// upper-left 3x3 of matrix is assumed to be orthogonal\n\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n\n}\n\nmat3 transposeMat3( const in mat3 m ) {\n\n\tmat3 tmp;\n\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\n\treturn tmp;\n\n}\n\nfloat luminance( const in vec3 rgb ) {\n\n\t// assumes rgb is in linear color space with sRGB primaries and D65 white point\n\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\n\treturn dot( weights, rgb );\n\n}\n\nbool isPerspectiveMatrix( mat4 m ) {\n\n\treturn m[ 2 ][ 3 ] == - 1.0;\n\n}\n\nvec2 equirectUv( in vec3 dir ) {\n\n\t// dir is assumed to be unit length\n\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\n\treturn vec2( u, v );\n\n}\n`;\n","export default /* glsl */`\n#ifdef ENVMAP_TYPE_CUBE_UV\n\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\n\t// These shader functions convert between the UV coordinates of a single face of\n\t// a cubemap, the 0-5 integer index of a cube face, and the direction vector for\n\t// sampling a textureCube (not generally normalized ).\n\n\tfloat getFace( vec3 direction ) {\n\n\t\tvec3 absDirection = abs( direction );\n\n\t\tfloat face = - 1.0;\n\n\t\tif ( absDirection.x > absDirection.z ) {\n\n\t\t\tif ( absDirection.x > absDirection.y )\n\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\n\t\t\telse\n\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\n\t\t} else {\n\n\t\t\tif ( absDirection.z > absDirection.y )\n\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\n\t\t\telse\n\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\n\t\t}\n\n\t\treturn face;\n\n\t}\n\n\t// RH coordinate system; PMREM face-indexing convention\n\tvec2 getUV( vec3 direction, float face ) {\n\n\t\tvec2 uv;\n\n\t\tif ( face == 0.0 ) {\n\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x ); // pos x\n\n\t\t} else if ( face == 1.0 ) {\n\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y ); // pos y\n\n\t\t} else if ( face == 2.0 ) {\n\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z ); // pos z\n\n\t\t} else if ( face == 3.0 ) {\n\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x ); // neg x\n\n\t\t} else if ( face == 4.0 ) {\n\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y ); // neg y\n\n\t\t} else {\n\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z ); // neg z\n\n\t\t}\n\n\t\treturn 0.5 * ( uv + 1.0 );\n\n\t}\n\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\n\t\tfloat face = getFace( direction );\n\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\n\t\tfloat faceSize = exp2( mipInt );\n\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\n\t\tif ( face > 2.0 ) {\n\n\t\t\tuv.y += faceSize;\n\n\t\t\tface -= 3.0;\n\n\t\t}\n\n\t\tuv.x += face * faceSize;\n\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\n\t\t#ifdef texture2DGradEXT\n\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; // disable anisotropic filtering\n\n\t\t#else\n\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\n\t\t#endif\n\n\t}\n\n\t// These defines must match with PMREMGenerator\n\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\n\tfloat roughnessToMip( float roughness ) {\n\n\t\tfloat mip = 0.0;\n\n\t\tif ( roughness >= cubeUV_r1 ) {\n\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\n\t\t} else {\n\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness ); // 1.16 = 1.79^0.25\n\t\t}\n\n\t\treturn mip;\n\n\t}\n\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\n\t\tfloat mipF = fract( mip );\n\n\t\tfloat mipInt = floor( mip );\n\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\n\t\tif ( mipF == 0.0 ) {\n\n\t\t\treturn vec4( color0, 1.0 );\n\n\t\t} else {\n\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\n\t\t}\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\nvec3 transformedNormal = objectNormal;\n\n#ifdef USE_INSTANCING\n\n\t// this is in lieu of a per-instance normal-matrix\n\t// shear transforms in the instance matrix are not supported\n\n\tmat3 m = mat3( instanceMatrix );\n\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\n\ttransformedNormal = m * transformedNormal;\n\n#endif\n\ntransformedNormal = normalMatrix * transformedNormal;\n\n#ifdef FLIP_SIDED\n\n\ttransformedNormal = - transformedNormal;\n\n#endif\n\n#ifdef USE_TANGENT\n\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\n\t#ifdef FLIP_SIDED\n\n\t\ttransformedTangent = - transformedTangent;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_DISPLACEMENTMAP\n\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_DISPLACEMENTMAP\n\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_EMISSIVEMAP\n\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_EMISSIVEMAP\n\n\tuniform sampler2D emissiveMap;\n\n#endif\n`;\n","export default /* glsl */`\ngl_FragColor = linearToOutputTexel( gl_FragColor );\n`;\n","export default /* glsl */`\n\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\n\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\n\n`;\n","export default /* glsl */`\n#ifdef USE_ENVMAP\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvec3 cameraToFrag;\n\n\t\tif ( isOrthographic ) {\n\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\n\t\t} else {\n\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\n\t\t}\n\n\t\t// Transforming Normal Vectors with the Inverse Transformation\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\n\t\t#else\n\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\n\t\t#endif\n\n\t#else\n\n\t\tvec3 reflectVec = vReflect;\n\n\t#endif\n\n\t#ifdef ENVMAP_TYPE_CUBE\n\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\n\t#else\n\n\t\tvec4 envColor = vec4( 0.0 );\n\n\t#endif\n\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ENVMAP\n\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ENVMAP\n\n\tuniform float reflectivity;\n\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\n\t\t#define ENV_WORLDPOS\n\n\t#endif\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ENVMAP\n\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\n\t\t#define ENV_WORLDPOS\n\n\t#endif\n\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\n\t#else\n\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_ENVMAP )\n\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\n\t\t#else\n\n\t\t\treturn vec3( 0.0 );\n\n\t\t#endif\n\n\t}\n\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\n\t\t\t// Mixing the reflection with the normal is more accurate and keeps rough objects from gathering light from behind their tangent plane.\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\n\t\t#else\n\n\t\t\treturn vec3( 0.0 );\n\n\t\t#endif\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ENVMAP\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvWorldPosition = worldPosition.xyz;\n\n\t#else\n\n\t\tvec3 cameraToVertex;\n\n\t\tif ( isOrthographic ) {\n\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\n\t\t} else {\n\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\n\t\t}\n\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\n\t\t#else\n\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\n\t\t#endif\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_FOG\n\n\tvFogDepth = - mvPosition.z;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_FOG\n\n\tvarying float vFogDepth;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_FOG\n\n\t#ifdef FOG_EXP2\n\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\n\t#else\n\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\n\t#endif\n\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_FOG\n\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\n\t#ifdef FOG_EXP2\n\n\t\tuniform float fogDensity;\n\n\t#else\n\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n\n#ifdef USE_GRADIENTMAP\n\n\tuniform sampler2D gradientMap;\n\n#endif\n\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\n\t// dotNL will be from -1.0 to 1.0\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\n\t#ifdef USE_GRADIENTMAP\n\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\n\t#else\n\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\n\t#endif\n\n}\n`;\n","export default /* glsl */`\n#ifdef USE_LIGHTMAP\n\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_LIGHTMAP\n\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n\n#endif\n`;\n","export default /* glsl */`\nLambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;\n`;\n","export default /* glsl */`\nvarying vec3 vViewPosition;\n\nstruct LambertMaterial {\n\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n\n};\n\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert\n\n#define Material_LightProbeLOD( material )\t(0)\n`;\n","export default /* glsl */`\nuniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\n\n// get the irradiance (radiance convolved with cosine lobe) at the point 'normal' on the unit sphere\n// source: https://graphics.stanford.edu/papers/envmap/envmap.pdf\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\n\t// normal is assumed to have unit length\n\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\n\t// band 0\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\n\t// band 1\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\n\t// band 2\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\n\treturn result;\n\n}\n\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\n\treturn irradiance;\n\n}\n\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\n\tvec3 irradiance = ambientLightColor;\n\n\treturn irradiance;\n\n}\n\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\n\t\t// based upon Frostbite 3 Moving to Physically-based Rendering\n\t\t// page 32, equation 26: E[window1]\n\t\t// https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\n\t\tif ( cutoffDistance > 0.0 ) {\n\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\n\t\t}\n\n\t\treturn distanceFalloff;\n\n\t#else\n\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\n\t\t}\n\n\t\treturn 1.0;\n\n\t#endif\n\n}\n\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n\n}\n\n#if NUM_DIR_LIGHTS > 0\n\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\n\t}\n\n#endif\n\n\n#if NUM_POINT_LIGHTS > 0\n\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\n\t// light is an out parameter as having it as a return value caused compiler errors on some devices\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\n\t\tlight.direction = normalize( lVector );\n\n\t\tfloat lightDistance = length( lVector );\n\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\n\t}\n\n#endif\n\n\n#if NUM_SPOT_LIGHTS > 0\n\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\n\t// light is an out parameter as having it as a return value caused compiler errors on some devices\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\n\t\tlight.direction = normalize( lVector );\n\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\n\t\tif ( spotAttenuation > 0.0 ) {\n\n\t\t\tfloat lightDistance = length( lVector );\n\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\n\t\t} else {\n\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\n\t\t}\n\n\t}\n\n#endif\n\n\n#if NUM_RECT_AREA_LIGHTS > 0\n\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\n\t// Pre-computed values of LinearTransformedCosine approximation of BRDF\n\t// BRDF approximation Texture is 64x64\n\tuniform sampler2D ltc_1; // RGBA Float\n\tuniform sampler2D ltc_2; // RGBA Float\n\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n\n#endif\n\n\n#if NUM_HEMI_LIGHTS > 0\n\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\n\t\treturn irradiance;\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\nToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\n`;\n","export default /* glsl */`\nvarying vec3 vViewPosition;\n\nstruct ToonMaterial {\n\n\tvec3 diffuseColor;\n\n};\n\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n\n#define Material_LightProbeLOD( material )\t(0)\n`;\n","export default /* glsl */`\nBlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n`;\n","export default /* glsl */`\nvarying vec3 vViewPosition;\n\nstruct BlinnPhongMaterial {\n\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n\n};\n\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n\n}\n\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n\n#define Material_LightProbeLOD( material )\t(0)\n`;\n","export default /* glsl */`\nPhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\n\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\n\nmaterial.roughness = max( roughnessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.\nmaterial.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n\n#ifdef IOR\n\n\tmaterial.ior = ior;\n\n\t#ifdef SPECULAR\n\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\n\t\t#endif\n\n\t\t#ifdef USE_SPECULARCOLORMAP\n\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\n\n\t\t#endif\n\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\n\t#else\n\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\n\t#endif\n\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n\n#else\n\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n\n#endif\n\n#ifdef USE_CLEARCOAT\n\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\n\t#ifdef USE_CLEARCOATMAP\n\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\n\t#endif\n\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\n\t#endif\n\n\tmaterial.clearcoat = saturate( material.clearcoat ); // Burley clearcoat model\n\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n\n#endif\n\n#ifdef USE_IRIDESCENCE\n\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\n\t#ifdef USE_IRIDESCENCEMAP\n\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\n\n\t#endif\n\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n\n\t#else\n\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\n\t#endif\n\n#endif\n\n#ifdef USE_SHEEN\n\n\tmaterial.sheenColor = sheenColor;\n\n\t#ifdef USE_SHEENCOLORMAP\n\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\n\n\t#endif\n\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\n\t#ifdef USE_SHEENROUGHNESSMAP\n\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\nstruct PhysicalMaterial {\n\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\n};\n\n// temporary\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\n\n// This is a curve-fit approxmation to the \"Charlie sheen\" BRDF integrated over the hemisphere from \n// Estevez and Kulla 2017, \"Production Friendly Microfacet Sheen BRDF\". The analysis can be found\n// in the Sheen section of https://drive.google.com/file/d/1T0D1VSyR4AllqIJTQAraEIzjlb5h4FKH/view?usp=sharing\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\n\tfloat r2 = roughness * roughness;\n\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\n\treturn saturate( DG * RECIPROCAL_PI );\n\n}\n\n// Analytical approximation of the DFG LUT, one half of the\n// split-sum approximation used in indirect specular lighting.\n// via 'environmentBRDF' from \"Physically Based Shading on Mobile\"\n// https://www.unrealengine.com/blog/physically-based-shading-on-mobile\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\n\tvec4 r = roughness * c0 + c1;\n\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\n\treturn fab;\n\n}\n\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\n\treturn specularColor * fab.x + specularF90 * fab.y;\n\n}\n\n// Fdez-Agüera's \"Multiple-Scattering Microfacet Model for Real-Time Image Based Lighting\"\n// Approximates multiscattering in order to preserve energy.\n// http://www.jcgt.org/published/0008/01/03/\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\n\t#ifdef USE_IRIDESCENCE\n\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\n\t#else\n\n\t\tvec3 Fr = specularColor;\n\n\t#endif\n\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; // 1/21\n\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n\n}\n\n#if NUM_RECT_AREA_LIGHTS > 0\n\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight; // counterclockwise; light shines in local neg z direction\n\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\n\t\t// LTC Fresnel Approximation by Stephen Hill\n\t\t// http://blog.selfshadow.com/publications/s2016-advances/s2016_ltc_fresnel.pdf\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\n\t}\n\n#endif\n\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\n\tvec3 irradiance = dotNL * directLight.color;\n\n\t#ifdef USE_CLEARCOAT\n\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\n\t#endif\n\n\t#ifdef USE_SHEEN\n\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\n\t#endif\n\n\t#ifdef USE_IRIDESCENCE\n\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n\n\t#else\n\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\n\t#endif\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\n}\n\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\n\t#ifdef USE_CLEARCOAT\n\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\n\t#endif\n\n\t#ifdef USE_SHEEN\n\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\n\t#endif\n\n\t// Both indirect specular and indirect diffuse light accumulate here\n\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\n\t#ifdef USE_IRIDESCENCE\n\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\n\t#else\n\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\n\t#endif\n\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n\n// ref: https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n\n}\n`;\n","export default /* glsl */`\n/**\n * This is a template that can be used to light a material, it uses pluggable\n * RenderEquations (RE)for specific lighting scenarios.\n *\n * Instructions for use:\n * - Ensure that both RE_Direct, RE_IndirectDiffuse and RE_IndirectSpecular are defined\n * - If you have defined an RE_IndirectSpecular, you need to also provide a Material_LightProbeLOD. <---- ???\n * - Create a material parameter that is to be passed as the third parameter to your lighting functions.\n *\n * TODO:\n * - Add area light support.\n * - Add sphere light support.\n * - Add diffuse light probe (irradiance cubemap) support.\n */\n\nGeometricContext geometry;\n\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n#ifdef USE_CLEARCOAT\n\n\tgeometry.clearcoatNormal = clearcoatNormal;\n\n#endif\n\n#ifdef USE_IRIDESCENCE\n\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\n\tif ( material.iridescenceThickness == 0.0 ) {\n\n\t\tmaterial.iridescence = 0.0;\n\n\t} else {\n\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\n\t}\n\n\tif ( material.iridescence > 0.0 ) {\n\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\n\t\t// Iridescence F0 approximation\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\n\t}\n\n#endif\n\nIncidentLight directLight;\n\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tpointLight = pointLights[ i ];\n\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tspotLight = spotLights[ i ];\n\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\n\t\t// spot lights are ordered [shadows with maps, shadows without maps, maps without shadows, none]\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n\tRectAreaLight rectAreaLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if defined( RE_IndirectDiffuse )\n\n\tvec3 iblIrradiance = vec3( 0.0 );\n\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t#endif\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( RE_IndirectDiffuse )\n\n\t#ifdef USE_LIGHTMAP\n\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\n\t\tirradiance += lightMapIrradiance;\n\n\t#endif\n\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\n\t#endif\n\n#endif\n\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\n\t#ifdef USE_CLEARCOAT\n\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( RE_IndirectDiffuse )\n\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\n\t// Doing a strict comparison with == 1.0 can cause noise artifacts\n\t// on some platforms. See issue #17623.\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_LOGDEPTHBUF\n\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\n\t#else\n\n\t\tuniform float logDepthBufFC;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_LOGDEPTHBUF\n\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\n\t#else\n\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\n\t\t\tgl_Position.z *= gl_Position.w;\n\n\t\t}\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_MAP\n\n\tvec4 sampledDiffuseColor = texture2D( map, vUv );\n\n\t#ifdef DECODE_VIDEO_TEXTURE\n\n\t\t// inline sRGB decode (TODO: Remove this code when https://crbug.com/1256340 is solved)\n\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\n\t#endif\n\n\tdiffuseColor *= sampledDiffuseColor;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_MAP\n\n\tuniform sampler2D map;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\n#endif\n\n#ifdef USE_MAP\n\n\tdiffuseColor *= texture2D( map, uv );\n\n#endif\n\n#ifdef USE_ALPHAMAP\n\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\n\tuniform mat3 uvTransform;\n\n#endif\n\n#ifdef USE_MAP\n\n\tuniform sampler2D map;\n\n#endif\n\n#ifdef USE_ALPHAMAP\n\n\tuniform sampler2D alphaMap;\n\n#endif\n`;\n","export default /* glsl */`\nfloat metalnessFactor = metalness;\n\n#ifdef USE_METALNESSMAP\n\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\n\t// reads channel B, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\tmetalnessFactor *= texelMetalness.b;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_METALNESSMAP\n\n\tuniform sampler2D metalnessMap;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\n\t// morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value:\n\t// When morphTargetsRelative is false, this is set to 1 - sum(influences); this results in normal = sum((target - base) * influence)\n\t// When morphTargetsRelative is true, this is set to 1; as a result, all morph targets are simply added to the base after weighting\n\tvColor *= morphTargetBaseInfluence;\n\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\n\t\t#if defined( USE_COLOR_ALPHA )\n\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\n\t\t#elif defined( USE_COLOR )\n\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\n\t\t#endif\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_MORPHNORMALS\n\n\t// morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value:\n\t// When morphTargetsRelative is false, this is set to 1 - sum(influences); this results in normal = sum((target - base) * influence)\n\t// When morphTargetsRelative is true, this is set to 1; as a result, all morph targets are simply added to the base after weighting\n\tobjectNormal *= morphTargetBaseInfluence;\n\n\t#ifdef MORPHTARGETS_TEXTURE\n\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\n\t\t}\n\n\t#else\n\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_MORPHTARGETS\n\n\tuniform float morphTargetBaseInfluence;\n\n\t#ifdef MORPHTARGETS_TEXTURE\n\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\n\t\t}\n\n\t#else\n\n\t\t#ifndef USE_MORPHNORMALS\n\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\n\t\t#else\n\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\n\t\t#endif\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_MORPHTARGETS\n\n\t// morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value:\n\t// When morphTargetsRelative is false, this is set to 1 - sum(influences); this results in position = sum((target - base) * influence)\n\t// When morphTargetsRelative is true, this is set to 1; as a result, all morph targets are simply added to the base after weighting\n\ttransformed *= morphTargetBaseInfluence;\n\n\t#ifdef MORPHTARGETS_TEXTURE\n\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\n\t\t}\n\n\t#else\n\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\n\t\t#ifndef USE_MORPHNORMALS\n\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\n\t\t#endif\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\nfloat faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n\n#ifdef FLAT_SHADED\n\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n\n#else\n\n\tvec3 normal = normalize( vNormal );\n\n\t#ifdef DOUBLE_SIDED\n\n\t\tnormal = normal * faceDirection;\n\n\t#endif\n\n\t#ifdef USE_TANGENT\n\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\n\t\t#endif\n\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\n\t\t#endif\n\n\t#endif\n\n#endif\n\n// non perturbed normal for clearcoat among others\n\nvec3 geometryNormal = normal;\n\n`;\n","export default /* glsl */`\n\n#ifdef OBJECTSPACE_NORMALMAP\n\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals\n\n\t#ifdef FLIP_SIDED\n\n\t\tnormal = - normal;\n\n\t#endif\n\n\t#ifdef DOUBLE_SIDED\n\n\t\tnormal = normal * faceDirection;\n\n\t#endif\n\n\tnormal = normalize( normalMatrix * normal );\n\n#elif defined( TANGENTSPACE_NORMALMAP )\n\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\n\t#ifdef USE_TANGENT\n\n\t\tnormal = normalize( vTBN * mapN );\n\n\t#else\n\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\n\t#endif\n\n#elif defined( USE_BUMPMAP )\n\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n\n#endif\n`;\n","export default /* glsl */`\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifndef FLAT_SHADED // normal is computed with derivatives when FLAT_SHADED\n\n\tvNormal = normalize( transformedNormal );\n\n\t#ifdef USE_TANGENT\n\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_NORMALMAP\n\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\n#endif\n\n#ifdef OBJECTSPACE_NORMALMAP\n\n\tuniform mat3 normalMatrix;\n\n#endif\n\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\n\t// Normal Mapping Without Precomputed Tangents\n\t// http://www.thetenthplanet.de/archives/1180\n\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\n\t\tvec3 N = surf_norm; // normalized\n\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_CLEARCOAT\n\n\tvec3 clearcoatNormal = geometryNormal;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_CLEARCOAT_NORMALMAP\n\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\n\t#ifdef USE_TANGENT\n\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\n\t#else\n\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\n\n#ifdef USE_CLEARCOATMAP\n\n\tuniform sampler2D clearcoatMap;\n\n#endif\n\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\n\tuniform sampler2D clearcoatRoughnessMap;\n\n#endif\n\n#ifdef USE_CLEARCOAT_NORMALMAP\n\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n\n#endif\n`;\n","export default /* glsl */`\n\n#ifdef USE_IRIDESCENCEMAP\n\n\tuniform sampler2D iridescenceMap;\n\n#endif\n\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\n\tuniform sampler2D iridescenceThicknessMap;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n\n// https://github.com/mrdoob/three.js/pull/22425\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\n\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\n`;\n","export default /* glsl */`\nvec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\n\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\n\nconst float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1)\nconst float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1)\n\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\n\nconst float ShiftRight8 = 1. / 256.;\n\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8; // tidy overflow\n\treturn r * PackUpscale;\n}\n\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\n\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\n\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\n\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\n\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\n\n// NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions\n\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\n\n// NOTE: https://twitter.com/gonnavis/status/1377183786949959682\n\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n`;\n","export default /* glsl */`\n#ifdef PREMULTIPLIED_ALPHA\n\n\t// Get get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation.\n\tgl_FragColor.rgb *= gl_FragColor.a;\n\n#endif\n`;\n","export default /* glsl */`\nvec4 mvPosition = vec4( transformed, 1.0 );\n\n#ifdef USE_INSTANCING\n\n\tmvPosition = instanceMatrix * mvPosition;\n\n#endif\n\nmvPosition = modelViewMatrix * mvPosition;\n\ngl_Position = projectionMatrix * mvPosition;\n`;\n","export default /* glsl */`\n#ifdef DITHERING\n\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef DITHERING\n\n\t// based on https://www.shadertoy.com/view/MslGR8\n\tvec3 dithering( vec3 color ) {\n\t\t//Calculate grid position\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\n\t\t//Shift the individual colors differently, thus making it even harder to see the dithering pattern\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\n\t\t//modify shift according to grid position.\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\n\t\t//shift the color by dither_shift\n\t\treturn color + dither_shift_RGB;\n\t}\n\n#endif\n`;\n","export default /* glsl */`\nfloat roughnessFactor = roughness;\n\n#ifdef USE_ROUGHNESSMAP\n\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\n\t// reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\troughnessFactor *= texelRoughness.g;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_ROUGHNESSMAP\n\n\tuniform sampler2D roughnessMap;\n\n#endif\n`;\n","export default /* glsl */`\n#if NUM_SPOT_LIGHT_COORDS > 0\n\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n\n#endif\n\n#if NUM_SPOT_LIGHT_MAPS > 0\n\n uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n\n#endif\n\n#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): create uniforms for area light shadows\n\n\t#endif\n\t*/\n\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\n\t}\n\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\n\t}\n\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\n\t\tfloat occlusion = 1.0;\n\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\n\t\tfloat hard_shadow = step( compare , distribution.x ); // Hard Shadow\n\n\t\tif (hard_shadow != 1.0 ) {\n\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance ); // Chebeyshevs inequality\n\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); // 0.3 reduces light bleed\n\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\n\t\t}\n\t\treturn occlusion;\n\n\t}\n\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\n\t\tfloat shadow = 1.0;\n\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\n\t\t// if ( something && something ) breaks ATI OpenGL shader compiler\n\t\t// if ( all( something, something ) ) using this instead\n\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\n\t\tbool frustumTest = all( frustumTestVec );\n\n\t\tif ( frustumTest ) {\n\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n\t\t#else // no percentage-closer filtering:\n\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n\t\t#endif\n\n\t\t}\n\n\t\treturn shadow;\n\n\t}\n\n\t// cubeToUV() maps a 3D direction vector suitable for cube texture mapping to a 2D\n\t// vector suitable for 2D texture mapping. This code uses the following layout for the\n\t// 2D texture:\n\t//\n\t// xzXZ\n\t// y Y\n\t//\n\t// Y - Positive y direction\n\t// y - Negative y direction\n\t// X - Positive x direction\n\t// x - Negative x direction\n\t// Z - Positive z direction\n\t// z - Negative z direction\n\t//\n\t// Source and test bed:\n\t// https://gist.github.com/tschw/da10c43c467ce8afd0c4\n\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\n\t\t// Number of texels to avoid at the edge of each square\n\n\t\tvec3 absV = abs( v );\n\n\t\t// Intersect unit cube\n\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\n\t\t// Apply scale to avoid seams\n\n\t\t// two texels less per square (one texel will do for NEAREST)\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\n\t\t// Unwrap\n\n\t\t// space: -1 ... 1 range for each square\n\t\t//\n\t\t// #X##\t\tdim := ( 4 , 2 )\n\t\t// # #\t\tcenter := ( 1 , 1 )\n\n\t\tvec2 planar = v.xy;\n\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\n\t\tif ( absV.z >= almostOne ) {\n\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\n\t\t} else if ( absV.x >= almostOne ) {\n\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\n\t\t} else if ( absV.y >= almostOne ) {\n\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\n\t\t}\n\n\t\t// Transform to UV space\n\n\t\t// scale := 0.5 / dim\n\t\t// translate := ( center + 0.5 ) / dim\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\n\t}\n\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\n\t\t// for point lights, the uniform @vShadowCoord is re-purposed to hold\n\t\t// the vector from the light to the world-space position of the fragment.\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\n\t\t// dp = normalized distance from light to fragment position\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); // need to clamp?\n\t\tdp += shadowBias;\n\n\t\t// bd3D = base direction 3D\n\t\tvec3 bd3D = normalize( lightToPosition );\n\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\n\t\t#else // no percentage-closer filtering\n\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\n\t\t#endif\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n\n#if NUM_SPOT_LIGHT_COORDS > 0\n\n uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n\n#endif\n\n#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): uniforms for area light shadows\n\n\t#endif\n\t*/\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_SHADOWMAP ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_COORDS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\n\t\t// Offsetting the position used for querying occlusion along the world normal can be used to reduce shadow acne.\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\n\t#endif\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_COORDS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): update vAreaShadowCoord with area light info\n\n\t#endif\n\t*/\n\n#endif\n`;\n","export default /* glsl */`\nfloat getShadowMask() {\n\n\tfloat shadow = 1.0;\n\n\t#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\tDirectionalLightShadow directionalLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\tSpotLightShadow spotLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\tPointLightShadow pointLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): update shadow for Area light\n\n\t#endif\n\t*/\n\n\t#endif\n\n\treturn shadow;\n\n}\n`;\n","export default /* glsl */`\n#ifdef USE_SKINNING\n\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_SKINNING\n\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\n\tmat4 getBoneMatrix( const in float i ) {\n\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\n\t\ty = dy * ( y + 0.5 );\n\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\n\t\treturn bone;\n\n\t}\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_SKINNING\n\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_SKINNING\n\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\n\t#ifdef USE_TANGENT\n\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\n\t#endif\n\n#endif\n`;\n","export default /* glsl */`\nfloat specularStrength;\n\n#ifdef USE_SPECULARMAP\n\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n\n#else\n\n\tspecularStrength = 1.0;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_SPECULARMAP\n\n\tuniform sampler2D specularMap;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( TONE_MAPPING )\n\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n\n#endif\n`;\n","export default /* glsl */`\n#ifndef saturate\n// may have defined saturate() already\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n\nuniform float toneMappingExposure;\n\n// exposure only\nvec3 LinearToneMapping( vec3 color ) {\n\n\treturn toneMappingExposure * color;\n\n}\n\n// source: https://www.cs.utah.edu/docs/techreports/2002/pdf/UUCS-02-001.pdf\nvec3 ReinhardToneMapping( vec3 color ) {\n\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n\n}\n\n// source: http://filmicworlds.com/blog/filmic-tonemapping-operators/\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\n\t// optimized filmic operator by Jim Hejl and Richard Burgess-Dawson\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n\n}\n\n// source: https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs\nvec3 RRTAndODTFit( vec3 v ) {\n\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n\n}\n\n// this implementation of ACES is modified to accommodate a brighter viewing environment.\n// the scale factor of 1/0.6 is subjective. see discussion in #19621.\n\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\n\t// sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ), // transposed from source\n\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\n\t// ODT_SAT => XYZ => D60_2_D65 => sRGB\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ), // transposed from source\n\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\n\tcolor *= toneMappingExposure / 0.6;\n\n\tcolor = ACESInputMat * color;\n\n\t// Apply RRT and ODT\n\tcolor = RRTAndODTFit( color );\n\n\tcolor = ACESOutputMat * color;\n\n\t// Clamp to [0, 1]\n\treturn saturate( color );\n\n}\n\nvec3 CustomToneMapping( vec3 color ) { return color; }\n`;\n","export default /* glsl */`\n#ifdef USE_TRANSMISSION\n\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\n\t#ifdef USE_TRANSMISSIONMAP\n\n\t\tmaterial.transmission *= texture2D( transmissionMap, vUv ).r;\n\n\t#endif\n\n\t#ifdef USE_THICKNESSMAP\n\n\t\tmaterial.thickness *= texture2D( thicknessMap, vUv ).g;\n\n\t#endif\n\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_TRANSMISSION\n\n\t// Transmission code is based on glTF-Sampler-Viewer\n\t// https://github.com/KhronosGroup/glTF-Sample-Viewer\n\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\n\t#ifdef USE_TRANSMISSIONMAP\n\n\t\tuniform sampler2D transmissionMap;\n\n\t#endif\n\n\t#ifdef USE_THICKNESSMAP\n\n\t\tuniform sampler2D thicknessMap;\n\n\t#endif\n\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\n\tvarying vec3 vWorldPosition;\n\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\n\t\t// Direction of refracted light.\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\n\t\t// Compute rotation-independant scaling of the model matrix.\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\n\t\t// The thickness is specified in local space.\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\n\t}\n\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\n\t\t// Scale roughness with IOR so that an IOR of 1.0 results in no microfacet refraction and\n\t\t// an IOR of 1.5 results in the default amount of microfacet refraction.\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\n\t}\n\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\n\t\t#ifdef texture2DLodEXT\n\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\n\t\t#else\n\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\n\t\t#endif\n\n\t}\n\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\n\t\tif ( isinf( attenuationDistance ) ) {\n\n\t\t\t// Attenuation distance is +∞, i.e. the transmitted color is not attenuated at all.\n\t\t\treturn radiance;\n\n\t\t} else {\n\n\t\t\t// Compute light attenuation using Beer's law.\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); // Beer's law\n\t\t\treturn transmittance * radiance;\n\n\t\t}\n\n\t}\n\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\n\t\t// Project refracted vector on the framebuffer, while mapping to normalized device coordinates.\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\n\t\t// Sample framebuffer to get pixel the refracted ray hits.\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\n\t\t// Get the specular component.\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\n\t}\n#endif\n`;\n","export default /* glsl */`\n#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\n\tvarying vec2 vUv;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_UV\n\n\t#ifdef UVS_VERTEX_ONLY\n\n\t\tvec2 vUv;\n\n\t#else\n\n\t\tvarying vec2 vUv;\n\n\t#endif\n\n\tuniform mat3 uvTransform;\n\n#endif\n`;\n","export default /* glsl */`\n#ifdef USE_UV\n\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tvarying vec2 vUv2;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\n\tuniform mat3 uv2Transform;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n\n#endif\n`;\n","export default /* glsl */`\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\n\t#ifdef USE_INSTANCING\n\n\t\tworldPosition = instanceMatrix * worldPosition;\n\n\t#endif\n\n\tworldPosition = modelMatrix * worldPosition;\n\n#endif\n`;\n","export const vertex = /* glsl */`\nvarying vec2 vUv;\nuniform mat3 uvTransform;\n\nvoid main() {\n\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n\n}\n`;\n\nexport const fragment = /* glsl */`\nuniform sampler2D t2D;\n\nvarying vec2 vUv;\n\nvoid main() {\n\n\tgl_FragColor = texture2D( t2D, vUv );\n\n\t#ifdef DECODE_VIDEO_TEXTURE\n\n\t\t// inline sRGB decode (TODO: Remove this code when https://crbug.com/1256340 is solved)\n\n\t\tgl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w );\n\n\t#endif\n\n\t#include \n\t#include \n\n}\n`;\n","export const vertex = /* glsl */`\nvarying vec3 vWorldDirection;\n\n#include \n\nvoid main() {\n\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t#include \n\t#include \n\n\tgl_Position.z = gl_Position.w; // set z to camera.far\n\n}\n`;\n\nexport const fragment = /* glsl */`\n\n#ifdef ENVMAP_TYPE_CUBE\n\n\tuniform samplerCube envMap;\n\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\n\tuniform sampler2D envMap;\n\n#endif\n\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\n\nvarying vec3 vWorldDirection;\n\n#include \n\nvoid main() {\n\n\t#ifdef ENVMAP_TYPE_CUBE\n\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\n\t#else\n\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t#endif\n\n\tgl_FragColor = texColor;\n\n\t#include \n\t#include \n\n}\n`;\n","export const vertex = /* glsl */`\nvarying vec3 vWorldDirection;\n\n#include \n\nvoid main() {\n\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t#include \n\t#include \n\n\tgl_Position.z = gl_Position.w; // set z to camera.far\n\n}\n`;\n\nexport const fragment = /* glsl */`\nuniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\n\nvarying vec3 vWorldDirection;\n\nvoid main() {\n\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\n\t#include \n\t#include \n\n}\n`;\n","export const vertex = /* glsl */`\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n\n// This is used for computing an equivalent of gl_FragCoord.z that is as high precision as possible.\n// Some platforms compute gl_FragCoord at a lower precision which makes the manually computed value better for\n// depth-based postprocessing effects. Reproduced on iPad with A10 processor / iPadOS 13.3.1.\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n\t#include \n\n\t#include \n\n\t#ifdef USE_DISPLACEMENTMAP\n\n\t\t#include \n\t\t#include \n\t\t#include \n\n\t#endif\n\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\n\tvHighPrecisionZW = gl_Position.zw;\n\n}\n`;\n\nexport const fragment = /* glsl */`\n#if DEPTH_PACKING == 3200\n\n\tuniform float opacity;\n\n#endif\n\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n\t#include \n\n\tvec4 diffuseColor = vec4( 1.0 );\n\n\t#if DEPTH_PACKING == 3200\n\n\t\tdiffuseColor.a = opacity;\n\n\t#endif\n\n\t#include \n\t#include \n\t#include \n\n\t#include \n\n\t// Higher precision equivalent of gl_FragCoord.z. This assumes depthRange has been left to its default values.\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\n\t#if DEPTH_PACKING == 3200\n\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\n\t#elif DEPTH_PACKING == 3201\n\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\n\t#endif\n\n}\n`;\n","export const vertex = /* glsl */`\n#define DISTANCE\n\nvarying vec3 vWorldPosition;\n\n#include \n#include \n#include \n#include \n#include \n#include \n\nvoid main() {\n\n\t#include \n\n\t#include \n\n\t#ifdef USE_DISPLACEMENTMAP\n\n\t\t#include \n\t\t#include \n\t\t#include \n\n\t#endif\n\n\t#include