{
    "files": {
        "environment.hdr": {
            "hash": "664840d92e1b7a6c69f4272be968bc8132a7bf26", 
            "type": "BINARY"
        }, 
        "media/android-chrome-192x192.png": {
            "hash": "b9f9362b0ef20a3ca590cc9fb5014a622065cc2b", 
            "type": "BINARY"
        }, 
        "media/android-chrome-512x512.png": {
            "hash": "04743ffcbe285558b32c169cbdf9a969ed6c1b07", 
            "type": "BINARY"
        }, 
        "media/apple-touch-icon.png": {
            "hash": "3cfaadeea1ba9021a8b66a77bb8b1c932ed5d003", 
            "type": "BINARY"
        }, 
        "media/favicon-16x16.png": {
            "hash": "4a86127f640b7481e35fa24e3a5d6769829677c9", 
            "type": "BINARY"
        }, 
        "media/favicon-32x32.png": {
            "hash": "f6f405045cf1368a841e5e988488fbc5162ff58e", 
            "type": "BINARY"
        }, 
        "media/favicon.ico": {
            "hash": "85d04d20fba32e495b9821559b15a1c2c823feb2", 
            "type": "BINARY"
        }, 
        "media/fullscreen_close.svg": {
            "hash": "58144a1fc889106f74d17df9e1fc7c46ad5f56af", 
            "type": "BINARY"
        }, 
        "media/fullscreen_open.svg": {
            "hash": "b6ed8e967f7f48439586b6f32388fcb6a587310e", 
            "type": "BINARY"
        }, 
        "media/manifest.json": {
            "hash": "c7a1e9a0ab4ea5252e2e98cba9b89a08f699e195", 
            "type": "BINARY"
        }, 
        "media/safari-pinned-tab.svg": {
            "hash": "8d29dedf6d2537ce57305dae409e92edd55bc728", 
            "type": "BINARY"
        }, 
        "scroll_animation.bin": {
            "hash": "f8f2b31dd75ecab21b1adc25c14e480b34efe09c", 
            "type": "BINARY"
        }, 
        "scroll_animation.blend": {
            "hash": "a57e0e93f8a0ab6db01cb416f2b2bbf20065a6c5", 
            "type": "BINARY"
        }, 
        "scroll_animation.css": {
            "content": "LyogX19WM0RfVEVNUExBVEVfXyAtIHRlbXBsYXRlLWJhc2VkIGZpbGU7IGRlbGV0ZSB0aGlzIGxpbmUgdG8gcHJldmVudCB0aGlzIGZpbGUgZnJvbSBiZWluZyB1cGRhdGVkICovCgpib2R5IHsKICAgIG1hcmdpbjogMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnYzZC1jb250YWluZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKfQoKLmZ1bGxzY3JlZW4tYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNXB4OwogICAgcmlnaHQ6IDVweDsKICAgIHdpZHRoOiA1MHB4OwogICAgaGVpZ2h0OiA1MHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CiAgICBkaXNwbGF5OiBub25lOwogICAgei1pbmRleDogMTsKfQoKLmZ1bGxzY3JlZW4tb3BlbiB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ21lZGlhL2Z1bGxzY3JlZW5fb3Blbi5zdmcnKTsKfQoKLmZ1bGxzY3JlZW4tY2xvc2UgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdtZWRpYS9mdWxsc2NyZWVuX2Nsb3NlLnN2ZycpOwp9CgovKiByZW1vdmVzIHRhcCBibGlua2luZyBvbiBpb3MgZGV2aWNlcyAqLwoqIHsgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7IH0K", 
            "hash": "6726f0bf58bc4eaab1a3c685476f74fe7973c62b", 
            "type": "ASCII"
        }, 
        "scroll_animation.gltf": {
            "hash": "edf5fe5895983105459af96e7b9afc84b4cb58e8", 
            "type": "BINARY"
        }, 
        "scroll_animation.html": {
            "content": "PCFET0NUWVBFIGh0bWw+CjwhLS0gX19WM0RfUFVaWkxFU19fIC0gZW5hYmxlIFB1enpsZXMgYnV0dG9uIGluIHRoZSBBcHAgTWFuYWdlciAtLT4KPCEtLSBfX1YzRF9URU1QTEFURV9fIC0gdGVtcGxhdGUtYmFzZWQgZmlsZTsgZGVsZXRlIHRoaXMgbGluZSB0byBwcmV2ZW50IHRoaXMgZmlsZSBmcm9tIGJlaW5nIHVwZGF0ZWQgLS0+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPHRpdGxlPlZlcmdlM0QgV2ViIEludGVyYWN0aXZlPC90aXRsZT4KICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgdXNlci1zY2FsYWJsZT1ubywgbWluaW11bS1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wIj4KCiAgPCEtLSBTZWFyY2ggRW5naW5lcyAtLT4KICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSW50ZXJhY3RpdmUgM0QgV2ViIGFwcGxpY2F0aW9uIG1hZGUgd2l0aCBWZXJnZTNELiBJbW1lcnNlIHlvdXJzZWxmIGluIGFtYXppbmcgZ3JhcGhpY3MgZXhwZXJpZW5jZSBvZmZlcmVkIGJ5IHN0YXRlLW9mLXRoZSBhcnQgV2ViR0wgYW5kIEhUTUw1IHRlY2hub2xvZ2llcy4iPgogIDwhLS0gVHdpdHRlciAtLT4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnkiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IlZlcmdlM0QgV2ViIEludGVyYWN0aXZlIj4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmRlc2NyaXB0aW9uIiBjb250ZW50PSJJbnRlcmFjdGl2ZSAzRCBXZWIgYXBwbGljYXRpb24gbWFkZSB3aXRoIFZlcmdlM0QuIEltbWVyc2UgeW91cnNlbGYgaW4gYW1hemluZyBncmFwaGljcyBleHBlcmllbmNlIG9mZmVyZWQgYnkgc3RhdGUtb2YtdGhlIGFydCBXZWJHTCBhbmQgSFRNTDUgdGVjaG5vbG9naWVzLiI+CiAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZTpzcmMiIGNvbnRlbnQ9Imh0dHBzOi8vY2RuLnNvZnQ4c29mdC5jb20vaW1hZ2VzL3BsYXllcl9zb2NpYWxzLmpwZyI+CiAgPCEtLSBPcGVuIEdyYXBoIC0tPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iVmVyZ2UzRCBXZWIgSW50ZXJhY3RpdmUiPgogIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iSW50ZXJhY3RpdmUgM0QgV2ViIGFwcGxpY2F0aW9uIG1hZGUgd2l0aCBWZXJnZTNELiBJbW1lcnNlIHlvdXJzZWxmIGluIGFtYXppbmcgZ3JhcGhpY3MgZXhwZXJpZW5jZSBvZmZlcmVkIGJ5IHN0YXRlLW9mLXRoZSBhcnQgV2ViR0wgYW5kIEhUTUw1IHRlY2hub2xvZ2llcy4iPgogIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jZG4uc29mdDhzb2Z0LmNvbS9pbWFnZXMvcGxheWVyX3NvY2lhbHMuanBnIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CgogIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iVmVyZ2UzRCA0LjIuMCI+CgogIDwhLS0gZmF2aWNvbnMgLS0+CiAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0ibWVkaWEvYXBwbGUtdG91Y2gtaWNvbi5wbmciPgogIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Im1lZGlhL2Zhdmljb24tMzJ4MzIucG5nIj4KICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgc2l6ZXM9IjE2eDE2IiBocmVmPSJtZWRpYS9mYXZpY29uLTE2eDE2LnBuZyI+CiAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0ibWVkaWEvbWFuaWZlc3QuanNvbiI+CiAgPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9Im1lZGlhL3NhZmFyaS1waW5uZWQtdGFiLnN2ZyIgY29sb3I9IiMwMDQ4YTUiPgogIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjZmZmZmZmIj4KCgogIAogIDxzY3JpcHQgc3JjPSJ2M2QuanMiPjwvc2NyaXB0PgogIDxzY3JpcHQgc3JjPSJzY3JvbGxfYW5pbWF0aW9uLmpzIj48L3NjcmlwdD4KCiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic2Nyb2xsX2FuaW1hdGlvbi5jc3MiPgo8L2hlYWQ+Cgo8Ym9keT4KICA8ZGl2IGlkPSJ2M2QtY29udGFpbmVyIj4KICAgIDxkaXYgaWQ9ImZ1bGxzY3JlZW4tYnV0dG9uIiBjbGFzcz0iZnVsbHNjcmVlbi1idXR0b24gZnVsbHNjcmVlbi1vcGVuIiB0aXRsZT0iVG9nZ2xlIGZ1bGxzY3JlZW4gbW9kZSI+PC9kaXY+CiAgPC9kaXY+CjwvYm9keT4KCjwvaHRtbD4K", 
            "hash": "27e9f141bc7725997e040304ef9fcf1843b7f369", 
            "type": "ASCII"
        }, 
        "scroll_animation.js": {
            "content": "LyogX19WM0RfVEVNUExBVEVfXyAtIHRlbXBsYXRlLWJhc2VkIGZpbGU7IGRlbGV0ZSB0aGlzIGxpbmUgdG8gcHJldmVudCB0aGlzIGZpbGUgZnJvbSBiZWluZyB1cGRhdGVkICovCgondXNlIHN0cmljdCc7Cgp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGUgPT4gewogICAgY29uc3QgcGFyYW1zID0gdjNkLkFwcFV0aWxzLmdldFBhZ2VQYXJhbXMoKTsKICAgIGNyZWF0ZUFwcCh7CiAgICAgICAgY29udGFpbmVySWQ6ICd2M2QtY29udGFpbmVyJywKICAgICAgICBmc0J1dHRvbklkOiAnZnVsbHNjcmVlbi1idXR0b24nLAogICAgICAgIHNjZW5lVVJMOiBwYXJhbXMubG9hZCB8fCAnX19VUkxfX3Njcm9sbF9hbmltYXRpb24uZ2x0ZicucmVwbGFjZSgnX19VUkxfXycsICcnKSwKICAgICAgICBsb2dpY1VSTDogcGFyYW1zLmxvZ2ljIHx8ICdfX0xPR0lDX192aXN1YWxfbG9naWMuanMnLnJlcGxhY2UoJ19fTE9HSUNfXycsICcnKSwKICAgIH0pOwp9KTsKCmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFwcCh7Y29udGFpbmVySWQsIGZzQnV0dG9uSWQgPSBudWxsLCBzY2VuZVVSTCwgbG9naWNVUkwgPSAnJ30pIHsKICAgIGlmICghc2NlbmVVUkwpIHsKICAgICAgICBjb25zb2xlLmxvZygnTm8gc2NlbmUgVVJMIHNwZWNpZmllZCcpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBzb21lIHB1enpsZXMgY2FuIGJlbmVmaXQgZnJvbSBjYWNoZQogICAgdjNkLkNhY2hlLmVuYWJsZWQgPSB0cnVlOwoKICAgIGxldCBQTCA9IG51bGwsIFBFID0gbnVsbDsKICAgIGlmICh2M2QuQXBwVXRpbHMuaXNYTUwobG9naWNVUkwpKSB7CiAgICAgICAgY29uc3QgUFVaWkxFU19ESVIgPSAnL3B1enpsZXMvJzsKICAgICAgICBjb25zdCBsb2dpY1VSTEpTID0gbG9naWNVUkwubWF0Y2goLyguKilcLnhtbCQvKVsxXSArICcuanMnOwogICAgICAgIFBMID0gYXdhaXQgbmV3IHYzZC5QdXp6bGVzTG9hZGVyKCkubG9hZEVkaXRvcldpdGhMb2dpYyhQVVpaTEVTX0RJUiwgbG9naWNVUkxKUyk7CiAgICAgICAgUEUgPSB2M2QuUEU7CiAgICB9IGVsc2UgaWYgKHYzZC5BcHBVdGlscy5pc0pTKGxvZ2ljVVJMKSkgewogICAgICAgIFBMID0gYXdhaXQgbmV3IHYzZC5QdXp6bGVzTG9hZGVyKCkubG9hZExvZ2ljKGxvZ2ljVVJMKTsKICAgIH0KCiAgICBsZXQgaW5pdE9wdGlvbnMgPSB7IHVzZUZ1bGxzY3JlZW46IHRydWUgfTsKICAgIGlmIChQTCkgewogICAgICAgIGluaXRPcHRpb25zID0gUEwuZXhlY0luaXRQdXp6bGVzKHsgY29udGFpbmVyOiBjb250YWluZXJJZCB9KS5pbml0T3B0aW9uczsKICAgIH0KICAgIHNjZW5lVVJMID0gaW5pdE9wdGlvbnMudXNlQ29tcEFzc2V0cyA/IGAke3NjZW5lVVJMfS54emAgOiBzY2VuZVVSTDsKCiAgICBjb25zdCBkaXNwb3NlRnVsbHNjcmVlbiA9IHByZXBhcmVGdWxsc2NyZWVuKGNvbnRhaW5lcklkLCBmc0J1dHRvbklkLAogICAgICAgICAgICBpbml0T3B0aW9ucy51c2VGdWxsc2NyZWVuKTsKICAgIGNvbnN0IHByZWxvYWRlciA9IGNyZWF0ZVByZWxvYWRlcihjb250YWluZXJJZCwgaW5pdE9wdGlvbnMsIFBFKTsKCiAgICBjb25zdCBhcHAgPSBjcmVhdGVBcHBJbnN0YW5jZShjb250YWluZXJJZCwgaW5pdE9wdGlvbnMsIHByZWxvYWRlciwgUEUpOwogICAgYXBwLmFkZEV2ZW50TGlzdGVuZXIoJ2Rpc3Bvc2UnLCAoKSA9PiBkaXNwb3NlRnVsbHNjcmVlbj8uKCkpOwoKICAgIGlmIChpbml0T3B0aW9ucy5wcmVsb2FkZXJTdGFydENiKSBpbml0T3B0aW9ucy5wcmVsb2FkZXJTdGFydENiKCk7CiAgICBhcHAubG9hZFNjZW5lKHNjZW5lVVJMLCAoKSA9PiB7CiAgICAgICAgYXBwLmVuYWJsZUNvbnRyb2xzKCk7CiAgICAgICAgYXBwLnJ1bigpOwoKICAgICAgICBpZiAoUEUpIFBFLnVwZGF0ZUFwcEluc3RhbmNlKGFwcCk7CiAgICAgICAgaWYgKFBMKSBQTC5pbml0KGFwcCwgaW5pdE9wdGlvbnMpOwoKICAgICAgICBydW5Db2RlKGFwcCwgUEwpOwogICAgfSwgbnVsbCwgKCkgPT4gewogICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBsb2FkIHRoZSBzY2VuZSAke3NjZW5lVVJMfWApOwogICAgfSk7CgogICAgcmV0dXJuIHsgYXBwLCBQTCB9Owp9CgoKZnVuY3Rpb24gY3JlYXRlUHJlbG9hZGVyKGNvbnRhaW5lcklkLCBpbml0T3B0aW9ucywgUEUpIHsKICAgIGNvbnN0IHByZWxvYWRlciA9IGluaXRPcHRpb25zLnVzZUN1c3RvbVByZWxvYWRlcgogICAgICAgICAgICA/IGNyZWF0ZUN1c3RvbVByZWxvYWRlcihpbml0T3B0aW9ucy5wcmVsb2FkZXJQcm9ncmVzc0NiLAogICAgICAgICAgICBpbml0T3B0aW9ucy5wcmVsb2FkZXJFbmRDYikKICAgICAgICAgICAgOiBuZXcgdjNkLlNpbXBsZVByZWxvYWRlcih7IGNvbnRhaW5lcjogY29udGFpbmVySWQgfSk7CgogICAgaWYgKFBFKSBwdXp6bGVzRWRpdG9yUHJlcGFyZVByZWxvYWRlcihwcmVsb2FkZXIsIFBFKTsKCiAgICByZXR1cm4gcHJlbG9hZGVyOwp9CgpmdW5jdGlvbiBjcmVhdGVDdXN0b21QcmVsb2FkZXIodXBkYXRlQ2IsIGZpbmlzaENiKSB7CiAgICBmdW5jdGlvbiBDdXN0b21QcmVsb2FkZXIoKSB7CiAgICAgICAgdjNkLlByZWxvYWRlci5jYWxsKHRoaXMpOwogICAgfQoKICAgIEN1c3RvbVByZWxvYWRlci5wcm90b3R5cGUgPSBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUodjNkLlByZWxvYWRlci5wcm90b3R5cGUpLCB7CiAgICAgICAgb25VcGRhdGU6IGZ1bmN0aW9uKHBlcmNlbnRhZ2UpIHsKICAgICAgICAgICAgdjNkLlByZWxvYWRlci5wcm90b3R5cGUub25VcGRhdGUuY2FsbCh0aGlzLCBwZXJjZW50YWdlKTsKICAgICAgICAgICAgaWYgKHVwZGF0ZUNiKSB1cGRhdGVDYihwZXJjZW50YWdlKTsKICAgICAgICB9LAogICAgICAgIG9uRmluaXNoOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdjNkLlByZWxvYWRlci5wcm90b3R5cGUub25GaW5pc2guY2FsbCh0aGlzKTsKICAgICAgICAgICAgaWYgKGZpbmlzaENiKSBmaW5pc2hDYigpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiBuZXcgQ3VzdG9tUHJlbG9hZGVyKCk7Cn0KCi8qKgogKiBNb2RpZnkgdGhlIGFwcCdzIHByZWxvYWRlciB0byB0cmFjayB0aGUgbG9hZGluZyBwcm9jZXNzIGluIHRoZSBQdXp6bGVzIEVkaXRvci4KICovCmZ1bmN0aW9uIHB1enpsZXNFZGl0b3JQcmVwYXJlUHJlbG9hZGVyKHByZWxvYWRlciwgUEUpIHsKICAgIGNvbnN0IF9vblVwZGF0ZSA9IHByZWxvYWRlci5vblVwZGF0ZS5iaW5kKHByZWxvYWRlcik7CiAgICBwcmVsb2FkZXIub25VcGRhdGUgPSBmdW5jdGlvbihwZXJjZW50YWdlKSB7CiAgICAgICAgX29uVXBkYXRlKHBlcmNlbnRhZ2UpOwogICAgICAgIFBFLmxvYWRpbmdVcGRhdGVDYihwZXJjZW50YWdlKTsKICAgIH0KCiAgICBjb25zdCBfb25GaW5pc2ggPSBwcmVsb2FkZXIub25GaW5pc2guYmluZChwcmVsb2FkZXIpOwogICAgcHJlbG9hZGVyLm9uRmluaXNoID0gZnVuY3Rpb24oKSB7CiAgICAgICAgX29uRmluaXNoKCk7CiAgICAgICAgUEUubG9hZGluZ0ZpbmlzaENiKCk7CiAgICB9Cn0KCgpmdW5jdGlvbiBjcmVhdGVBcHBJbnN0YW5jZShjb250YWluZXJJZCwgaW5pdE9wdGlvbnMsIHByZWxvYWRlciwgUEUpIHsKICAgIGNvbnN0IGN0eFNldHRpbmdzID0ge307CiAgICBpZiAoaW5pdE9wdGlvbnMudXNlQmtnVHJhbnNwKSBjdHhTZXR0aW5ncy5hbHBoYSA9IHRydWU7CiAgICBpZiAoaW5pdE9wdGlvbnMucHJlc2VydmVEcmF3QnVmKSBjdHhTZXR0aW5ncy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPSB0cnVlOwoKICAgIGNvbnN0IGFwcCA9IG5ldyB2M2QuQXBwKGNvbnRhaW5lcklkLCBjdHhTZXR0aW5ncywgcHJlbG9hZGVyKTsKICAgIGlmIChpbml0T3B0aW9ucy51c2VCa2dUcmFuc3ApIHsKICAgICAgICBhcHAuY2xlYXJCa2dPbkxvYWQgPSB0cnVlOwogICAgICAgIGlmIChhcHAucmVuZGVyZXIpIHsKICAgICAgICAgICAgYXBwLnJlbmRlcmVyLnNldENsZWFyQ29sb3IoMHgwMDAwMDAsIDApOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBuYW1lc3BhY2UgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBjb2RlIGdlbmVyYXRlZCBieSBQdXp6bGVzCiAgICBhcHAuRXh0ZXJuYWxJbnRlcmZhY2UgPSB7fTsKICAgIHByZXBhcmVFeHRlcm5hbEludGVyZmFjZShhcHApOwogICAgaWYgKFBFKSBQRS52aWV3cG9ydFVzZUFwcEluc3RhbmNlKGFwcCk7CgogICAgcmV0dXJuIGFwcDsKfQoKCmZ1bmN0aW9uIHByZXBhcmVGdWxsc2NyZWVuKGNvbnRhaW5lcklkLCBmc0J1dHRvbklkLCB1c2VGdWxsc2NyZWVuKSB7CiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7CiAgICBjb25zdCBmc0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZzQnV0dG9uSWQpOwoKICAgIGlmICghZnNCdXR0b24pIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICAgIGlmICghdXNlRnVsbHNjcmVlbikgewogICAgICAgIGlmIChmc0J1dHRvbikgZnNCdXR0b24uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBjb25zdCBmc0VuYWJsZWQgPSAoKSA9PiBkb2N1bWVudC5mdWxsc2NyZWVuRW5hYmxlZAogICAgICAgICAgICB8fCBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZAogICAgICAgICAgICB8fCBkb2N1bWVudC5tb3pGdWxsU2NyZWVuRW5hYmxlZAogICAgICAgICAgICB8fCBkb2N1bWVudC5tc0Z1bGxzY3JlZW5FbmFibGVkOwogICAgY29uc3QgZnNFbGVtZW50ID0gKCkgPT4gZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQKICAgICAgICAgICAgfHwgZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQKICAgICAgICAgICAgfHwgZG9jdW1lbnQubW96RnVsbFNjcmVlbkVsZW1lbnQKICAgICAgICAgICAgfHwgZG9jdW1lbnQubXNGdWxsc2NyZWVuRWxlbWVudDsKICAgIGNvbnN0IHJlcXVlc3RGcyA9IGVsZW0gPT4gKGVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4KICAgICAgICAgICAgfHwgZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbgogICAgICAgICAgICB8fCBlbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuCiAgICAgICAgICAgIHx8IGVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbikuY2FsbChlbGVtKTsKICAgIGNvbnN0IGV4aXRGcyA9ICgpID0+IChkb2N1bWVudC5leGl0RnVsbHNjcmVlbgogICAgICAgICAgICB8fCBkb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuCiAgICAgICAgICAgIHx8IGRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuCiAgICAgICAgICAgIHx8IGRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4pLmNhbGwoZG9jdW1lbnQpOwogICAgY29uc3QgY2hhbmdlRnMgPSAoKSA9PiB7CiAgICAgICAgY29uc3QgZWxlbSA9IGZzRWxlbWVudCgpOwogICAgICAgIGZzQnV0dG9uLmNsYXNzTGlzdC5hZGQoZWxlbSA/ICdmdWxsc2NyZWVuLWNsb3NlJyA6ICdmdWxsc2NyZWVuLW9wZW4nKTsKICAgICAgICBmc0J1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKGVsZW0gPyAnZnVsbHNjcmVlbi1vcGVuJyA6ICdmdWxsc2NyZWVuLWNsb3NlJyk7CiAgICB9OwoKICAgIGZ1bmN0aW9uIGZzQnV0dG9uQ2xpY2soZXZlbnQpIHsKICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICBpZiAoZnNFbGVtZW50KCkpIHsKICAgICAgICAgICAgZXhpdEZzKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVxdWVzdEZzKGNvbnRhaW5lcik7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChmc0VuYWJsZWQoKSkgZnNCdXR0b24uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOwoKICAgIGZzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnNCdXR0b25DbGljayk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgY2hhbmdlRnMpOwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW96ZnVsbHNjcmVlbmNoYW5nZScsIGNoYW5nZUZzKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21zZnVsbHNjcmVlbmNoYW5nZScsIGNoYW5nZUZzKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCBjaGFuZ2VGcyk7CgogICAgY29uc3QgZGlzcG9zZUZ1bGxzY3JlZW4gPSAoKSA9PiB7CiAgICAgICAgZnNCdXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmc0J1dHRvbkNsaWNrKTsKICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgY2hhbmdlRnMpOwogICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vemZ1bGxzY3JlZW5jaGFuZ2UnLCBjaGFuZ2VGcyk7CiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbXNmdWxsc2NyZWVuY2hhbmdlJywgY2hhbmdlRnMpOwogICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCBjaGFuZ2VGcyk7CiAgICB9CgogICAgcmV0dXJuIGRpc3Bvc2VGdWxsc2NyZWVuOwp9CgoKZnVuY3Rpb24gcHJlcGFyZUV4dGVybmFsSW50ZXJmYWNlKGFwcCkgewogICAgLyoqCiAgICAgKiBSZWdpc3RlciBmdW5jdGlvbnMgaW4gdGhlIGFwcC5FeHRlcm5hbEludGVyZmFjZSB0byBjYWxsIHRoZW0gZnJvbQogICAgICogUHV6emxlcywgZS5nOgogICAgICogYXBwLkV4dGVybmFsSW50ZXJmYWNlLm15SlNGdW5jdGlvbiA9IGZ1bmN0aW9uKCkgewogICAgICogICAgIGNvbnNvbGUubG9nKCdIZWxsbywgV29ybGQhJyk7CiAgICAgKiB9CiAgICAgKi8KCn0KCmZ1bmN0aW9uIHJ1bkNvZGUoYXBwLCBwdXp6bGVzKSB7CiAgICAvLyBhZGQgeW91ciBjb2RlIGhlcmUsIGUuZy4gY29uc29sZS5sb2coJ0hlbGxvLCBXb3JsZCEnKTsKCn0K", 
            "hash": "baa8caacdb5250968c29ef37fda8856285039fd5", 
            "type": "ASCII"
        }, 
        "v3d.js": {
            "hash": "fde56613f0f82dc346f5e599931ddc395b4cfd6d", 
            "type": "BINARY"
        }, 
        "visual_logic.js": {
            "hash": "30594275a13481b55c45db2d813604946db39e26", 
            "type": "BINARY"
        }, 
        "visual_logic.xml": {
            "hash": "25c551343efcb5b2d5a356086c7d5467b7f6c842", 
            "type": "BINARY"
        }
    }, 
    "name": "Standard Light"
}