From 5b0edfe2d013b7c279e9cbbb8047fe595d6e2eab Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Sun, 9 Apr 2023 23:25:43 +0200 Subject: [PATCH 01/11] Petite modif toute mignonne --- iut-expo-starter/.expo/packager-info.json | 6 +++--- .../babel-loader/05b7beb7a6fb2e9cddb35c4ee65a9cc6.json | 1 + .../babel-loader/06eac418ebfe6b68aa3ac4ecba06541f.json | 1 + .../babel-loader/07bf1b868fd9d74faa01cd92acef7bc2.json | 1 + .../babel-loader/08fed5bc4bbc301ed43d92d99b5fdcc2.json | 1 + .../babel-loader/0be45a59281bf571390d51c572661505.json | 1 + .../babel-loader/0d9d8d5c38d7ca3dbbeda368c24ade38.json | 1 + .../babel-loader/1003077aaf99d9c5815dd48c6c56ab85.json | 1 + .../babel-loader/1044e4a5b868d50b8434c9019f7e0e60.json | 1 + .../babel-loader/11d305a92932bf2bfb50fd85484587dc.json | 1 + .../babel-loader/12f6f5c81f03aee8f87e7079d10cfb41.json | 1 + .../babel-loader/131222d81ad88c9befb42f435d0fe811.json | 1 + .../babel-loader/15bfc621aa42c15a0a0f1663f501924d.json | 1 + .../babel-loader/1a6cebdd921cf82f6b8eab2a570a022f.json | 1 + .../babel-loader/1c0a1e222747c44032b61fabf6632813.json | 1 + .../babel-loader/1d7fc8506389ca22a93ce1042558acb5.json | 1 + .../babel-loader/1ecf23b6cad424c49f8326128c26e6fe.json | 1 + .../babel-loader/1f94e17bca7a021396af4fe0b7e41e94.json | 1 + .../babel-loader/22227e9dda15d978fe9831c385f64eff.json | 1 + .../babel-loader/23d06fafaa8b37ab67daedf898a3426a.json | 1 + .../babel-loader/2637dc8ae6094cfb4ae778c24033640c.json | 1 + .../babel-loader/2687ca329de5c8053b991765af666aa2.json | 1 + .../babel-loader/27f95c6061192597704db2a5d350a5c3.json | 1 + .../babel-loader/28d8fba041920200a3cb51ac5bc2c1a8.json | 1 + .../babel-loader/2c30f76b2b326195678887aed8c9168c.json | 1 + .../babel-loader/2f8e9f8d32e20ade1d74b48c9503eed9.json | 1 + .../babel-loader/2fb8d1b1f89bfea96a358f5244f16773.json | 1 + .../babel-loader/30f61cbc007c9f5f4db6dd708f3aea86.json | 1 + .../babel-loader/3324c567267b870146ea6c174a1a7f9f.json | 1 + .../babel-loader/339d36f2ae8aaf6919002688cd4a1508.json | 1 + .../babel-loader/3446126cdc9a247b02aef3a6f0cbcff1.json | 1 + .../babel-loader/35dc825ceedb7fca0c1f364dbfd6533c.json | 1 + .../babel-loader/368059601d2bc8e6dac342fc0d6b2614.json | 1 + .../babel-loader/3bc3dda6a9bc4fce61c0f4f9730ecfe1.json | 1 + .../babel-loader/3d756a8a78261d9f54cc288c1b65d8f6.json | 1 + .../babel-loader/3f3b3c030699ba20f2eac4eb6b4d0e6a.json | 1 + .../babel-loader/4082165a464e3663b6bce14fa60ac8b2.json | 1 + .../babel-loader/41f4628ad1101f9088df91eaf91c5a97.json | 1 + .../babel-loader/43cf32e1d66ecc8392b274c95f263a26.json | 1 + .../babel-loader/441331f80e970e1fec07019208fb5c33.json | 1 + .../babel-loader/4566a55546cdfd106364d28a42a7788e.json | 1 + .../babel-loader/462b99898173e0b46b67d7daf5a26565.json | 1 + .../babel-loader/46ba51126b89c2f4e69cfbb55fceb909.json | 1 + .../babel-loader/478a42a377518ba99ddcc215b6366733.json | 1 + .../babel-loader/4b9e055a0fc2acee19f1c562dd579504.json | 1 + .../babel-loader/4c33417390015d688aa1651e7a45ba70.json | 1 + .../babel-loader/4d41e29567a45917414b47fd4c3f7c00.json | 1 + .../babel-loader/4e14e7f1c57a7417038008fbf2963d7b.json | 1 + .../babel-loader/4e4aa8c0097680279e817d3e310227c9.json | 1 + .../babel-loader/513e109dba1dd3772e7c735869fb1519.json | 1 + .../babel-loader/52ecc8fe5168e7a444cd9cf42a8d6825.json | 1 + .../babel-loader/53a673449c5a216d9e1ec006e811b5ef.json | 1 + .../babel-loader/53c30023b53dfef24f6f7d05b1684239.json | 1 + .../babel-loader/5476a3d50d83a77622c10858402e23d3.json | 1 + .../babel-loader/575ef9db3f9db8cf35db201e92f2298f.json | 1 + .../babel-loader/5b3cc6ed9a03b583c062b0a6222152f8.json | 1 + .../babel-loader/5de3a6b198dc260d11430fd4d7eeb448.json | 1 + .../babel-loader/63aa00dd76cef39c63c226a09113d519.json | 1 + .../babel-loader/6544470f6fc28c17d6732fe10248c13f.json | 1 + .../babel-loader/675ec9dd67837a172260711e3c84f16d.json | 1 + .../babel-loader/6870afe4b037bff58bc0ac1e19042319.json | 1 + .../babel-loader/6a6272612ae4600a3aa01f370d39c44a.json | 1 + .../babel-loader/6b4f5ac6f90dddb5a0f54d06e0e9b884.json | 1 + .../babel-loader/6cb78e4e519bbbfd0ef3ed7f8b4510de.json | 1 + .../babel-loader/6d20b71ffb33e93f6abd71a72a778321.json | 1 + .../babel-loader/6fcf749cc9ae44677ac6ef6dd91a4d92.json | 1 + .../babel-loader/718a8f80e33ac69a5c4ecb72c81260d4.json | 1 + .../babel-loader/72fdd1d7e6cdc09ca461733efd19c635.json | 1 + .../babel-loader/76508089246c415583b824cdc00bfee4.json | 1 + .../babel-loader/7668fae12588c0f1e7da21eba8d7b2db.json | 1 + .../babel-loader/78295d449e8d0708bed1b8bab54920a4.json | 1 + .../babel-loader/7a2ea4bdba833821a10681cbaa4f98ec.json | 1 + .../babel-loader/7d9cdb94ebdc9d2d2517609eb2e0a7dd.json | 1 + .../babel-loader/7e89482568eed32a831141adcbc6492f.json | 1 + .../babel-loader/7ee2ef746345830883c4f058ab974daf.json | 1 + .../babel-loader/8286b7895c73e66512a7b9d043c3c022.json | 1 + .../babel-loader/82a6500cacc7125f7195b66ea317b30b.json | 1 + .../babel-loader/8348b22700aff6e501fbc38e5c54ed2e.json | 1 + .../babel-loader/84a180567d13da4288cbf7286912c03c.json | 1 + .../babel-loader/854e19772e5ec05975bfe904aed5855b.json | 1 + .../babel-loader/8589d64768cfe9fae35c8ac1c5356777.json | 1 + .../babel-loader/87a6c25589d8bcd75ddaddf103b514cb.json | 1 + .../babel-loader/8acd25fcb7066842fe41d575ae54423e.json | 1 + .../babel-loader/8d83f1749e65d590399a2100c439c8ac.json | 1 + .../babel-loader/8e4a527d0b24c921b7b780c886fa357e.json | 1 + .../babel-loader/8eb3ea090c749b4bb391208351669135.json | 1 + .../babel-loader/9156f1f2a6a134179f7cc1ad1f3ad294.json | 1 + .../babel-loader/92265e8b309da9177f5a0632a46bf965.json | 1 + .../babel-loader/92ad368e5c8483651b39e313acd71074.json | 1 + .../babel-loader/93e1687369b4f69695381ee7eca83133.json | 1 + .../babel-loader/9450a43f8252c9bee07535b895033913.json | 1 + .../babel-loader/9625bf879b513bac505d655a8de5c4a4.json | 1 + .../babel-loader/962fd170354a35c591189491aa58f56a.json | 1 + .../babel-loader/968eb48e38f2bc3834f7ef9782fb6e77.json | 1 + .../babel-loader/97654510ab720fc0a32046dd3e3d5f49.json | 1 + .../babel-loader/97f625f8584ddd10cdcc4984491d7d5c.json | 1 + .../babel-loader/98cabee429c20026bf8dd2ea1356c92f.json | 1 + .../babel-loader/998bf8ad9c9078ea76f83360d04df4f0.json | 1 + .../babel-loader/99b9d1121dd90bb1345ef297a04bbaaa.json | 1 + .../babel-loader/9a297938ae8df183746c47bd64da68dd.json | 1 + .../babel-loader/9bcddb38cac4c1f273b7947a4101bd3e.json | 1 + .../babel-loader/a2198c71feb4acba0aecdfff25f86bd9.json | 1 + .../babel-loader/a4e1cf26ec7fbe8e8fe01dd730a2558e.json | 1 + .../babel-loader/a757c90d7c4f5f5d640295ff6f320aa0.json | 1 + .../babel-loader/aa19f467e3c30b282b2e720e872cdc7f.json | 1 + .../babel-loader/aa50ba43ee0b8dee094676402b83bf9f.json | 1 + .../babel-loader/aa79dfab2c04ddd27657800ffd16c3de.json | 1 + .../babel-loader/b6838950fce923bdae27c5f1a118b716.json | 1 + .../babel-loader/b9022cc193a58e9ae776fb949b44a1ac.json | 1 + .../babel-loader/be0087cafc40fc73e5f1197381919924.json | 1 + .../babel-loader/bf6cd61c532f58544d7b02d87db0c7b3.json | 1 + .../babel-loader/c06b6c3b9cfb7489b5e6568fa8f7bee4.json | 1 + .../babel-loader/c0cd8bbefcf94128f39ef69bf388c5a9.json | 1 + .../babel-loader/c11ad57f52131edc8b54083537fceefd.json | 1 + .../babel-loader/c1ba8573850807d832f7f84e3a522310.json | 1 + .../babel-loader/c1e3fcb19d9ea5bd2ed2d782b00812b7.json | 1 + .../babel-loader/c501ef7434a3719f7216e1dd2a7a69e5.json | 1 + .../babel-loader/c78b4ae4c8b493b94d34c3644e868f8c.json | 1 + .../babel-loader/caed211a9298aa142c5744b79e6163ef.json | 1 + .../babel-loader/cd33662796e7f423de846eee209d5768.json | 1 + .../babel-loader/ce49d36342b72a779e1fa94e78342671.json | 1 + .../babel-loader/d062648dffa9f36f74ecd6ebae8bb909.json | 1 + .../babel-loader/d3f892f702e7b27b65dbc185c6ec2ff8.json | 1 + .../babel-loader/d45bf655c104d3bd487045d97b6993b7.json | 1 + .../babel-loader/d4ac9d808d83765ec377b510b36e87d4.json | 1 + .../babel-loader/d52ccae55b7f4907f1ea361c58d9aa41.json | 1 + .../babel-loader/d75c36a07d40ccdf80bfd2a1886528d2.json | 1 + .../babel-loader/d8600cd0968ae3a0bf727f91ae8ea3df.json | 1 + .../babel-loader/dab3352b233885a09c55d59be6eaf514.json | 1 + .../babel-loader/db776777ce9188b6ff3b5ce3f24baa28.json | 1 + .../babel-loader/dbf569a133192ba125c0366bd2c70db1.json | 1 + .../babel-loader/dc689a6ed84896da31cb95617da1f827.json | 1 + .../babel-loader/ddccacdc7c0f5a06ab44fe8f0de99226.json | 1 + .../babel-loader/de0759e555462ccd3f64b5f5903f92a9.json | 1 + .../babel-loader/de1e32abf8adcbc73aaeb00486d11645.json | 1 + .../babel-loader/de961013ecb7e37102a73eae0f14063e.json | 1 + .../babel-loader/dfd83a0630b68393e8bbaa6bf5595a41.json | 1 + .../babel-loader/e063060b1da2ff496b6c5285a88cbfa6.json | 1 + .../babel-loader/e1abab2b40ac979ac07c62de9b3fd621.json | 1 + .../babel-loader/e236f4fdf0008b52a9052f981607e329.json | 1 + .../babel-loader/e2d8c32b8979f88dbbdab3bdf92f828e.json | 1 + .../babel-loader/e84e2c7efa2767335812f6674463805a.json | 1 + .../babel-loader/e8fef8f4505971d1cda9c34b14eb32ee.json | 1 + .../babel-loader/ea18279d73c15970b50b92ce7d5f115a.json | 1 + .../babel-loader/ecebda58404e70559a47d425f86f6683.json | 1 + .../babel-loader/ee9ff425a32997d33365e47e44dee171.json | 1 + .../babel-loader/f101f37d3875a5dd9e3989ea88ee9e1d.json | 1 + .../babel-loader/f1a3fc426a6660f193dff6b1fde15394.json | 1 + .../babel-loader/f24e306cc7df97d877914389c268e8a8.json | 1 + .../babel-loader/f4b4af8bbbc7be8e93f0aa0d034cce4a.json | 1 + .../babel-loader/f5ded441923ea1b3aadecaa734160cdc.json | 1 + .../babel-loader/f663689870e556783ac1020f882ce283.json | 1 + .../babel-loader/f6759251b87097ea445898a1bf8216a1.json | 1 + .../babel-loader/f84c012192098a86357a6520f1fc03fb.json | 1 + .../babel-loader/f8c190e3fde536dd2f20ae9bde3025b5.json | 1 + .../babel-loader/fa7ff1bea7eed5c5f3c52a5052a7ba3f.json | 1 + .../babel-loader/fcb028d9331c9a5c7c9888acf704a706.json | 1 + iut-expo-starter/redux/reducers/appReducer.ts | 3 ++- iut-expo-starter/screens/Home.tsx | 3 ++- 159 files changed, 163 insertions(+), 5 deletions(-) create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/05b7beb7a6fb2e9cddb35c4ee65a9cc6.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/06eac418ebfe6b68aa3ac4ecba06541f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/07bf1b868fd9d74faa01cd92acef7bc2.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/08fed5bc4bbc301ed43d92d99b5fdcc2.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/0be45a59281bf571390d51c572661505.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/0d9d8d5c38d7ca3dbbeda368c24ade38.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1003077aaf99d9c5815dd48c6c56ab85.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1044e4a5b868d50b8434c9019f7e0e60.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/11d305a92932bf2bfb50fd85484587dc.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/12f6f5c81f03aee8f87e7079d10cfb41.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/131222d81ad88c9befb42f435d0fe811.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/15bfc621aa42c15a0a0f1663f501924d.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1a6cebdd921cf82f6b8eab2a570a022f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1c0a1e222747c44032b61fabf6632813.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1d7fc8506389ca22a93ce1042558acb5.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1ecf23b6cad424c49f8326128c26e6fe.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/1f94e17bca7a021396af4fe0b7e41e94.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/22227e9dda15d978fe9831c385f64eff.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/23d06fafaa8b37ab67daedf898a3426a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/2637dc8ae6094cfb4ae778c24033640c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/2687ca329de5c8053b991765af666aa2.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/27f95c6061192597704db2a5d350a5c3.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/28d8fba041920200a3cb51ac5bc2c1a8.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/2c30f76b2b326195678887aed8c9168c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/2f8e9f8d32e20ade1d74b48c9503eed9.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/2fb8d1b1f89bfea96a358f5244f16773.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/30f61cbc007c9f5f4db6dd708f3aea86.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/3324c567267b870146ea6c174a1a7f9f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/339d36f2ae8aaf6919002688cd4a1508.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/3446126cdc9a247b02aef3a6f0cbcff1.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/35dc825ceedb7fca0c1f364dbfd6533c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/368059601d2bc8e6dac342fc0d6b2614.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/3bc3dda6a9bc4fce61c0f4f9730ecfe1.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/3d756a8a78261d9f54cc288c1b65d8f6.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/3f3b3c030699ba20f2eac4eb6b4d0e6a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4082165a464e3663b6bce14fa60ac8b2.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/41f4628ad1101f9088df91eaf91c5a97.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/43cf32e1d66ecc8392b274c95f263a26.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/441331f80e970e1fec07019208fb5c33.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4566a55546cdfd106364d28a42a7788e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/462b99898173e0b46b67d7daf5a26565.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/46ba51126b89c2f4e69cfbb55fceb909.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/478a42a377518ba99ddcc215b6366733.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4b9e055a0fc2acee19f1c562dd579504.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4c33417390015d688aa1651e7a45ba70.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4d41e29567a45917414b47fd4c3f7c00.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4e14e7f1c57a7417038008fbf2963d7b.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/4e4aa8c0097680279e817d3e310227c9.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/513e109dba1dd3772e7c735869fb1519.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/52ecc8fe5168e7a444cd9cf42a8d6825.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/53a673449c5a216d9e1ec006e811b5ef.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/53c30023b53dfef24f6f7d05b1684239.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/5476a3d50d83a77622c10858402e23d3.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/575ef9db3f9db8cf35db201e92f2298f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/5b3cc6ed9a03b583c062b0a6222152f8.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/5de3a6b198dc260d11430fd4d7eeb448.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/63aa00dd76cef39c63c226a09113d519.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6544470f6fc28c17d6732fe10248c13f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/675ec9dd67837a172260711e3c84f16d.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6870afe4b037bff58bc0ac1e19042319.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6a6272612ae4600a3aa01f370d39c44a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6b4f5ac6f90dddb5a0f54d06e0e9b884.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6cb78e4e519bbbfd0ef3ed7f8b4510de.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6d20b71ffb33e93f6abd71a72a778321.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/6fcf749cc9ae44677ac6ef6dd91a4d92.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/718a8f80e33ac69a5c4ecb72c81260d4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/72fdd1d7e6cdc09ca461733efd19c635.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/76508089246c415583b824cdc00bfee4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/7668fae12588c0f1e7da21eba8d7b2db.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/78295d449e8d0708bed1b8bab54920a4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/7a2ea4bdba833821a10681cbaa4f98ec.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/7d9cdb94ebdc9d2d2517609eb2e0a7dd.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/7e89482568eed32a831141adcbc6492f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/7ee2ef746345830883c4f058ab974daf.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8286b7895c73e66512a7b9d043c3c022.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/82a6500cacc7125f7195b66ea317b30b.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8348b22700aff6e501fbc38e5c54ed2e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/84a180567d13da4288cbf7286912c03c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/854e19772e5ec05975bfe904aed5855b.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8589d64768cfe9fae35c8ac1c5356777.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/87a6c25589d8bcd75ddaddf103b514cb.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8acd25fcb7066842fe41d575ae54423e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8d83f1749e65d590399a2100c439c8ac.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8e4a527d0b24c921b7b780c886fa357e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/8eb3ea090c749b4bb391208351669135.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/9156f1f2a6a134179f7cc1ad1f3ad294.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/92265e8b309da9177f5a0632a46bf965.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/92ad368e5c8483651b39e313acd71074.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/93e1687369b4f69695381ee7eca83133.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/9450a43f8252c9bee07535b895033913.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/9625bf879b513bac505d655a8de5c4a4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/962fd170354a35c591189491aa58f56a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/968eb48e38f2bc3834f7ef9782fb6e77.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/97654510ab720fc0a32046dd3e3d5f49.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/97f625f8584ddd10cdcc4984491d7d5c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/98cabee429c20026bf8dd2ea1356c92f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/998bf8ad9c9078ea76f83360d04df4f0.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/99b9d1121dd90bb1345ef297a04bbaaa.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/9a297938ae8df183746c47bd64da68dd.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/9bcddb38cac4c1f273b7947a4101bd3e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/a2198c71feb4acba0aecdfff25f86bd9.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/a4e1cf26ec7fbe8e8fe01dd730a2558e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/a757c90d7c4f5f5d640295ff6f320aa0.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/aa19f467e3c30b282b2e720e872cdc7f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/aa50ba43ee0b8dee094676402b83bf9f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/aa79dfab2c04ddd27657800ffd16c3de.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/b6838950fce923bdae27c5f1a118b716.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/b9022cc193a58e9ae776fb949b44a1ac.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/be0087cafc40fc73e5f1197381919924.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/bf6cd61c532f58544d7b02d87db0c7b3.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c06b6c3b9cfb7489b5e6568fa8f7bee4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c0cd8bbefcf94128f39ef69bf388c5a9.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c11ad57f52131edc8b54083537fceefd.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c1ba8573850807d832f7f84e3a522310.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c1e3fcb19d9ea5bd2ed2d782b00812b7.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c501ef7434a3719f7216e1dd2a7a69e5.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/c78b4ae4c8b493b94d34c3644e868f8c.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/caed211a9298aa142c5744b79e6163ef.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/cd33662796e7f423de846eee209d5768.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/ce49d36342b72a779e1fa94e78342671.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d062648dffa9f36f74ecd6ebae8bb909.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d3f892f702e7b27b65dbc185c6ec2ff8.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d45bf655c104d3bd487045d97b6993b7.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d4ac9d808d83765ec377b510b36e87d4.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d52ccae55b7f4907f1ea361c58d9aa41.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d75c36a07d40ccdf80bfd2a1886528d2.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/d8600cd0968ae3a0bf727f91ae8ea3df.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/dab3352b233885a09c55d59be6eaf514.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/db776777ce9188b6ff3b5ce3f24baa28.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/dbf569a133192ba125c0366bd2c70db1.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/dc689a6ed84896da31cb95617da1f827.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/ddccacdc7c0f5a06ab44fe8f0de99226.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/de0759e555462ccd3f64b5f5903f92a9.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/de1e32abf8adcbc73aaeb00486d11645.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/de961013ecb7e37102a73eae0f14063e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/dfd83a0630b68393e8bbaa6bf5595a41.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e063060b1da2ff496b6c5285a88cbfa6.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e1abab2b40ac979ac07c62de9b3fd621.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e236f4fdf0008b52a9052f981607e329.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e2d8c32b8979f88dbbdab3bdf92f828e.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e84e2c7efa2767335812f6674463805a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/e8fef8f4505971d1cda9c34b14eb32ee.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/ea18279d73c15970b50b92ce7d5f115a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/ecebda58404e70559a47d425f86f6683.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/ee9ff425a32997d33365e47e44dee171.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f101f37d3875a5dd9e3989ea88ee9e1d.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f1a3fc426a6660f193dff6b1fde15394.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f24e306cc7df97d877914389c268e8a8.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f4b4af8bbbc7be8e93f0aa0d034cce4a.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f5ded441923ea1b3aadecaa734160cdc.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f663689870e556783ac1020f882ce283.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f6759251b87097ea445898a1bf8216a1.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f84c012192098a86357a6520f1fc03fb.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/f8c190e3fde536dd2f20ae9bde3025b5.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/fa7ff1bea7eed5c5f3c52a5052a7ba3f.json create mode 100644 iut-expo-starter/.expo/web/cache/development/babel-loader/fcb028d9331c9a5c7c9888acf704a706.json diff --git a/iut-expo-starter/.expo/packager-info.json b/iut-expo-starter/.expo/packager-info.json index 36cff4cb..fc8b3e65 100644 --- a/iut-expo-starter/.expo/packager-info.json +++ b/iut-expo-starter/.expo/packager-info.json @@ -1,9 +1,9 @@ { - "expoServerPort": null, - "packagerPort": null, + "expoServerPort": 19000, + "packagerPort": 19000, "packagerPid": null, "expoServerNgrokUrl": null, "packagerNgrokUrl": null, "ngrokPid": null, - "webpackServerPort": null + "webpackServerPort": 19006 } diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/05b7beb7a6fb2e9cddb35c4ee65a9cc6.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/05b7beb7a6fb2e9cddb35c4ee65a9cc6.json new file mode 100644 index 00000000..32212254 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/05b7beb7a6fb2e9cddb35c4ee65a9cc6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { City, Weather } from \"../../data/stub\";\nimport { setWeatherList } from \"./setWeatherList\";\nimport { setWeatherSearched } from \"./setWeatherSearched\";\nexport var getWeatherList = function getWeatherList() {\n return function () {\n var _ref = _asyncToGenerator(function* (dispatch) {\n try {\n var cityPromise = yield fetch('https://iut-weather-api.azurewebsites.net/cities');\n var cityListJson = yield cityPromise.json();\n var cityList = cityListJson.map(function (elt) {\n return new City(elt[\"name\"], elt[\"latitude\"], elt[\"longitude\"]);\n });\n var promises = cityList.map(function (city) {\n return fetch('https://iut-weather-api.azurewebsites.net/weather/city/name/' + city.name);\n });\n Promise.all(promises).then(function (values) {\n var prom = values.map(function () {\n var _ref2 = _asyncToGenerator(function* (resp) {\n var weatherJson = yield resp.json();\n return new Weather(weatherJson[\"at\"], weatherJson[\"visibility\"], weatherJson[\"weatherType\"], weatherJson[\"weatherDescription\"], weatherJson[\"temperature\"], weatherJson[\"temperatureFeelsLike\"], weatherJson[\"humidity\"], weatherJson[\"windSpeed\"], weatherJson[\"pressure\"], new City(weatherJson[\"city\"][\"name\"], weatherJson[\"city\"][\"latitude\"], weatherJson[\"city\"][\"longitude\"]));\n });\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n Promise.all(prom).then(function (values) {\n dispatch(setWeatherList(values));\n dispatch(setWeatherSearched(values));\n });\n });\n } catch (error) {\n console.log('Error---------', error);\n }\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n};","map":{"version":3,"names":["City","Weather","setWeatherList","setWeatherSearched","getWeatherList","dispatch","cityPromise","fetch","cityListJson","json","cityList","map","elt","promises","city","name","Promise","all","then","values","prom","resp","weatherJson","error","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/getWeatherList.ts"],"sourcesContent":["import { City, Weather } from '../../data/stub';\nimport {GET_CITIES} from '../constants';\nimport { setWeatherList } from './setWeatherList';\nimport { setWeatherSearched } from './setWeatherSearched';\n\nexport const getWeatherList = () => {\n return async dispatch => {\n\n try {\n const cityPromise = await fetch('https://iut-weather-api.azurewebsites.net/cities');\n\n const cityListJson = await cityPromise.json();\n\n const cityList: City[] = cityListJson.map((elt: { [x: string]: any; }) => new City(elt[\"name\"], elt[\"latitude\"], elt[\"longitude\"]));\n\n const promises = cityList.map( (city) =>{\n return fetch('https://iut-weather-api.azurewebsites.net/weather/city/name/'+city.name);\n })\n Promise.all(promises).then((values) => {\n const prom = values.map(async resp => {\n const weatherJson = await resp.json();\n return new Weather(weatherJson[\"at\"], weatherJson[\"visibility\"], weatherJson[\"weatherType\"], weatherJson[\"weatherDescription\"], weatherJson[\"temperature\"], weatherJson[\"temperatureFeelsLike\"], weatherJson[\"humidity\"], weatherJson[\"windSpeed\"], weatherJson[\"pressure\"], new City(weatherJson[\"city\"][\"name\"], weatherJson[\"city\"][\"latitude\"], weatherJson[\"city\"][\"longitude\"]));\n });\n Promise.all(prom).then((values) => {\n dispatch(setWeatherList(values));\n dispatch(setWeatherSearched(values))\n })\n\n })\n } catch (error) {\n console.log('Error---------', error);\n //You can dispatch to another action if you want to display an error message in the application\n //dispatch(fetchDataRejected(error))\n }\n }\n}"],"mappings":";AAAA,SAASA,IAAI,EAAEC,OAAO;AAEtB,SAASC,cAAc;AACvB,SAASC,kBAAkB;AAE3B,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAc,GAAS;EAClC;IAAA,6BAAO,WAAMC,QAAQ,EAAI;MAEvB,IAAI;QACF,IAAMC,WAAW,SAASC,KAAK,CAAC,kDAAkD,CAAC;QAEnF,IAAMC,YAAY,SAASF,WAAW,CAACG,IAAI,EAAE;QAE7C,IAAMC,QAAgB,GAAGF,YAAY,CAACG,GAAG,CAAC,UAACC,GAA0B;UAAA,OAAK,IAAIZ,IAAI,CAACY,GAAG,CAAC,MAAM,CAAC,EAAEA,GAAG,CAAC,UAAU,CAAC,EAAEA,GAAG,CAAC,WAAW,CAAC,CAAC;QAAA,EAAC;QAEnI,IAAMC,QAAQ,GAAGH,QAAQ,CAACC,GAAG,CAAE,UAACG,IAAI,EAAI;UACtC,OAAOP,KAAK,CAAC,8DAA8D,GAACO,IAAI,CAACC,IAAI,CAAC;QACxF,CAAC,CAAC;QACFC,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC,CAACK,IAAI,CAAC,UAACC,MAAM,EAAK;UACrC,IAAMC,IAAI,GAAGD,MAAM,CAACR,GAAG;YAAA,8BAAC,WAAMU,IAAI,EAAI;cACpC,IAAMC,WAAW,SAASD,IAAI,CAACZ,IAAI,EAAE;cACrC,OAAO,IAAIR,OAAO,CAACqB,WAAW,CAAC,IAAI,CAAC,EAAEA,WAAW,CAAC,YAAY,CAAC,EAAEA,WAAW,CAAC,aAAa,CAAC,EAAEA,WAAW,CAAC,oBAAoB,CAAC,EAAEA,WAAW,CAAC,aAAa,CAAC,EAAEA,WAAW,CAAC,sBAAsB,CAAC,EAAEA,WAAW,CAAC,UAAU,CAAC,EAAEA,WAAW,CAAC,WAAW,CAAC,EAAEA,WAAW,CAAC,UAAU,CAAC,EAAE,IAAItB,IAAI,CAACsB,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAEA,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAEA,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACxX,CAAC;YAAA;cAAA;YAAA;UAAA,IAAC;UACFN,OAAO,CAACC,GAAG,CAACG,IAAI,CAAC,CAACF,IAAI,CAAC,UAACC,MAAM,EAAK;YACjCd,QAAQ,CAACH,cAAc,CAACiB,MAAM,CAAC,CAAC;YAChCd,QAAQ,CAACF,kBAAkB,CAACgB,MAAM,CAAC,CAAC;UACtC,CAAC,CAAC;QAEJ,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,KAAK,CAAC;MAGtC;IACF,CAAC;IAAA;MAAA;IAAA;EAAA;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/06eac418ebfe6b68aa3ac4ecba06541f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/06eac418ebfe6b68aa3ac4ecba06541f.json new file mode 100644 index 00000000..2e8a6a13 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/06eac418ebfe6b68aa3ac4ecba06541f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nvar NativeIconAPI = NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n if (Platform.OS === 'android') {\n throw new Error('RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.');\n }\n throw new Error('RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.');\n }\n}","map":{"version":3,"names":["NativeIconAPI","NativeModules","RNVectorIconsManager","RNVectorIconsModule","ensureNativeModuleAvailable","Platform","OS","Error"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/ensure-native-module-available.js"],"sourcesContent":["import { Platform, NativeModules } from 'react-native';\n\nconst NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n if (Platform.OS === 'android') {\n throw new Error(\n 'RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n throw new Error(\n 'RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n}\n"],"mappings":";;AAEA,IAAMA,aAAa,GACjBC,aAAa,CAACC,oBAAoB,IAAID,aAAa,CAACE,mBAAmB;AAEzE,eAAe,SAASC,2BAA2B,GAAG;EACpD,IAAI,CAACJ,aAAa,EAAE;IAClB,IAAIK,QAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM,IAAIC,KAAK,CACb,sJAAsJ,CACvJ;IACH;IACA,MAAM,IAAIA,KAAK,CACb,0LAA0L,CAC3L;EACH;AACF"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/07bf1b868fd9d74faa01cd92acef7bc2.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/07bf1b868fd9d74faa01cd92acef7bc2.json new file mode 100644 index 00000000..f7f8913b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/07bf1b868fd9d74faa01cd92acef7bc2.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var GET_FAVORITE_CITY = \"GET_FAVORITE_CITY\";\nexport var ADD_FAVORITE_CITY = \"ADD_FAVORITE_CITY\";\nexport var FETCH_FAVORITE_CITY = \"FETCH_FAVORITE_CITY\";\nexport var DELETE_FAVORITE_CITY = \"DELETE_FAVORITE_CITY\";\nexport var GET_CITIES = \"GET_CITIES\";\nexport var GET_WEATHER_LIST = \"GET_WEATHER_LIST\";\nexport var FETCH_WEATHER_LIST = \"FETCH_WEATHER_LIST\";\nexport var GET_WEATHER = \"GET_WEATHER\";\nexport var FETCH_WEATHER = \"FETCH_WEATHER\";\nexport var GET_WEATHER_SEARCHED = \"GET_WEATHER_SEARCHED\";\nexport var FETCH_WEATHER_SEARCHED = \"FETCH_WEATHER_SEARCHED\";","map":{"version":3,"names":["GET_FAVORITE_CITY","ADD_FAVORITE_CITY","FETCH_FAVORITE_CITY","DELETE_FAVORITE_CITY","GET_CITIES","GET_WEATHER_LIST","FETCH_WEATHER_LIST","GET_WEATHER","FETCH_WEATHER","GET_WEATHER_SEARCHED","FETCH_WEATHER_SEARCHED"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/constants.ts"],"sourcesContent":["export const GET_FAVORITE_CITY = \"GET_FAVORITE_CITY\"\nexport const ADD_FAVORITE_CITY = \"ADD_FAVORITE_CITY\"\nexport const FETCH_FAVORITE_CITY = \"FETCH_FAVORITE_CITY\"\nexport const DELETE_FAVORITE_CITY = \"DELETE_FAVORITE_CITY\"\nexport const GET_CITIES = \"GET_CITIES\"\nexport const GET_WEATHER_LIST = \"GET_WEATHER_LIST\"\nexport const FETCH_WEATHER_LIST = \"FETCH_WEATHER_LIST\"\nexport const GET_WEATHER = \"GET_WEATHER\"\nexport const FETCH_WEATHER = \"FETCH_WEATHER\"\nexport const GET_WEATHER_SEARCHED = \"GET_WEATHER_SEARCHED\"\nexport const FETCH_WEATHER_SEARCHED = \"FETCH_WEATHER_SEARCHED\"\n\n"],"mappings":"AAAA,OAAO,IAAMA,iBAAiB,GAAG,mBAAmB;AACpD,OAAO,IAAMC,iBAAiB,GAAG,mBAAmB;AACpD,OAAO,IAAMC,mBAAmB,GAAG,qBAAqB;AACxD,OAAO,IAAMC,oBAAoB,GAAG,sBAAsB;AAC1D,OAAO,IAAMC,UAAU,GAAG,YAAY;AACtC,OAAO,IAAMC,gBAAgB,GAAG,kBAAkB;AAClD,OAAO,IAAMC,kBAAkB,GAAG,oBAAoB;AACtD,OAAO,IAAMC,WAAW,GAAG,aAAa;AACxC,OAAO,IAAMC,aAAa,GAAG,eAAe;AAC5C,OAAO,IAAMC,oBAAoB,GAAG,sBAAsB;AAC1D,OAAO,IAAMC,sBAAsB,GAAG,wBAAwB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/08fed5bc4bbc301ed43d92d99b5fdcc2.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/08fed5bc4bbc301ed43d92d99b5fdcc2.json new file mode 100644 index 00000000..f2b9b774 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/08fed5bc4bbc301ed43d92d99b5fdcc2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import canUseDOM from \"../../modules/canUseDom\";\nfunction isScreenReaderEnabled() {\n return new Promise(function (resolve, reject) {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise(function (resolve, reject) {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\nvar handlers = {};\nvar AccessibilityInfo = {\n isScreenReaderEnabled: isScreenReaderEnabled,\n isReduceMotionEnabled: isReduceMotionEnabled,\n fetch: isScreenReaderEnabled,\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n var listener = function listener(event) {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: function remove() {\n return AccessibilityInfo.removeEventListener(eventName, handler);\n }\n };\n },\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n announceForAccessibility: function announceForAccessibility(announcement) {},\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","map":{"version":3,"names":["canUseDOM","isScreenReaderEnabled","Promise","resolve","reject","prefersReducedMotionMedia","window","matchMedia","isReduceMotionEnabled","matches","addChangeListener","fn","addEventListener","addListener","removeChangeListener","removeEventListener","removeListener","handlers","AccessibilityInfo","fetch","eventName","handler","listener","event","remove","setAccessibilityFocus","reactTag","announceForAccessibility","announcement"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\n\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\n\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\n\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\n\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\n\nvar handlers = {};\nvar AccessibilityInfo = {\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isScreenReaderEnabled,\n\n /**\n * Query whether the user prefers reduced motion.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isReduceMotionEnabled,\n\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n\n var listener = event => {\n handler(event.matches);\n };\n\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n\n removeChangeListener(listener);\n }\n\n return;\n }\n};\nexport default AccessibilityInfo;"],"mappings":"AAQA,OAAOA,SAAS;AAEhB,SAASC,qBAAqB,GAAG;EAC/B,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACtCD,OAAO,CAAC,IAAI,CAAC;EACf,CAAC,CAAC;AACJ;AAEA,IAAIE,yBAAyB,GAAGL,SAAS,IAAI,OAAOM,MAAM,CAACC,UAAU,KAAK,UAAU,GAAGD,MAAM,CAACC,UAAU,CAAC,kCAAkC,CAAC,GAAG,IAAI;AAEnJ,SAASC,qBAAqB,GAAG;EAC/B,OAAO,IAAIN,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACtCD,OAAO,CAACE,yBAAyB,GAAGA,yBAAyB,CAACI,OAAO,GAAG,IAAI,CAAC;EAC/E,CAAC,CAAC;AACJ;AAEA,SAASC,iBAAiB,CAACC,EAAE,EAAE;EAC7B,IAAIN,yBAAyB,IAAI,IAAI,EAAE;IACrCA,yBAAyB,CAACO,gBAAgB,IAAI,IAAI,GAAGP,yBAAyB,CAACO,gBAAgB,CAAC,QAAQ,EAAED,EAAE,CAAC,GAAGN,yBAAyB,CAACQ,WAAW,CAACF,EAAE,CAAC;EAC3J;AACF;AAEA,SAASG,oBAAoB,CAACH,EAAE,EAAE;EAChC,IAAIN,yBAAyB,IAAI,IAAI,EAAE;IACrCA,yBAAyB,CAACU,mBAAmB,IAAI,IAAI,GAAGV,yBAAyB,CAACU,mBAAmB,CAAC,QAAQ,EAAEJ,EAAE,CAAC,GAAGN,yBAAyB,CAACW,cAAc,CAACL,EAAE,CAAC;EACpK;AACF;AAEA,IAAIM,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAIC,iBAAiB,GAAG;EAOtBjB,qBAAqB,EAArBA,qBAAqB;EAQrBO,qBAAqB,EAArBA,qBAAqB;EAKrBW,KAAK,EAAElB,qBAAqB;EAK5BW,gBAAgB,EAAE,SAASA,gBAAgB,CAACQ,SAAS,EAAEC,OAAO,EAAE;IAC9D,IAAID,SAAS,KAAK,qBAAqB,EAAE;MACvC,IAAI,CAACf,yBAAyB,EAAE;QAC9B;MACF;MAEA,IAAIiB,QAAQ,GAAG,SAAXA,QAAQ,CAAGC,KAAK,EAAI;QACtBF,OAAO,CAACE,KAAK,CAACd,OAAO,CAAC;MACxB,CAAC;MAEDC,iBAAiB,CAACY,QAAQ,CAAC;MAC3BL,QAAQ,CAACI,OAAO,CAAC,GAAGC,QAAQ;IAC9B;IAEA,OAAO;MACLE,MAAM,EAAE;QAAA,OAAMN,iBAAiB,CAACH,mBAAmB,CAACK,SAAS,EAAEC,OAAO,CAAC;MAAA;IACzE,CAAC;EACH,CAAC;EAKDI,qBAAqB,EAAE,SAASA,qBAAqB,CAACC,QAAQ,EAAE,CAAC,CAAC;EAKlEC,wBAAwB,EAAE,SAASA,wBAAwB,CAACC,YAAY,EAAE,CAAC,CAAC;EAK5Eb,mBAAmB,EAAE,SAASA,mBAAmB,CAACK,SAAS,EAAEC,OAAO,EAAE;IACpE,IAAID,SAAS,KAAK,qBAAqB,EAAE;MACvC,IAAIE,QAAQ,GAAGL,QAAQ,CAACI,OAAO,CAAC;MAEhC,IAAI,CAACC,QAAQ,IAAI,CAACjB,yBAAyB,EAAE;QAC3C;MACF;MAEAS,oBAAoB,CAACQ,QAAQ,CAAC;IAChC;IAEA;EACF;AACF,CAAC;AACD,eAAeJ,iBAAiB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/0be45a59281bf571390d51c572661505.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/0be45a59281bf571390d51c572661505.json new file mode 100644 index 00000000..0f776aaf --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/0be45a59281bf571390d51c572661505.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/MaterialIcons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/MaterialIcons.json\";\nexport default createIconSet(glyphMap, 'material', font);","map":{"version":3,"sources":["../src/MaterialIcons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/MaterialIcons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/MaterialIcons.json';\n\nexport default createIconSet(glyphMap, 'material', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/0d9d8d5c38d7ca3dbbeda368c24ade38.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/0d9d8d5c38d7ca3dbbeda368c24ade38.json new file mode 100644 index 00000000..b118a23f --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/0d9d8d5c38d7ca3dbbeda368c24ade38.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport Appearance from \"../Appearance\";\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n React.useEffect(function () {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n return remove;\n });\n return colorScheme;\n}","map":{"version":3,"names":["React","Appearance","useColorScheme","_React$useState","useState","getColorScheme","colorScheme","setColorScheme","useEffect","listener","appearance","_Appearance$addChange","addChangeListener","remove"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/useColorScheme/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport Appearance from '../Appearance';\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n\n React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n\n return remove;\n });\n return colorScheme;\n}"],"mappings":"AASA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU;AACjB,eAAe,SAASC,cAAc,GAAG;EACvC,IAAIC,eAAe,GAAGH,KAAK,CAACI,QAAQ,CAACH,UAAU,CAACI,cAAc,EAAE,CAAC;IAC7DC,WAAW,GAAGH,eAAe,CAAC,CAAC,CAAC;IAChCI,cAAc,GAAGJ,eAAe,CAAC,CAAC,CAAC;EAEvCH,KAAK,CAACQ,SAAS,CAAC,YAAM;IACpB,SAASC,QAAQ,CAACC,UAAU,EAAE;MAC5BH,cAAc,CAACG,UAAU,CAACJ,WAAW,CAAC;IACxC;IAEA,IAAIK,qBAAqB,GAAGV,UAAU,CAACW,iBAAiB,CAACH,QAAQ,CAAC;MAC9DI,MAAM,GAAGF,qBAAqB,CAACE,MAAM;IAEzC,OAAOA,MAAM;EACf,CAAC,CAAC;EACF,OAAOP,WAAW;AACpB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1003077aaf99d9c5815dd48c6c56ab85.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1003077aaf99d9c5815dd48c6c56ab85.json new file mode 100644 index 00000000..d74691c2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1003077aaf99d9c5815dd48c6c56ab85.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"styleInterpolator\", \"interpolationIndex\", \"current\", \"gesture\", \"next\", \"layout\", \"insets\", \"overlay\", \"overlayEnabled\", \"shadowEnabled\", \"gestureEnabled\", \"gestureDirection\", \"pageOverflowEnabled\", \"headerDarkContent\", \"children\", \"containerStyle\", \"contentStyle\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nimport Color from 'color';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport InteractionManager from \"react-native-web/dist/exports/InteractionManager\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { forModalPresentationIOS } from \"../../TransitionConfigs/CardStyleInterpolators\";\nimport CardAnimationContext from \"../../utils/CardAnimationContext\";\nimport getDistanceForDirection from \"../../utils/getDistanceForDirection\";\nimport getInvertedMultiplier from \"../../utils/getInvertedMultiplier\";\nimport memoize from \"../../utils/memoize\";\nimport { GestureState, PanGestureHandler } from \"../GestureHandler\";\nimport ModalStatusBarManager from \"../ModalStatusBarManager\";\nimport CardSheet from \"./CardSheet\";\nvar GESTURE_VELOCITY_IMPACT = 0.3;\nvar TRUE = 1;\nvar FALSE = 0;\nvar GESTURE_RESPONSE_DISTANCE_HORIZONTAL = 50;\nvar GESTURE_RESPONSE_DISTANCE_VERTICAL = 135;\nvar useNativeDriver = Platform.OS !== 'web';\nvar hasOpacityStyle = function hasOpacityStyle(style) {\n if (style) {\n var flattenedStyle = StyleSheet.flatten(style);\n return flattenedStyle.opacity != null;\n }\n return false;\n};\nvar Card = function (_React$Component) {\n _inherits(Card, _React$Component);\n var _super = _createSuper(Card);\n function Card() {\n var _this;\n _classCallCheck(this, Card);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.isCurrentlyMounted = false;\n _this.isClosing = new Animated.Value(FALSE);\n _this.inverted = new Animated.Value(getInvertedMultiplier(_this.props.gestureDirection));\n _this.layout = {\n width: new Animated.Value(_this.props.layout.width),\n height: new Animated.Value(_this.props.layout.height)\n };\n _this.isSwiping = new Animated.Value(FALSE);\n _this.animate = function (_ref2) {\n var closing = _ref2.closing,\n velocity = _ref2.velocity;\n var _this$props = _this.props,\n gesture = _this$props.gesture,\n transitionSpec = _this$props.transitionSpec,\n onOpen = _this$props.onOpen,\n onClose = _this$props.onClose,\n onTransition = _this$props.onTransition;\n var toValue = _this.getAnimateToValue(_objectSpread(_objectSpread({}, _this.props), {}, {\n closing: closing\n }));\n _this.lastToValue = toValue;\n _this.isClosing.setValue(closing ? TRUE : FALSE);\n var spec = closing ? transitionSpec.close : transitionSpec.open;\n var animation = spec.animation === 'spring' ? Animated.spring : Animated.timing;\n _this.setPointerEventsEnabled(!closing);\n _this.handleStartInteraction();\n clearTimeout(_this.pendingGestureCallback);\n onTransition === null || onTransition === void 0 ? void 0 : onTransition({\n closing: closing,\n gesture: velocity !== undefined\n });\n animation(gesture, _objectSpread(_objectSpread({}, spec.config), {}, {\n velocity: velocity,\n toValue: toValue,\n useNativeDriver: useNativeDriver,\n isInteraction: false\n })).start(function (_ref3) {\n var finished = _ref3.finished;\n _this.handleEndInteraction();\n clearTimeout(_this.pendingGestureCallback);\n if (finished) {\n if (closing) {\n onClose();\n } else {\n onOpen();\n }\n if (_this.isCurrentlyMounted) {\n _this.forceUpdate();\n }\n }\n });\n };\n _this.getAnimateToValue = function (_ref4) {\n var closing = _ref4.closing,\n layout = _ref4.layout,\n gestureDirection = _ref4.gestureDirection;\n if (!closing) {\n return 0;\n }\n return getDistanceForDirection(layout, gestureDirection);\n };\n _this.setPointerEventsEnabled = function (enabled) {\n var _this$ref$current;\n var pointerEvents = enabled ? 'box-none' : 'none';\n (_this$ref$current = _this.ref.current) === null || _this$ref$current === void 0 ? void 0 : _this$ref$current.setPointerEvents(pointerEvents);\n };\n _this.handleStartInteraction = function () {\n if (_this.interactionHandle === undefined) {\n _this.interactionHandle = InteractionManager.createInteractionHandle();\n }\n };\n _this.handleEndInteraction = function () {\n if (_this.interactionHandle !== undefined) {\n InteractionManager.clearInteractionHandle(_this.interactionHandle);\n _this.interactionHandle = undefined;\n }\n };\n _this.handleGestureStateChange = function (_ref5) {\n var nativeEvent = _ref5.nativeEvent;\n var _this$props2 = _this.props,\n layout = _this$props2.layout,\n onClose = _this$props2.onClose,\n onGestureBegin = _this$props2.onGestureBegin,\n onGestureCanceled = _this$props2.onGestureCanceled,\n onGestureEnd = _this$props2.onGestureEnd,\n gestureDirection = _this$props2.gestureDirection,\n gestureVelocityImpact = _this$props2.gestureVelocityImpact;\n switch (nativeEvent.state) {\n case GestureState.ACTIVE:\n _this.isSwiping.setValue(TRUE);\n _this.handleStartInteraction();\n onGestureBegin === null || onGestureBegin === void 0 ? void 0 : onGestureBegin();\n break;\n case GestureState.CANCELLED:\n {\n _this.isSwiping.setValue(FALSE);\n _this.handleEndInteraction();\n var velocity = gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? nativeEvent.velocityY : nativeEvent.velocityX;\n _this.animate({\n closing: _this.props.closing,\n velocity: velocity\n });\n onGestureCanceled === null || onGestureCanceled === void 0 ? void 0 : onGestureCanceled();\n break;\n }\n case GestureState.END:\n {\n _this.isSwiping.setValue(FALSE);\n var distance;\n var translation;\n var _velocity;\n if (gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted') {\n distance = layout.height;\n translation = nativeEvent.translationY;\n _velocity = nativeEvent.velocityY;\n } else {\n distance = layout.width;\n translation = nativeEvent.translationX;\n _velocity = nativeEvent.velocityX;\n }\n var closing = (translation + _velocity * gestureVelocityImpact) * getInvertedMultiplier(gestureDirection) > distance / 2 ? _velocity !== 0 || translation !== 0 : _this.props.closing;\n _this.animate({\n closing: closing,\n velocity: _velocity\n });\n if (closing) {\n _this.pendingGestureCallback = setTimeout(function () {\n onClose();\n _this.forceUpdate();\n }, 32);\n }\n onGestureEnd === null || onGestureEnd === void 0 ? void 0 : onGestureEnd();\n break;\n }\n }\n };\n _this.getInterpolatedStyle = memoize(function (styleInterpolator, animation) {\n return styleInterpolator(animation);\n });\n _this.getCardAnimation = memoize(function (interpolationIndex, current, next, layout, insetTop, insetRight, insetBottom, insetLeft) {\n return {\n index: interpolationIndex,\n current: {\n progress: current\n },\n next: next && {\n progress: next\n },\n closing: _this.isClosing,\n swiping: _this.isSwiping,\n inverted: _this.inverted,\n layouts: {\n screen: layout\n },\n insets: {\n top: insetTop,\n right: insetRight,\n bottom: insetBottom,\n left: insetLeft\n }\n };\n });\n _this.ref = React.createRef();\n return _this;\n }\n _createClass(Card, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.animate({\n closing: this.props.closing\n });\n this.isCurrentlyMounted = true;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n layout = _this$props3.layout,\n gestureDirection = _this$props3.gestureDirection,\n closing = _this$props3.closing;\n var width = layout.width,\n height = layout.height;\n if (width !== prevProps.layout.width) {\n this.layout.width.setValue(width);\n }\n if (height !== prevProps.layout.height) {\n this.layout.height.setValue(height);\n }\n if (gestureDirection !== prevProps.gestureDirection) {\n this.inverted.setValue(getInvertedMultiplier(gestureDirection));\n }\n var toValue = this.getAnimateToValue(this.props);\n if (this.getAnimateToValue(prevProps) !== toValue || this.lastToValue !== toValue) {\n this.animate({\n closing: closing\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.gesture.stopAnimation();\n this.isCurrentlyMounted = false;\n this.handleEndInteraction();\n }\n }, {\n key: \"gestureActivationCriteria\",\n value: function gestureActivationCriteria() {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n gestureDirection = _this$props4.gestureDirection,\n gestureResponseDistance = _this$props4.gestureResponseDistance;\n var enableTrackpadTwoFingerGesture = true;\n var distance = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? GESTURE_RESPONSE_DISTANCE_VERTICAL : GESTURE_RESPONSE_DISTANCE_HORIZONTAL;\n if (gestureDirection === 'vertical') {\n return {\n maxDeltaX: 15,\n minOffsetY: 5,\n hitSlop: {\n bottom: -layout.height + distance\n },\n enableTrackpadTwoFingerGesture: enableTrackpadTwoFingerGesture\n };\n } else if (gestureDirection === 'vertical-inverted') {\n return {\n maxDeltaX: 15,\n minOffsetY: -5,\n hitSlop: {\n top: -layout.height + distance\n },\n enableTrackpadTwoFingerGesture: enableTrackpadTwoFingerGesture\n };\n } else {\n var hitSlop = -layout.width + distance;\n var invertedMultiplier = getInvertedMultiplier(gestureDirection);\n if (invertedMultiplier === 1) {\n return {\n minOffsetX: 5,\n maxDeltaY: 20,\n hitSlop: {\n right: hitSlop\n },\n enableTrackpadTwoFingerGesture: enableTrackpadTwoFingerGesture\n };\n } else {\n return {\n minOffsetX: -5,\n maxDeltaY: 20,\n hitSlop: {\n left: hitSlop\n },\n enableTrackpadTwoFingerGesture: enableTrackpadTwoFingerGesture\n };\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n styleInterpolator = _this$props5.styleInterpolator,\n interpolationIndex = _this$props5.interpolationIndex,\n current = _this$props5.current,\n gesture = _this$props5.gesture,\n next = _this$props5.next,\n layout = _this$props5.layout,\n insets = _this$props5.insets,\n overlay = _this$props5.overlay,\n overlayEnabled = _this$props5.overlayEnabled,\n shadowEnabled = _this$props5.shadowEnabled,\n gestureEnabled = _this$props5.gestureEnabled,\n gestureDirection = _this$props5.gestureDirection,\n pageOverflowEnabled = _this$props5.pageOverflowEnabled,\n headerDarkContent = _this$props5.headerDarkContent,\n children = _this$props5.children,\n customContainerStyle = _this$props5.containerStyle,\n contentStyle = _this$props5.contentStyle,\n rest = _objectWithoutProperties(_this$props5, _excluded);\n var interpolationProps = this.getCardAnimation(interpolationIndex, current, next, layout, insets.top, insets.right, insets.bottom, insets.left);\n var interpolatedStyle = this.getInterpolatedStyle(styleInterpolator, interpolationProps);\n var containerStyle = interpolatedStyle.containerStyle,\n cardStyle = interpolatedStyle.cardStyle,\n overlayStyle = interpolatedStyle.overlayStyle,\n shadowStyle = interpolatedStyle.shadowStyle;\n var handleGestureEvent = gestureEnabled ? Animated.event([{\n nativeEvent: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {\n translationY: gesture\n } : {\n translationX: gesture\n }\n }], {\n useNativeDriver: useNativeDriver\n }) : undefined;\n var _StyleSheet$flatten = StyleSheet.flatten(contentStyle || {}),\n backgroundColor = _StyleSheet$flatten.backgroundColor;\n var isTransparent = typeof backgroundColor === 'string' ? Color(backgroundColor).alpha() === 0 : false;\n return React.createElement(CardAnimationContext.Provider, {\n value: interpolationProps\n }, Platform.OS === 'ios' && overlayEnabled && next && getIsModalPresentation(styleInterpolator) ? React.createElement(ModalStatusBarManager, {\n dark: headerDarkContent,\n layout: layout,\n insets: insets,\n style: cardStyle\n }) : null, React.createElement(Animated.View, {\n style: {\n opacity: current\n },\n collapsable: false\n }), React.createElement(View, _extends({\n pointerEvents: \"box-none\"\n }, rest), overlayEnabled ? React.createElement(View, {\n pointerEvents: \"box-none\",\n style: StyleSheet.absoluteFill\n }, overlay({\n style: overlayStyle\n })) : null, React.createElement(Animated.View, {\n style: [styles.container, containerStyle, customContainerStyle],\n pointerEvents: \"box-none\"\n }, React.createElement(PanGestureHandler, _extends({\n enabled: layout.width !== 0 && gestureEnabled,\n onGestureEvent: handleGestureEvent,\n onHandlerStateChange: this.handleGestureStateChange\n }, this.gestureActivationCriteria()), React.createElement(Animated.View, {\n needsOffscreenAlphaCompositing: hasOpacityStyle(cardStyle),\n style: [styles.container, cardStyle]\n }, shadowEnabled && shadowStyle && !isTransparent ? React.createElement(Animated.View, {\n style: [styles.shadow, gestureDirection === 'horizontal' ? [styles.shadowHorizontal, styles.shadowLeft] : gestureDirection === 'horizontal-inverted' ? [styles.shadowHorizontal, styles.shadowRight] : gestureDirection === 'vertical' ? [styles.shadowVertical, styles.shadowTop] : [styles.shadowVertical, styles.shadowBottom], {\n backgroundColor: backgroundColor\n }, shadowStyle],\n pointerEvents: \"none\"\n }) : null, React.createElement(CardSheet, {\n ref: this.ref,\n enabled: pageOverflowEnabled,\n layout: layout,\n style: contentStyle\n }, children))))));\n }\n }]);\n return Card;\n}(React.Component);\nCard.defaultProps = {\n shadowEnabled: false,\n gestureEnabled: true,\n gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,\n overlay: function overlay(_ref) {\n var style = _ref.style;\n return style ? React.createElement(Animated.View, {\n pointerEvents: \"none\",\n style: [styles.overlay, style]\n }) : null;\n }\n};\nexport { Card as default };\nexport var getIsModalPresentation = function getIsModalPresentation(cardStyleInterpolator) {\n return cardStyleInterpolator === forModalPresentationIOS || cardStyleInterpolator.name === 'forModalPresentationIOS';\n};\nvar styles = StyleSheet.create({\n container: {\n flex: 1\n },\n overlay: {\n flex: 1,\n backgroundColor: '#000'\n },\n shadow: {\n position: 'absolute',\n shadowRadius: 5,\n shadowColor: '#000',\n shadowOpacity: 0.3\n },\n shadowHorizontal: {\n top: 0,\n bottom: 0,\n width: 3,\n shadowOffset: {\n width: -1,\n height: 1\n }\n },\n shadowLeft: {\n left: 0\n },\n shadowRight: {\n right: 0\n },\n shadowVertical: {\n left: 0,\n right: 0,\n height: 3,\n shadowOffset: {\n width: 1,\n height: -1\n }\n },\n shadowTop: {\n top: 0\n },\n shadowBottom: {\n bottom: 0\n }\n});","map":{"version":3,"sources":["views/Stack/Card.tsx"],"names":["Color","React","forModalPresentationIOS","CardAnimationContext","getDistanceForDirection","getInvertedMultiplier","memoize","GestureState","PanGestureHandler","ModalStatusBarManager","CardSheet","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","GESTURE_RESPONSE_DISTANCE_HORIZONTAL","GESTURE_RESPONSE_DISTANCE_VERTICAL","useNativeDriver","Platform","OS","hasOpacityStyle","style","flattenedStyle","StyleSheet","flatten","opacity","Card","Component","defaultProps","shadowEnabled","gestureEnabled","gestureVelocityImpact","overlay","styles","componentDidMount","animate","closing","props","isCurrentlyMounted","componentDidUpdate","prevProps","layout","gestureDirection","width","height","setValue","inverted","toValue","getAnimateToValue","lastToValue","componentWillUnmount","gesture","stopAnimation","handleEndInteraction","isClosing","Animated","Value","isSwiping","velocity","transitionSpec","onOpen","onClose","onTransition","spec","close","open","animation","spring","timing","setPointerEventsEnabled","handleStartInteraction","clearTimeout","pendingGestureCallback","undefined","config","isInteraction","start","finished","forceUpdate","enabled","pointerEvents","ref","current","setPointerEvents","interactionHandle","InteractionManager","createInteractionHandle","clearInteractionHandle","handleGestureStateChange","nativeEvent","onGestureBegin","onGestureCanceled","onGestureEnd","state","ACTIVE","CANCELLED","velocityY","velocityX","END","distance","translation","translationY","translationX","setTimeout","getInterpolatedStyle","styleInterpolator","getCardAnimation","interpolationIndex","next","insetTop","insetRight","insetBottom","insetLeft","index","progress","swiping","layouts","screen","insets","top","right","bottom","left","gestureActivationCriteria","gestureResponseDistance","enableTrackpadTwoFingerGesture","maxDeltaX","minOffsetY","hitSlop","invertedMultiplier","minOffsetX","maxDeltaY","createRef","render","overlayEnabled","pageOverflowEnabled","headerDarkContent","children","containerStyle","customContainerStyle","contentStyle","rest","interpolationProps","interpolatedStyle","cardStyle","overlayStyle","shadowStyle","handleGestureEvent","event","backgroundColor","isTransparent","alpha","getIsModalPresentation","absoluteFill","container","shadow","shadowHorizontal","shadowLeft","shadowRight","shadowVertical","shadowTop","shadowBottom","cardStyleInterpolator","name","create","flex","position","shadowRadius","shadowColor","shadowOpacity","shadowOffset"],"mappings":"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","sourceRoot":"../../../../src","sourcesContent":["function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport Color from 'color';\nimport * as React from 'react';\nimport { Animated, InteractionManager, Platform, StyleSheet, View } from 'react-native';\nimport { forModalPresentationIOS } from '../../TransitionConfigs/CardStyleInterpolators';\nimport CardAnimationContext from '../../utils/CardAnimationContext';\nimport getDistanceForDirection from '../../utils/getDistanceForDirection';\nimport getInvertedMultiplier from '../../utils/getInvertedMultiplier';\nimport memoize from '../../utils/memoize';\nimport { GestureState, PanGestureHandler } from '../GestureHandler';\nimport ModalStatusBarManager from '../ModalStatusBarManager';\nimport CardSheet from './CardSheet';\nconst GESTURE_VELOCITY_IMPACT = 0.3;\nconst TRUE = 1;\nconst FALSE = 0;\n\n/**\n * The distance of touch start from the edge of the screen where the gesture will be recognized\n */\nconst GESTURE_RESPONSE_DISTANCE_HORIZONTAL = 50;\nconst GESTURE_RESPONSE_DISTANCE_VERTICAL = 135;\nconst useNativeDriver = Platform.OS !== 'web';\nconst hasOpacityStyle = style => {\n if (style) {\n const flattenedStyle = StyleSheet.flatten(style);\n return flattenedStyle.opacity != null;\n }\n return false;\n};\nexport default class Card extends React.Component {\n static defaultProps = {\n shadowEnabled: false,\n gestureEnabled: true,\n gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,\n overlay: _ref => {\n let {\n style\n } = _ref;\n return style ? /*#__PURE__*/React.createElement(Animated.View, {\n pointerEvents: \"none\",\n style: [styles.overlay, style]\n }) : null;\n }\n };\n componentDidMount() {\n this.animate({\n closing: this.props.closing\n });\n this.isCurrentlyMounted = true;\n }\n componentDidUpdate(prevProps) {\n const {\n layout,\n gestureDirection,\n closing\n } = this.props;\n const {\n width,\n height\n } = layout;\n if (width !== prevProps.layout.width) {\n this.layout.width.setValue(width);\n }\n if (height !== prevProps.layout.height) {\n this.layout.height.setValue(height);\n }\n if (gestureDirection !== prevProps.gestureDirection) {\n this.inverted.setValue(getInvertedMultiplier(gestureDirection));\n }\n const toValue = this.getAnimateToValue(this.props);\n if (this.getAnimateToValue(prevProps) !== toValue || this.lastToValue !== toValue) {\n // We need to trigger the animation when route was closed\n // Thr route might have been closed by a `POP` action or by a gesture\n // When route was closed due to a gesture, the animation would've happened already\n // It's still important to trigger the animation so that `onClose` is called\n // If `onClose` is not called, cleanup step won't be performed for gestures\n this.animate({\n closing\n });\n }\n }\n componentWillUnmount() {\n this.props.gesture.stopAnimation();\n this.isCurrentlyMounted = false;\n this.handleEndInteraction();\n }\n isCurrentlyMounted = false;\n isClosing = new Animated.Value(FALSE);\n inverted = new Animated.Value(getInvertedMultiplier(this.props.gestureDirection));\n layout = {\n width: new Animated.Value(this.props.layout.width),\n height: new Animated.Value(this.props.layout.height)\n };\n isSwiping = new Animated.Value(FALSE);\n animate = _ref2 => {\n let {\n closing,\n velocity\n } = _ref2;\n const {\n gesture,\n transitionSpec,\n onOpen,\n onClose,\n onTransition\n } = this.props;\n const toValue = this.getAnimateToValue({\n ...this.props,\n closing\n });\n this.lastToValue = toValue;\n this.isClosing.setValue(closing ? TRUE : FALSE);\n const spec = closing ? transitionSpec.close : transitionSpec.open;\n const animation = spec.animation === 'spring' ? Animated.spring : Animated.timing;\n this.setPointerEventsEnabled(!closing);\n this.handleStartInteraction();\n clearTimeout(this.pendingGestureCallback);\n onTransition === null || onTransition === void 0 ? void 0 : onTransition({\n closing,\n gesture: velocity !== undefined\n });\n animation(gesture, {\n ...spec.config,\n velocity,\n toValue,\n useNativeDriver,\n isInteraction: false\n }).start(_ref3 => {\n let {\n finished\n } = _ref3;\n this.handleEndInteraction();\n clearTimeout(this.pendingGestureCallback);\n if (finished) {\n if (closing) {\n onClose();\n } else {\n onOpen();\n }\n if (this.isCurrentlyMounted) {\n // Make sure to re-open screen if it wasn't removed\n this.forceUpdate();\n }\n }\n });\n };\n getAnimateToValue = _ref4 => {\n let {\n closing,\n layout,\n gestureDirection\n } = _ref4;\n if (!closing) {\n return 0;\n }\n return getDistanceForDirection(layout, gestureDirection);\n };\n setPointerEventsEnabled = enabled => {\n var _this$ref$current;\n const pointerEvents = enabled ? 'box-none' : 'none';\n (_this$ref$current = this.ref.current) === null || _this$ref$current === void 0 ? void 0 : _this$ref$current.setPointerEvents(pointerEvents);\n };\n handleStartInteraction = () => {\n if (this.interactionHandle === undefined) {\n this.interactionHandle = InteractionManager.createInteractionHandle();\n }\n };\n handleEndInteraction = () => {\n if (this.interactionHandle !== undefined) {\n InteractionManager.clearInteractionHandle(this.interactionHandle);\n this.interactionHandle = undefined;\n }\n };\n handleGestureStateChange = _ref5 => {\n let {\n nativeEvent\n } = _ref5;\n const {\n layout,\n onClose,\n onGestureBegin,\n onGestureCanceled,\n onGestureEnd,\n gestureDirection,\n gestureVelocityImpact\n } = this.props;\n switch (nativeEvent.state) {\n case GestureState.ACTIVE:\n this.isSwiping.setValue(TRUE);\n this.handleStartInteraction();\n onGestureBegin === null || onGestureBegin === void 0 ? void 0 : onGestureBegin();\n break;\n case GestureState.CANCELLED:\n {\n this.isSwiping.setValue(FALSE);\n this.handleEndInteraction();\n const velocity = gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? nativeEvent.velocityY : nativeEvent.velocityX;\n this.animate({\n closing: this.props.closing,\n velocity\n });\n onGestureCanceled === null || onGestureCanceled === void 0 ? void 0 : onGestureCanceled();\n break;\n }\n case GestureState.END:\n {\n this.isSwiping.setValue(FALSE);\n let distance;\n let translation;\n let velocity;\n if (gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted') {\n distance = layout.height;\n translation = nativeEvent.translationY;\n velocity = nativeEvent.velocityY;\n } else {\n distance = layout.width;\n translation = nativeEvent.translationX;\n velocity = nativeEvent.velocityX;\n }\n const closing = (translation + velocity * gestureVelocityImpact) * getInvertedMultiplier(gestureDirection) > distance / 2 ? velocity !== 0 || translation !== 0 : this.props.closing;\n this.animate({\n closing,\n velocity\n });\n if (closing) {\n // We call onClose with a delay to make sure that the animation has already started\n // This will make sure that the state update caused by this doesn't affect start of animation\n this.pendingGestureCallback = setTimeout(() => {\n onClose();\n\n // Trigger an update after we dispatch the action to remove the screen\n // This will make sure that we check if the screen didn't get removed so we can cancel the animation\n this.forceUpdate();\n }, 32);\n }\n onGestureEnd === null || onGestureEnd === void 0 ? void 0 : onGestureEnd();\n break;\n }\n }\n };\n\n // Memoize this to avoid extra work on re-render\n getInterpolatedStyle = memoize((styleInterpolator, animation) => styleInterpolator(animation));\n\n // Keep track of the animation context when deps changes.\n getCardAnimation = memoize((interpolationIndex, current, next, layout, insetTop, insetRight, insetBottom, insetLeft) => ({\n index: interpolationIndex,\n current: {\n progress: current\n },\n next: next && {\n progress: next\n },\n closing: this.isClosing,\n swiping: this.isSwiping,\n inverted: this.inverted,\n layouts: {\n screen: layout\n },\n insets: {\n top: insetTop,\n right: insetRight,\n bottom: insetBottom,\n left: insetLeft\n }\n }));\n gestureActivationCriteria() {\n const {\n layout,\n gestureDirection,\n gestureResponseDistance\n } = this.props;\n const enableTrackpadTwoFingerGesture = true;\n const distance = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? GESTURE_RESPONSE_DISTANCE_VERTICAL : GESTURE_RESPONSE_DISTANCE_HORIZONTAL;\n if (gestureDirection === 'vertical') {\n return {\n maxDeltaX: 15,\n minOffsetY: 5,\n hitSlop: {\n bottom: -layout.height + distance\n },\n enableTrackpadTwoFingerGesture\n };\n } else if (gestureDirection === 'vertical-inverted') {\n return {\n maxDeltaX: 15,\n minOffsetY: -5,\n hitSlop: {\n top: -layout.height + distance\n },\n enableTrackpadTwoFingerGesture\n };\n } else {\n const hitSlop = -layout.width + distance;\n const invertedMultiplier = getInvertedMultiplier(gestureDirection);\n if (invertedMultiplier === 1) {\n return {\n minOffsetX: 5,\n maxDeltaY: 20,\n hitSlop: {\n right: hitSlop\n },\n enableTrackpadTwoFingerGesture\n };\n } else {\n return {\n minOffsetX: -5,\n maxDeltaY: 20,\n hitSlop: {\n left: hitSlop\n },\n enableTrackpadTwoFingerGesture\n };\n }\n }\n }\n ref = /*#__PURE__*/React.createRef();\n render() {\n const {\n styleInterpolator,\n interpolationIndex,\n current,\n gesture,\n next,\n layout,\n insets,\n overlay,\n overlayEnabled,\n shadowEnabled,\n gestureEnabled,\n gestureDirection,\n pageOverflowEnabled,\n headerDarkContent,\n children,\n containerStyle: customContainerStyle,\n contentStyle,\n ...rest\n } = this.props;\n const interpolationProps = this.getCardAnimation(interpolationIndex, current, next, layout, insets.top, insets.right, insets.bottom, insets.left);\n const interpolatedStyle = this.getInterpolatedStyle(styleInterpolator, interpolationProps);\n const {\n containerStyle,\n cardStyle,\n overlayStyle,\n shadowStyle\n } = interpolatedStyle;\n const handleGestureEvent = gestureEnabled ? Animated.event([{\n nativeEvent: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {\n translationY: gesture\n } : {\n translationX: gesture\n }\n }], {\n useNativeDriver\n }) : undefined;\n const {\n backgroundColor\n } = StyleSheet.flatten(contentStyle || {});\n const isTransparent = typeof backgroundColor === 'string' ? Color(backgroundColor).alpha() === 0 : false;\n return /*#__PURE__*/React.createElement(CardAnimationContext.Provider, {\n value: interpolationProps\n },\n // StatusBar messes with translucent status bar on Android\n // So we should only enable it on iOS\n Platform.OS === 'ios' && overlayEnabled && next && getIsModalPresentation(styleInterpolator) ? /*#__PURE__*/React.createElement(ModalStatusBarManager, {\n dark: headerDarkContent,\n layout: layout,\n insets: insets,\n style: cardStyle\n }) : null, /*#__PURE__*/React.createElement(Animated.View, {\n style: {\n // This is a dummy style that doesn't actually change anything visually.\n // Animated needs the animated value to be used somewhere, otherwise things don't update properly.\n // If we disable animations and hide header, it could end up making the value unused.\n // So we have this dummy style that will always be used regardless of what else changed.\n opacity: current\n }\n // Make sure that this view isn't removed. If this view is removed, our style with animated value won't apply\n ,\n collapsable: false\n }), /*#__PURE__*/React.createElement(View, _extends({\n pointerEvents: \"box-none\"\n }, rest), overlayEnabled ? /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"box-none\",\n style: StyleSheet.absoluteFill\n }, overlay({\n style: overlayStyle\n })) : null, /*#__PURE__*/React.createElement(Animated.View, {\n style: [styles.container, containerStyle, customContainerStyle],\n pointerEvents: \"box-none\"\n }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({\n enabled: layout.width !== 0 && gestureEnabled,\n onGestureEvent: handleGestureEvent,\n onHandlerStateChange: this.handleGestureStateChange\n }, this.gestureActivationCriteria()), /*#__PURE__*/React.createElement(Animated.View, {\n needsOffscreenAlphaCompositing: hasOpacityStyle(cardStyle),\n style: [styles.container, cardStyle]\n }, shadowEnabled && shadowStyle && !isTransparent ? /*#__PURE__*/React.createElement(Animated.View, {\n style: [styles.shadow, gestureDirection === 'horizontal' ? [styles.shadowHorizontal, styles.shadowLeft] : gestureDirection === 'horizontal-inverted' ? [styles.shadowHorizontal, styles.shadowRight] : gestureDirection === 'vertical' ? [styles.shadowVertical, styles.shadowTop] : [styles.shadowVertical, styles.shadowBottom], {\n backgroundColor\n }, shadowStyle],\n pointerEvents: \"none\"\n }) : null, /*#__PURE__*/React.createElement(CardSheet, {\n ref: this.ref,\n enabled: pageOverflowEnabled,\n layout: layout,\n style: contentStyle\n }, children))))));\n }\n}\nexport const getIsModalPresentation = cardStyleInterpolator => {\n return cardStyleInterpolator === forModalPresentationIOS ||\n // Handle custom modal presentation interpolators as well\n cardStyleInterpolator.name === 'forModalPresentationIOS';\n};\nconst styles = StyleSheet.create({\n container: {\n flex: 1\n },\n overlay: {\n flex: 1,\n backgroundColor: '#000'\n },\n shadow: {\n position: 'absolute',\n shadowRadius: 5,\n shadowColor: '#000',\n shadowOpacity: 0.3\n },\n shadowHorizontal: {\n top: 0,\n bottom: 0,\n width: 3,\n shadowOffset: {\n width: -1,\n height: 1\n }\n },\n shadowLeft: {\n left: 0\n },\n shadowRight: {\n right: 0\n },\n shadowVertical: {\n left: 0,\n right: 0,\n height: 3,\n shadowOffset: {\n width: 1,\n height: -1\n }\n },\n shadowTop: {\n top: 0\n },\n shadowBottom: {\n bottom: 0\n }\n});\n//# sourceMappingURL=Card.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1044e4a5b868d50b8434c9019f7e0e60.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1044e4a5b868d50b8434c9019f7e0e60.json new file mode 100644 index 00000000..f3c87f43 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1044e4a5b868d50b8434c9019f7e0e60.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/EvilIcons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/EvilIcons.json\";\nexport default createIconSet(glyphMap, 'evilicons', font);","map":{"version":3,"sources":["../src/EvilIcons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/EvilIcons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/EvilIcons.json';\n\nexport default createIconSet(glyphMap, 'evilicons', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/11d305a92932bf2bfb50fd85484587dc.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/11d305a92932bf2bfb50fd85484587dc.json new file mode 100644 index 00000000..59399a67 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/11d305a92932bf2bfb50fd85484587dc.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\nvar _toConsumableArray = require(\"@babel/runtime/helpers/toConsumableArray\");\nvar colorString = require('color-string');\nvar convert = require('color-convert');\nvar skippedModels = ['keyword', 'gray', 'hex'];\nvar hashedModelKeys = {};\nfor (var model of Object.keys(convert)) {\n hashedModelKeys[_toConsumableArray(convert[model].labels).sort().join('')] = model;\n}\nvar limiters = {};\nfunction Color(object, model) {\n if (!(this instanceof Color)) {\n return new Color(object, model);\n }\n if (model && model in skippedModels) {\n model = null;\n }\n if (model && !(model in convert)) {\n throw new Error('Unknown model: ' + model);\n }\n var i;\n var channels;\n if (object == null) {\n this.model = 'rgb';\n this.color = [0, 0, 0];\n this.valpha = 1;\n } else if (object instanceof Color) {\n this.model = object.model;\n this.color = _toConsumableArray(object.color);\n this.valpha = object.valpha;\n } else if (typeof object === 'string') {\n var result = colorString.get(object);\n if (result === null) {\n throw new Error('Unable to parse color from string: ' + object);\n }\n this.model = result.model;\n channels = convert[this.model].channels;\n this.color = result.value.slice(0, channels);\n this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n } else if (object.length > 0) {\n this.model = model || 'rgb';\n channels = convert[this.model].channels;\n var newArray = Array.prototype.slice.call(object, 0, channels);\n this.color = zeroArray(newArray, channels);\n this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n } else if (typeof object === 'number') {\n this.model = 'rgb';\n this.color = [object >> 16 & 0xFF, object >> 8 & 0xFF, object & 0xFF];\n this.valpha = 1;\n } else {\n this.valpha = 1;\n var keys = Object.keys(object);\n if ('alpha' in object) {\n keys.splice(keys.indexOf('alpha'), 1);\n this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n }\n var hashedKeys = keys.sort().join('');\n if (!(hashedKeys in hashedModelKeys)) {\n throw new Error('Unable to parse color from object: ' + JSON.stringify(object));\n }\n this.model = hashedModelKeys[hashedKeys];\n var labels = convert[this.model].labels;\n var color = [];\n for (i = 0; i < labels.length; i++) {\n color.push(object[labels[i]]);\n }\n this.color = zeroArray(color);\n }\n if (limiters[this.model]) {\n channels = convert[this.model].channels;\n for (i = 0; i < channels; i++) {\n var limit = limiters[this.model][i];\n if (limit) {\n this.color[i] = limit(this.color[i]);\n }\n }\n }\n this.valpha = Math.max(0, Math.min(1, this.valpha));\n if (Object.freeze) {\n Object.freeze(this);\n }\n}\nColor.prototype = {\n toString: function toString() {\n return this.string();\n },\n toJSON: function toJSON() {\n return this[this.model]();\n },\n string: function string(places) {\n var self = this.model in colorString.to ? this : this.rgb();\n self = self.round(typeof places === 'number' ? places : 1);\n var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);\n return colorString.to[self.model](args);\n },\n percentString: function percentString(places) {\n var self = this.rgb().round(typeof places === 'number' ? places : 1);\n var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);\n return colorString.to.rgb.percent(args);\n },\n array: function array() {\n return this.valpha === 1 ? _toConsumableArray(this.color) : [].concat(_toConsumableArray(this.color), [this.valpha]);\n },\n object: function object() {\n var result = {};\n var channels = convert[this.model].channels;\n var labels = convert[this.model].labels;\n for (var i = 0; i < channels; i++) {\n result[labels[i]] = this.color[i];\n }\n if (this.valpha !== 1) {\n result.alpha = this.valpha;\n }\n return result;\n },\n unitArray: function unitArray() {\n var rgb = this.rgb().color;\n rgb[0] /= 255;\n rgb[1] /= 255;\n rgb[2] /= 255;\n if (this.valpha !== 1) {\n rgb.push(this.valpha);\n }\n return rgb;\n },\n unitObject: function unitObject() {\n var rgb = this.rgb().object();\n rgb.r /= 255;\n rgb.g /= 255;\n rgb.b /= 255;\n if (this.valpha !== 1) {\n rgb.alpha = this.valpha;\n }\n return rgb;\n },\n round: function round(places) {\n places = Math.max(places || 0, 0);\n return new Color([].concat(_toConsumableArray(this.color.map(roundToPlace(places))), [this.valpha]), this.model);\n },\n alpha: function alpha(value) {\n if (value !== undefined) {\n return new Color([].concat(_toConsumableArray(this.color), [Math.max(0, Math.min(1, value))]), this.model);\n }\n return this.valpha;\n },\n red: getset('rgb', 0, maxfn(255)),\n green: getset('rgb', 1, maxfn(255)),\n blue: getset('rgb', 2, maxfn(255)),\n hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (value) {\n return (value % 360 + 360) % 360;\n }),\n saturationl: getset('hsl', 1, maxfn(100)),\n lightness: getset('hsl', 2, maxfn(100)),\n saturationv: getset('hsv', 1, maxfn(100)),\n value: getset('hsv', 2, maxfn(100)),\n chroma: getset('hcg', 1, maxfn(100)),\n gray: getset('hcg', 2, maxfn(100)),\n white: getset('hwb', 1, maxfn(100)),\n wblack: getset('hwb', 2, maxfn(100)),\n cyan: getset('cmyk', 0, maxfn(100)),\n magenta: getset('cmyk', 1, maxfn(100)),\n yellow: getset('cmyk', 2, maxfn(100)),\n black: getset('cmyk', 3, maxfn(100)),\n x: getset('xyz', 0, maxfn(95.047)),\n y: getset('xyz', 1, maxfn(100)),\n z: getset('xyz', 2, maxfn(108.833)),\n l: getset('lab', 0, maxfn(100)),\n a: getset('lab', 1),\n b: getset('lab', 2),\n keyword: function keyword(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n return convert[this.model].keyword(this.color);\n },\n hex: function hex(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n return colorString.to.hex(this.rgb().round().color);\n },\n hexa: function hexa(value) {\n if (value !== undefined) {\n return new Color(value);\n }\n var rgbArray = this.rgb().round().color;\n var alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n if (alphaHex.length === 1) {\n alphaHex = '0' + alphaHex;\n }\n return colorString.to.hex(rgbArray) + alphaHex;\n },\n rgbNumber: function rgbNumber() {\n var rgb = this.rgb().color;\n return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;\n },\n luminosity: function luminosity() {\n var rgb = this.rgb().color;\n var lum = [];\n for (var _ref of rgb.entries()) {\n var _ref2 = _slicedToArray(_ref, 2);\n var i = _ref2[0];\n var element = _ref2[1];\n var chan = element / 255;\n lum[i] = chan <= 0.04045 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n },\n contrast: function contrast(color2) {\n var lum1 = this.luminosity();\n var lum2 = color2.luminosity();\n if (lum1 > lum2) {\n return (lum1 + 0.05) / (lum2 + 0.05);\n }\n return (lum2 + 0.05) / (lum1 + 0.05);\n },\n level: function level(color2) {\n var contrastRatio = this.contrast(color2);\n if (contrastRatio >= 7) {\n return 'AAA';\n }\n return contrastRatio >= 4.5 ? 'AA' : '';\n },\n isDark: function isDark() {\n var rgb = this.rgb().color;\n var yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n return yiq < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n negate: function negate() {\n var rgb = this.rgb();\n for (var i = 0; i < 3; i++) {\n rgb.color[i] = 255 - rgb.color[i];\n }\n return rgb;\n },\n lighten: function lighten(ratio) {\n var hsl = this.hsl();\n hsl.color[2] += hsl.color[2] * ratio;\n return hsl;\n },\n darken: function darken(ratio) {\n var hsl = this.hsl();\n hsl.color[2] -= hsl.color[2] * ratio;\n return hsl;\n },\n saturate: function saturate(ratio) {\n var hsl = this.hsl();\n hsl.color[1] += hsl.color[1] * ratio;\n return hsl;\n },\n desaturate: function desaturate(ratio) {\n var hsl = this.hsl();\n hsl.color[1] -= hsl.color[1] * ratio;\n return hsl;\n },\n whiten: function whiten(ratio) {\n var hwb = this.hwb();\n hwb.color[1] += hwb.color[1] * ratio;\n return hwb;\n },\n blacken: function blacken(ratio) {\n var hwb = this.hwb();\n hwb.color[2] += hwb.color[2] * ratio;\n return hwb;\n },\n grayscale: function grayscale() {\n var rgb = this.rgb().color;\n var value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n return Color.rgb(value, value, value);\n },\n fade: function fade(ratio) {\n return this.alpha(this.valpha - this.valpha * ratio);\n },\n opaquer: function opaquer(ratio) {\n return this.alpha(this.valpha + this.valpha * ratio);\n },\n rotate: function rotate(degrees) {\n var hsl = this.hsl();\n var hue = hsl.color[0];\n hue = (hue + degrees) % 360;\n hue = hue < 0 ? 360 + hue : hue;\n hsl.color[0] = hue;\n return hsl;\n },\n mix: function mix(mixinColor, weight) {\n if (!mixinColor || !mixinColor.rgb) {\n throw new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n }\n var color1 = mixinColor.rgb();\n var color2 = this.rgb();\n var p = weight === undefined ? 0.5 : weight;\n var w = 2 * p - 1;\n var a = color1.alpha() - color2.alpha();\n var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;\n var w2 = 1 - w1;\n return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));\n }\n};\nvar _loop = function _loop(model) {\n if (skippedModels.includes(model)) {\n return \"continue\";\n }\n var channels = convert[model].channels;\n Color.prototype[model] = function () {\n if (this.model === model) {\n return new Color(this);\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length > 0) {\n return new Color(args, model);\n }\n return new Color([].concat(_toConsumableArray(assertArray(convert[this.model][model].raw(this.color))), [this.valpha]), model);\n };\n Color[model] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var color = args[0];\n if (typeof color === 'number') {\n color = zeroArray(args, channels);\n }\n return new Color(color, model);\n };\n};\nfor (var _model of Object.keys(convert)) {\n var _ret = _loop(_model);\n if (_ret === \"continue\") continue;\n}\nfunction roundTo(number, places) {\n return Number(number.toFixed(places));\n}\nfunction roundToPlace(places) {\n return function (number) {\n return roundTo(number, places);\n };\n}\nfunction getset(model, channel, modifier) {\n model = Array.isArray(model) ? model : [model];\n for (var m of model) {\n (limiters[m] || (limiters[m] = []))[channel] = modifier;\n }\n model = model[0];\n return function (value) {\n var result;\n if (value !== undefined) {\n if (modifier) {\n value = modifier(value);\n }\n result = this[model]();\n result.color[channel] = value;\n return result;\n }\n result = this[model]().color[channel];\n if (modifier) {\n result = modifier(result);\n }\n return result;\n };\n}\nfunction maxfn(max) {\n return function (v) {\n return Math.max(0, Math.min(max, v));\n };\n}\nfunction assertArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nfunction zeroArray(array, length) {\n for (var i = 0; i < length; i++) {\n if (typeof array[i] !== 'number') {\n array[i] = 0;\n }\n }\n return array;\n}\nmodule.exports = Color;","map":{"version":3,"names":["colorString","require","convert","skippedModels","hashedModelKeys","model","Object","keys","labels","sort","join","limiters","Color","object","Error","i","channels","color","valpha","result","get","value","slice","length","newArray","Array","prototype","call","zeroArray","splice","indexOf","alpha","hashedKeys","JSON","stringify","push","limit","Math","max","min","freeze","toString","string","toJSON","places","self","to","rgb","round","args","percentString","percent","array","unitArray","unitObject","r","g","b","map","roundToPlace","undefined","red","getset","maxfn","green","blue","hue","saturationl","lightness","saturationv","chroma","gray","white","wblack","cyan","magenta","yellow","black","x","y","z","l","a","keyword","hex","hexa","rgbArray","alphaHex","toUpperCase","rgbNumber","luminosity","lum","entries","element","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","yiq","isLight","negate","lighten","ratio","hsl","darken","saturate","desaturate","whiten","hwb","blacken","grayscale","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","p","w","w1","w2","includes","assertArray","raw","roundTo","number","Number","toFixed","channel","modifier","isArray","m","v","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@react-navigation/stack/node_modules/color/index.js"],"sourcesContent":["const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n"],"mappings":"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"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/12f6f5c81f03aee8f87e7079d10cfb41.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/12f6f5c81f03aee8f87e7079d10cfb41.json new file mode 100644 index 00000000..aa40f744 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/12f6f5c81f03aee8f87e7079d10cfb41.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport View from \"../View\";\nimport createElement from \"../createElement\";\nimport StyleSheet from \"../StyleSheet\";\nimport UIManager from \"../UIManager\";\nimport canUseDOM from \"../../modules/canUseDom\";\nvar FocusBracket = function FocusBracket() {\n return createElement('div', {\n accessibilityRole: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {}\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = function ModalFocusTrap(_ref) {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(function () {\n if (canUseDOM) {\n var trapFocus = function trapFocus() {\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return function () {\n return document.removeEventListener('focus', trapFocus, true);\n };\n }\n }, [active]);\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return React.createElement(React.Fragment, null, React.createElement(FocusBracket, null), React.createElement(View, {\n ref: trapElementRef\n }, children), React.createElement(FocusBracket, null));\n};\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","map":{"version":3,"names":["React","View","createElement","StyleSheet","UIManager","canUseDOM","FocusBracket","accessibilityRole","tabIndex","style","styles","focusBracket","attemptFocus","element","focus","e","document","activeElement","focusFirstDescendant","i","childNodes","length","child","focusLastDescendant","ModalFocusTrap","_ref","active","children","trapElementRef","useRef","focusRef","trapFocusInProgress","lastFocusedElement","useEffect","trapFocus","current","Node","contains","hasFocused","addEventListener","removeEventListener","lastFocusedElementOutsideTrap","Fragment","ref","create","outlineStyle"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport View from '../View';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport UIManager from '../UIManager';\nimport canUseDOM from '../../modules/canUseDom';\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return createElement('div', {\n accessibilityRole: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\n\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n\n try {\n element.focus();\n } catch (e) {// Do nothing\n }\n\n return document.activeElement === element;\n}\n\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n\n return false;\n}\n\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (canUseDOM) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n\n try {\n focusRef.current.trapFocusInProgress = true;\n\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n } // If we couldn't focus a new element then we need to focus onto the trap target\n\n\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n\n focusRef.current.lastFocusedElement = document.activeElement;\n }; // Call the trapFocus callback at least once when this modal has been activated.\n\n\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]); // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(View, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\n\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/131222d81ad88c9befb42f435d0fe811.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/131222d81ad88c9befb42f435d0fe811.json new file mode 100644 index 00000000..13a1bdb7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/131222d81ad88c9befb42f435d0fe811.json @@ -0,0 +1 @@ +{"ast":null,"code":"var TYPE_VALUE = 'value';\nvar TYPE_ERROR = 'error';\nexport default function createIconSourceCache() {\n var cache = new Map();\n var setValue = function setValue(key, value) {\n return cache.set(key, {\n type: TYPE_VALUE,\n data: value\n });\n };\n var setError = function setError(key, error) {\n return cache.set(key, {\n type: TYPE_ERROR,\n data: error\n });\n };\n var has = function has(key) {\n return cache.has(key);\n };\n var get = function get(key) {\n if (!cache.has(key)) {\n return undefined;\n }\n var _cache$get = cache.get(key),\n type = _cache$get.type,\n data = _cache$get.data;\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n return {\n setValue: setValue,\n setError: setError,\n has: has,\n get: get\n };\n}","map":{"version":3,"names":["TYPE_VALUE","TYPE_ERROR","createIconSourceCache","cache","Map","setValue","key","value","set","type","data","setError","error","has","get","undefined"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-source-cache.js"],"sourcesContent":["const TYPE_VALUE = 'value';\nconst TYPE_ERROR = 'error';\n\nexport default function createIconSourceCache() {\n const cache = new Map();\n\n const setValue = (key, value) =>\n cache.set(key, { type: TYPE_VALUE, data: value });\n\n const setError = (key, error) =>\n cache.set(key, { type: TYPE_ERROR, data: error });\n\n const has = key => cache.has(key);\n\n const get = key => {\n if (!cache.has(key)) {\n return undefined;\n }\n const { type, data } = cache.get(key);\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n\n return { setValue, setError, has, get };\n}\n"],"mappings":"AAAA,IAAMA,UAAU,GAAG,OAAO;AAC1B,IAAMC,UAAU,GAAG,OAAO;AAE1B,eAAe,SAASC,qBAAqB,GAAG;EAC9C,IAAMC,KAAK,GAAG,IAAIC,GAAG,EAAE;EAEvB,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,GAAG,EAAEC,KAAK;IAAA,OAC1BJ,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;MAAEG,IAAI,EAAET,UAAU;MAAEU,IAAI,EAAEH;IAAM,CAAC,CAAC;EAAA;EAEnD,IAAMI,QAAQ,GAAG,SAAXA,QAAQ,CAAIL,GAAG,EAAEM,KAAK;IAAA,OAC1BT,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;MAAEG,IAAI,EAAER,UAAU;MAAES,IAAI,EAAEE;IAAM,CAAC,CAAC;EAAA;EAEnD,IAAMC,GAAG,GAAG,SAANA,GAAG,CAAGP,GAAG;IAAA,OAAIH,KAAK,CAACU,GAAG,CAACP,GAAG,CAAC;EAAA;EAEjC,IAAMQ,GAAG,GAAG,SAANA,GAAG,CAAGR,GAAG,EAAI;IACjB,IAAI,CAACH,KAAK,CAACU,GAAG,CAACP,GAAG,CAAC,EAAE;MACnB,OAAOS,SAAS;IAClB;IACA,iBAAuBZ,KAAK,CAACW,GAAG,CAACR,GAAG,CAAC;MAA7BG,IAAI,cAAJA,IAAI;MAAEC,IAAI,cAAJA,IAAI;IAClB,IAAID,IAAI,KAAKR,UAAU,EAAE;MACvB,MAAMS,IAAI;IACZ;IACA,OAAOA,IAAI;EACb,CAAC;EAED,OAAO;IAAEL,QAAQ,EAARA,QAAQ;IAAEM,QAAQ,EAARA,QAAQ;IAAEE,GAAG,EAAHA,GAAG;IAAEC,GAAG,EAAHA;EAAI,CAAC;AACzC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/15bfc621aa42c15a0a0f1663f501924d.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/15bfc621aa42c15a0a0f1663f501924d.json new file mode 100644 index 00000000..ea39d662 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/15bfc621aa42c15a0a0f1663f501924d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Ionicons.json\";\nvar iconSet = createIconSet(glyphMap, 'Ionicons', 'Ionicons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Ionicons.js"],"sourcesContent":["/**\n * Ionicons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Ionicons.json';\n\nconst iconSet = createIconSet(glyphMap, 'Ionicons', 'Ionicons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC;AAEnE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1a6cebdd921cf82f6b8eab2a570a022f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1a6cebdd921cf82f6b8eab2a570a022f.json new file mode 100644 index 00000000..61ea373d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1a6cebdd921cf82f6b8eab2a570a022f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from \"../Image\";\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nvar emptyObject = {};\nvar ImageBackground = forwardRef(function (props, forwardedRef) {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n return React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n width: width,\n height: height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","forwardRef","Image","StyleSheet","View","emptyObject","ImageBackground","props","forwardedRef","children","_props$style","style","imageStyle","imageRef","rest","_StyleSheet$flatten","flatten","height","width","createElement","ref","zIndex","absoluteFill","displayName"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/ImageBackground/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from '../Image';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\n/**\n * Very simple drop-in replacement for which supports nesting views.\n */\n\nvar ImageBackground = /*#__PURE__*/forwardRef((props, forwardedRef) => {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n\n return /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n // Temporary Workaround:\n // Current (imperfect yet) implementation of overwrites width and height styles\n // (which is not quite correct), and these styles conflict with explicitly set styles\n // of and with our internal layout model here.\n // So, we have to proxy/reapply these styles explicitly for actual component.\n // This workaround should be removed after implementing proper support of\n // intrinsic content size of the .\n width,\n height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;AAU/D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,QAAQ,OAAO;AAClC,OAAOC,KAAK;AACZ,OAAOC,UAAU;AACjB,OAAOC,IAAI;AACX,IAAIC,WAAW,GAAG,CAAC,CAAC;AAKpB,IAAIC,eAAe,GAAgBL,UAAU,CAAC,UAACM,KAAK,EAAEC,YAAY,EAAK;EACrE,IAAIC,QAAQ,GAAGF,KAAK,CAACE,QAAQ;IACzBC,YAAY,GAAGH,KAAK,CAACI,KAAK;IAC1BA,KAAK,GAAGD,YAAY,KAAK,KAAK,CAAC,GAAGL,WAAW,GAAGK,YAAY;IAC5DE,UAAU,GAAGL,KAAK,CAACK,UAAU;IAC7BC,QAAQ,GAAGN,KAAK,CAACM,QAAQ;IACzBC,IAAI,GAAGhB,6BAA6B,CAACS,KAAK,EAAER,SAAS,CAAC;EAE1D,IAAIgB,mBAAmB,GAAGZ,UAAU,CAACa,OAAO,CAACL,KAAK,CAAC;IAC/CM,MAAM,GAAGF,mBAAmB,CAACE,MAAM;IACnCC,KAAK,GAAGH,mBAAmB,CAACG,KAAK;EAErC,OAAoBlB,KAAK,CAACmB,aAAa,CAACf,IAAI,EAAE;IAC5CgB,GAAG,EAAEZ,YAAY;IACjBG,KAAK,EAAEA;EACT,CAAC,EAAeX,KAAK,CAACmB,aAAa,CAACjB,KAAK,EAAEL,QAAQ,CAAC,CAAC,CAAC,EAAEiB,IAAI,EAAE;IAC5DM,GAAG,EAAEP,QAAQ;IACbF,KAAK,EAAE,CAAC;MAQNO,KAAK,EAALA,KAAK;MACLD,MAAM,EAANA,MAAM;MACNI,MAAM,EAAE,CAAC;IACX,CAAC,EAAElB,UAAU,CAACmB,YAAY,EAAEV,UAAU;EACxC,CAAC,CAAC,CAAC,EAAEH,QAAQ,CAAC;AAChB,CAAC,CAAC;AACFH,eAAe,CAACiB,WAAW,GAAG,iBAAiB;AAC/C,eAAejB,eAAe"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1c0a1e222747c44032b61fabf6632813.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1c0a1e222747c44032b61fabf6632813.json new file mode 100644 index 00000000..f7587bed --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1c0a1e222747c44032b61fabf6632813.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"name\", \"size\", \"color\", \"style\", \"children\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport PixelRatio from \"react-native-web/dist/exports/PixelRatio\";\nimport processColor from \"react-native-web/dist/exports/processColor\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport ensureNativeModuleAvailable from \"./ensure-native-module-available\";\nimport createIconSourceCache from \"./create-icon-source-cache\";\nimport createIconButtonComponent from \"./icon-button\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var NativeIconAPI = NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\nexport var DEFAULT_ICON_SIZE = 12;\nexport var DEFAULT_ICON_COLOR = 'black';\nexport default function createIconSet(glyphMap, fontFamily, fontFile, fontStyle) {\n var fontBasename = fontFile ? fontFile.replace(/\\.(otf|ttf)$/, '') : fontFamily;\n var fontReference = Platform.select({\n windows: \"/Assets/\" + fontFile + \"#\" + fontFamily,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily\n });\n var IconNamePropType = PropTypes.oneOf(Object.keys(glyphMap));\n var Icon = function (_PureComponent) {\n _inherits(Icon, _PureComponent);\n var _super = _createSuper(Icon);\n function Icon() {\n var _this;\n _classCallCheck(this, Icon);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.root = null;\n _this.handleRef = function (ref) {\n _this.root = ref;\n };\n return _this;\n }\n _createClass(Icon, [{\n key: \"setNativeProps\",\n value: function setNativeProps(nativeProps) {\n if (this.root) {\n this.root.setNativeProps(nativeProps);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n name = _this$props.name,\n size = _this$props.size,\n color = _this$props.color,\n style = _this$props.style,\n children = _this$props.children,\n props = _objectWithoutProperties(_this$props, _excluded);\n var glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n var styleDefaults = {\n fontSize: size,\n color: color\n };\n var styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal'\n };\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n props.ref = this.handleRef;\n return _jsxs(Text, _objectSpread(_objectSpread({\n selectable: false\n }, props), {}, {\n children: [glyph, children]\n }));\n }\n }]);\n return Icon;\n }(PureComponent);\n Icon.propTypes = {\n allowFontScaling: PropTypes.bool,\n name: IconNamePropType,\n size: PropTypes.number,\n color: PropTypes.any,\n children: PropTypes.node,\n style: PropTypes.any\n };\n Icon.defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false\n };\n var imageSourceCache = createIconSourceCache();\n function resolveGlyph(name) {\n var glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n function getImageSourceSync(name) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;\n var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;\n ensureNativeModuleAvailable();\n var glyph = resolveGlyph(name);\n var processedColor = processColor(color);\n var cacheKey = glyph + \":\" + size + \":\" + processedColor;\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n var imagePath = NativeIconAPI.getImageForFontSync(fontReference, glyph, size, processedColor);\n var value = {\n uri: imagePath,\n scale: PixelRatio.get()\n };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n function getImageSource(_x) {\n return _getImageSource.apply(this, arguments);\n }\n function _getImageSource() {\n _getImageSource = _asyncToGenerator(function* (name) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;\n var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;\n ensureNativeModuleAvailable();\n var glyph = resolveGlyph(name);\n var processedColor = processColor(color);\n var cacheKey = glyph + \":\" + size + \":\" + processedColor;\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n var imagePath = yield NativeIconAPI.getImageForFont(fontReference, glyph, size, processedColor);\n var value = {\n uri: imagePath,\n scale: PixelRatio.get()\n };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n });\n return _getImageSource.apply(this, arguments);\n }\n function loadFont() {\n return _loadFont.apply(this, arguments);\n }\n function _loadFont() {\n _loadFont = _asyncToGenerator(function* () {\n var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : fontFile;\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n yield NativeIconAPI.loadFontWithFileName.apply(NativeIconAPI, _toConsumableArray(file.split('.')));\n }\n });\n return _loadFont.apply(this, arguments);\n }\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n function getRawGlyphMap() {\n return glyphMap;\n }\n function getFontFamily() {\n return fontReference;\n }\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n return Icon;\n}","map":{"version":3,"names":["React","PureComponent","PropTypes","ensureNativeModuleAvailable","createIconSourceCache","createIconButtonComponent","NativeIconAPI","NativeModules","RNVectorIconsManager","RNVectorIconsModule","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","createIconSet","glyphMap","fontFamily","fontFile","fontStyle","fontBasename","replace","fontReference","Platform","select","windows","android","web","default","IconNamePropType","oneOf","Object","keys","Icon","root","handleRef","ref","nativeProps","setNativeProps","props","name","size","color","style","children","glyph","String","fromCodePoint","styleDefaults","fontSize","styleOverrides","fontWeight","propTypes","allowFontScaling","bool","number","any","node","defaultProps","imageSourceCache","resolveGlyph","getImageSourceSync","processedColor","processColor","cacheKey","has","get","imagePath","getImageForFontSync","value","uri","scale","PixelRatio","setValue","error","setError","getImageSource","getImageForFont","loadFont","file","OS","Error","loadFontWithFileName","split","hasIcon","prototype","hasOwnProperty","call","getRawGlyphMap","getFontFamily","Button"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/create-icon-set.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NativeModules,\n Platform,\n PixelRatio,\n processColor,\n Text,\n} from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\n\nexport const NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n glyphMap,\n fontFamily,\n fontFile,\n fontStyle\n) {\n // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n const fontBasename = fontFile\n ? fontFile.replace(/\\.(otf|ttf)$/, '')\n : fontFamily;\n\n const fontReference = Platform.select({\n windows: `/Assets/${fontFile}#${fontFamily}`,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily,\n });\n\n const IconNamePropType = PropTypes.oneOf(Object.keys(glyphMap));\n\n class Icon extends PureComponent {\n root = null;\n\n static propTypes = {\n allowFontScaling: PropTypes.bool,\n name: IconNamePropType,\n size: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n };\n\n static defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false,\n };\n\n setNativeProps(nativeProps) {\n if (this.root) {\n this.root.setNativeProps(nativeProps);\n }\n }\n\n handleRef = ref => {\n this.root = ref;\n };\n\n render() {\n const { name, size, color, style, children, ...props } = this.props;\n\n let glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n\n const styleDefaults = {\n fontSize: size,\n color,\n };\n\n const styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal',\n };\n\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n props.ref = this.handleRef;\n\n return (\n \n {glyph}\n {children}\n \n );\n }\n }\n\n const imageSourceCache = createIconSourceCache();\n\n function resolveGlyph(name) {\n const glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n\n function getImageSourceSync(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = NativeIconAPI.getImageForFontSync(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = await NativeIconAPI.getImageForFont(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function loadFont(file = fontFile) {\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n }\n }\n\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n\n function getRawGlyphMap() {\n return glyphMap;\n }\n\n function getFontFamily() {\n return fontReference;\n }\n\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n\n return Icon;\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1d7fc8506389ca22a93ce1042558acb5.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1d7fc8506389ca22a93ce1042558acb5.json new file mode 100644 index 00000000..dcc8cd6a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1d7fc8506389ca22a93ce1042558acb5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport createIconSet, { DEFAULT_ICON_COLOR, DEFAULT_ICON_SIZE } from \"./create-icon-set\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createMultiStyleIconSet(styles) {\n var optionsInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var styleNames = Object.keys(styles);\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n var options = _objectSpread({\n defaultStyle: styleNames[0],\n fallbackFamily: function fallbackFamily() {\n return styleNames[0];\n },\n glyphValidator: function glyphValidator() {\n return true;\n }\n }, optionsInput);\n var iconSets = styleNames.reduce(function (acc, name) {\n var style = styles[name];\n acc[name] = createIconSet(style.glyphMap || {}, style.fontFamily || '', style.fontFile || '', style.fontStyle || {});\n return acc;\n }, {});\n function styleFromProps(props) {\n return Object.keys(props).reduce(function (result, propName) {\n return styleNames.indexOf(propName) !== -1 && props[propName] === true ? propName : result;\n }, options.defaultStyle);\n }\n function getIconSetForProps(props) {\n var name = props.name;\n var style = styleFromProps(props);\n if (options.glyphValidator(name, style)) return iconSets[style];\n var family = options.fallbackFamily(name);\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n return iconSets[family];\n }\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n function reduceProps(props) {\n return Object.keys(props).reduce(function (acc, prop) {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n return acc;\n }, {});\n }\n function getStyledIconSet(style) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n return !name ? iconSets[styleFromProps(_defineProperty({}, style, true))] : getIconSetForProps(_defineProperty({\n name: name\n }, style, true));\n }\n function getImageSource(name) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;\n var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;\n var style = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : options.defaultStyle;\n return getStyledIconSet(style, name).getImageSource(name, size, color);\n }\n function getFontFamily() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getFontFamily();\n }\n function getRawGlyphMap() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getRawGlyphMap();\n }\n function hasIcon(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options.defaultStyle;\n return options.glyphValidator(name, style);\n }\n function createStyledIconClass() {\n var selectClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var IconClass = function (_PureComponent) {\n _inherits(IconClass, _PureComponent);\n var _super = _createSuper(IconClass);\n function IconClass() {\n _classCallCheck(this, IconClass);\n return _super.apply(this, arguments);\n }\n _createClass(IconClass, [{\n key: \"render\",\n value: function render() {\n var selectedIconSet = getIconSetForProps(this.props);\n var SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n var props = reduceProps(this.props);\n return _jsx(SelectedIconClass, _objectSpread({}, props));\n }\n }]);\n return IconClass;\n }(PureComponent);\n IconClass.propTypes = styleNames.reduce(function (acc, name) {\n acc[name] = PropTypes.bool;\n return acc;\n }, {});\n IconClass.defaultProps = styleNames.reduce(function (acc, name) {\n acc[name] = false;\n return acc;\n }, {});\n return IconClass;\n }\n var Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n Icon.getStyledIconSet = getStyledIconSet;\n Icon.getImageSource = getImageSource;\n Icon.getFontFamily = getFontFamily;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.hasIcon = hasIcon;\n return Icon;\n}","map":{"version":3,"names":["React","PureComponent","PropTypes","createIconSet","DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","createMultiStyleIconSet","styles","optionsInput","styleNames","Object","keys","length","Error","options","defaultStyle","fallbackFamily","glyphValidator","iconSets","reduce","acc","name","style","glyphMap","fontFamily","fontFile","fontStyle","styleFromProps","props","result","propName","indexOf","getIconSetForProps","family","selectIconClass","iconSet","iconClass","reduceProps","prop","getStyledIconSet","getImageSource","size","color","getFontFamily","getRawGlyphMap","hasIcon","createStyledIconClass","selectClass","IconClass","selectedIconSet","SelectedIconClass","propTypes","bool","defaultProps","Icon","Button"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/create-multi-style-icon-set.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport createIconSet, {\n DEFAULT_ICON_COLOR,\n DEFAULT_ICON_SIZE,\n} from './create-icon-set';\n\nexport default function createMultiStyleIconSet(styles, optionsInput = {}) {\n const styleNames = Object.keys(styles);\n\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n\n const options = {\n defaultStyle: styleNames[0],\n fallbackFamily: () => styleNames[0],\n glyphValidator: () => true,\n ...optionsInput,\n };\n\n const iconSets = styleNames.reduce((acc, name) => {\n const style = styles[name];\n\n acc[name] = createIconSet(\n style.glyphMap || {},\n style.fontFamily || '',\n style.fontFile || '',\n style.fontStyle || {}\n );\n\n return acc;\n }, {});\n\n function styleFromProps(props) {\n return Object.keys(props).reduce(\n (result, propName) =>\n styleNames.indexOf(propName) !== -1 && props[propName] === true\n ? propName\n : result,\n options.defaultStyle\n );\n }\n\n function getIconSetForProps(props) {\n const { name } = props;\n const style = styleFromProps(props);\n\n if (options.glyphValidator(name, style)) return iconSets[style];\n\n const family = options.fallbackFamily(name);\n\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n\n return iconSets[family];\n }\n\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n\n function reduceProps(props) {\n return Object.keys(props).reduce((acc, prop) => {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n\n return acc;\n }, {});\n }\n\n function getStyledIconSet(style, name = '') {\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n\n return !name\n ? iconSets[styleFromProps({ [style]: true })]\n : getIconSetForProps({ name, [style]: true });\n }\n\n function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR,\n style = options.defaultStyle\n ) {\n return getStyledIconSet(style, name).getImageSource(name, size, color);\n }\n\n function getFontFamily(style = options.defaultStyle) {\n return getStyledIconSet(style).getFontFamily();\n }\n\n function getRawGlyphMap(style = options.defaultStyle) {\n return getStyledIconSet(style).getRawGlyphMap();\n }\n\n function hasIcon(name, style = options.defaultStyle) {\n return options.glyphValidator(name, style);\n }\n\n function createStyledIconClass(selectClass = '') {\n class IconClass extends PureComponent {\n static propTypes = styleNames.reduce((acc, name) => {\n acc[name] = PropTypes.bool;\n return acc;\n }, {});\n\n static defaultProps = styleNames.reduce((acc, name) => {\n acc[name] = false;\n return acc;\n }, {});\n\n render() {\n const selectedIconSet = getIconSetForProps(this.props);\n const SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n const props = reduceProps(this.props);\n\n return ;\n }\n }\n\n return IconClass;\n }\n\n const Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n Icon.getStyledIconSet = getStyledIconSet;\n Icon.getImageSource = getImageSource;\n Icon.getFontFamily = getFontFamily;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.hasIcon = hasIcon;\n\n return Icon;\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1ecf23b6cad424c49f8326128c26e6fe.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1ecf23b6cad424c49f8326128c26e6fe.json new file mode 100644 index 00000000..424f96fa --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1ecf23b6cad424c49f8326128c26e6fe.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createFA5iconSet } from \"./lib/create-icon-set-from-fontawesome5\";\nimport glyphMap from \"./glyphmaps/FontAwesome5Free.json\";\nimport metadata from \"./glyphmaps/FontAwesome5Free_meta.json\";\nexport { FA5Style } from \"./lib/create-icon-set-from-fontawesome5\";\nvar iconSet = createFA5iconSet(glyphMap, metadata, false);\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createFA5iconSet","glyphMap","metadata","FA5Style","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/FontAwesome5.js"],"sourcesContent":["/**\n * FontAwesome5 icon set component.\n * Usage: \n */\n\nimport { createFA5iconSet } from './lib/create-icon-set-from-fontawesome5';\n\nimport glyphMap from './glyphmaps/FontAwesome5Free.json';\nimport metadata from './glyphmaps/FontAwesome5Free_meta.json';\n\nexport { FA5Style } from './lib/create-icon-set-from-fontawesome5';\n\nconst iconSet = createFA5iconSet(glyphMap, metadata, false);\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,SAASA,gBAAgB;AAEzB,OAAOC,QAAQ;AACf,OAAOC,QAAQ;AAEf,SAASC,QAAQ;AAEjB,IAAMC,OAAO,GAAGJ,gBAAgB,CAACC,QAAQ,EAAEC,QAAQ,EAAE,KAAK,CAAC;AAE3D,eAAeE,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/1f94e17bca7a021396af4fe0b7e41e94.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/1f94e17bca7a021396af4fe0b7e41e94.json new file mode 100644 index 00000000..9c15566b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/1f94e17bca7a021396af4fe0b7e41e94.json @@ -0,0 +1 @@ +{"ast":null,"code":"import React from \"react\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport TouchableHighlight from \"react-native-web/dist/exports/TouchableHighlight\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function Details(props) {\n var weather = props.weather;\n var city = weather.city;\n return _jsxs(View, {\n style: {\n alignItems: \"center\",\n backgroundColor: \"darksalmon\",\n height: \"100%\",\n width: \"100%\"\n },\n children: [_jsx(Text, {\n style: styles.name,\n children: city.name\n }), _jsx(View, {\n style: styles.place,\n children: _jsxs(Text, {\n style: styles.petitText,\n children: [city.longitude, \" - \", city.latitude]\n })\n }), _jsx(TouchableHighlight, {\n children: _jsx(Image, {\n style: styles.image,\n source: (weather == null ? void 0 : weather.weatherType) == \"Nuageux\" ? require(\"../assets/Nuageux.png\") : require(\"../assets/Nuageux.png\")\n })\n }), _jsx(Text, {\n style: styles.weatherType,\n children: weather == null ? void 0 : weather.weatherType\n }), _jsxs(View, {\n style: styles.supertruc,\n children: [_jsx(Image, {\n style: styles.petitImage,\n source: require(\"../assets/temperature.png\")\n }), _jsxs(View, {\n style: styles.supertrucencore,\n children: [_jsxs(Text, {\n style: styles.temperature,\n children: [weather == null ? void 0 : weather.temperature, \"\\xB0C\"]\n }), _jsxs(Text, {\n style: styles.petitTemp,\n children: [\"Ressenti \", weather == null ? void 0 : weather.temperatureFeelsLike, \"\\xB0C\"]\n })]\n })]\n }), _jsxs(View, {\n style: styles.boxes,\n children: [_jsxs(View, {\n style: styles.leftBox,\n children: [_jsxs(View, {\n style: styles.imageEtTexte,\n children: [_jsx(Image, {\n style: styles.imageHumidity,\n source: require(\"../assets/humidity.png\")\n }), _jsx(Text, {\n style: styles.text,\n children: \"HUMIDITY\"\n })]\n }), _jsxs(Text, {\n style: styles.humidityText,\n children: [weather == null ? void 0 : weather.humidity, \"%\"]\n })]\n }), _jsxs(View, {\n style: styles.rightBox,\n children: [_jsxs(View, {\n style: styles.imageEtTexte,\n children: [_jsx(Image, {\n style: styles.imageHumidity,\n source: require(\"../assets/wind.png\")\n }), _jsx(Text, {\n style: styles.text,\n children: \"WIND SPEED\"\n })]\n }), _jsxs(Text, {\n style: styles.humidityText,\n children: [weather == null ? void 0 : weather.windSpeed, \" km/h\"]\n })]\n })]\n }), _jsxs(View, {\n style: styles.boxes,\n children: [_jsxs(View, {\n style: styles.leftBox,\n children: [_jsxs(View, {\n style: styles.imageEtTexte,\n children: [_jsx(Image, {\n style: styles.imageHumidity,\n source: require(\"../assets/pressure.png\")\n }), _jsx(Text, {\n style: styles.text,\n children: \"PRESSURE\"\n })]\n }), _jsxs(Text, {\n style: styles.humidityText,\n children: [weather == null ? void 0 : weather.pressure, \" hPa\"]\n })]\n }), _jsxs(View, {\n style: styles.rightBox,\n children: [_jsxs(View, {\n style: styles.imageEtTexte,\n children: [_jsx(Image, {\n style: styles.imageHumidity,\n source: require(\"../assets/visibility.png\")\n }), _jsx(Text, {\n style: styles.text,\n children: \"VISIBILITY\"\n })]\n }), _jsxs(Text, {\n style: styles.humidityText,\n children: [weather == null ? void 0 : weather.visibility, \" km\"]\n })]\n })]\n })]\n });\n}\nvar styles = StyleSheet.create({\n name: {\n marginTop: 30,\n fontSize: 35,\n fontWeight: \"bold\"\n },\n place: {\n marginBottom: 20\n },\n petitText: {\n fontSize: 15\n },\n image: {\n height: 100,\n width: 100\n },\n title: {\n fontWeight: \"bold\",\n fontSize: 18\n },\n temperature: {\n marginTop: 10,\n fontSize: 25,\n fontWeight: \"600\"\n },\n petitTemp: {\n fontSize: 16,\n marginBottom: 35\n },\n weatherType: {\n fontSize: 17,\n marginBottom: 20\n },\n button: {\n height: 30,\n width: 30,\n marginTop: 13,\n alignSelf: \"flex-end\",\n margin: 5\n },\n supertruc: {\n flexDirection: \"row\"\n },\n supertrucencore: {\n flexDirection: \"column\"\n },\n petitImage: {\n height: 40,\n width: 40,\n marginRight: 7,\n marginTop: 15\n },\n imageHumidity: {\n height: 20,\n width: 20,\n marginLeft: 10\n },\n leftBox: {\n alignSelf: \"flex-start\",\n margin: 25,\n marginTop: 10,\n marginBottom: 5,\n height: 90,\n width: 150,\n flexDirection: \"column\",\n backgroundColor: \"powderblue\",\n borderRadius: 20\n },\n rightBox: {\n alignSelf: \"flex-start\",\n marginRight: 25,\n marginTop: 10,\n marginBottom: 5,\n height: 90,\n width: 150,\n flexDirection: \"column\",\n backgroundColor: \"powderblue\",\n borderRadius: 20\n },\n humidityText: {\n marginTop: 13,\n fontWeight: \"bold\",\n fontSize: 20,\n alignSelf: \"center\"\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n marginLeft: 7\n },\n imageEtTexte: {\n flexDirection: \"row\",\n marginTop: 13\n },\n boxes: {\n flexDirection: \"row\"\n }\n});","map":{"version":3,"names":["React","Details","props","weather","city","alignItems","backgroundColor","height","width","styles","name","place","petitText","longitude","latitude","image","weatherType","require","supertruc","petitImage","supertrucencore","temperature","petitTemp","temperatureFeelsLike","boxes","leftBox","imageEtTexte","imageHumidity","text","humidityText","humidity","rightBox","windSpeed","pressure","visibility","StyleSheet","create","marginTop","fontSize","fontWeight","marginBottom","title","button","alignSelf","margin","flexDirection","marginRight","marginLeft","borderRadius","fontStyle"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/components/Details.tsx"],"sourcesContent":["import React from \"react\"\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { View, Text, StyleSheet, TouchableHighlight, Image } from \"react-native\";\nimport { City, Weather } from \"../data/stub\";\n\n\ntype CityProps = {\n weather: Weather,\n}\n\nexport function Details(props: CityProps){\n\n\n const weather: Weather = props.weather\n const city = weather.city\n\n return (\n \n {city.name}\n \n {city.longitude} - {city.latitude}\n \n \n \n \n {weather?.weatherType}\n \n \n \n {weather?.temperature}°C\n Ressenti {weather?.temperatureFeelsLike}°C\n \n \n \n \n \n \n HUMIDITY\n \n {weather?.humidity}%\n \n \n \n \n WIND SPEED\n \n {weather?.windSpeed} km/h\n \n \n \n \n \n \n PRESSURE\n \n {weather?.pressure} hPa\n \n \n \n \n VISIBILITY\n \n {weather?.visibility} km\n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n name: {\n marginTop: 30,\n fontSize: 35,\n fontWeight: \"bold\"\n },\n place: {\n marginBottom: 20,\n },\n petitText: {\n fontSize: 15\n },\n image: {\n height: 100,\n width: 100\n },\n title: {\n fontWeight: \"bold\",\n fontSize: 18\n },\n temperature: {\n marginTop: 10,\n fontSize: 25, \n fontWeight: \"600\"\n },\n petitTemp: {\n fontSize: 16,\n marginBottom: 35\n },\n weatherType: {\n fontSize: 17,\n marginBottom: 20\n },\n button: {\n height: 30,\n width: 30,\n marginTop: 13,\n alignSelf: \"flex-end\",\n margin: 5\n },\n supertruc: {\n flexDirection: \"row\"\n },\n supertrucencore: {\n flexDirection: \"column\"\n },\n petitImage: {\n height: 40,\n width: 40,\n marginRight: 7,\n marginTop: 15\n },\n imageHumidity: {\n height: 20,\n width: 20,\n marginLeft: 10\n },\n leftBox: {\n alignSelf: \"flex-start\",\n margin: 25,\n marginTop: 10,\n marginBottom: 5,\n height: 90,\n width: 150,\n flexDirection: \"column\",\n backgroundColor: \"powderblue\",\n borderRadius: 20\n },\n rightBox: {\n alignSelf: \"flex-start\",\n marginRight: 25,\n marginTop: 10,\n marginBottom: 5,\n height: 90,\n width: 150,\n flexDirection: \"column\",\n backgroundColor: \"powderblue\",\n borderRadius: 20\n },\n humidityText: {\n marginTop: 13,\n fontWeight: \"bold\",\n fontSize: 20,\n alignSelf: \"center\"\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n marginLeft: 7\n },\n imageEtTexte: {\n flexDirection: \"row\",\n marginTop: 13\n },\n boxes: {\n flexDirection: \"row\"\n }\n });\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/22227e9dda15d978fe9831c385f64eff.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/22227e9dda15d978fe9831c385f64eff.json new file mode 100644 index 00000000..553024a9 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/22227e9dda15d978fe9831c385f64eff.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nexport var City = function () {\n function City(name, latitude, longitude) {\n _classCallCheck(this, City);\n this._name = name;\n this._latitude = latitude;\n this._longitude = longitude;\n }\n _createClass(City, [{\n key: \"name\",\n get: function get() {\n return this._name;\n },\n set: function set(value) {\n this._name = value;\n }\n }, {\n key: \"latitude\",\n get: function get() {\n return this._latitude;\n },\n set: function set(value) {\n this._latitude = value;\n }\n }, {\n key: \"longitude\",\n get: function get() {\n return this._longitude;\n },\n set: function set(value) {\n this._longitude = value;\n }\n }]);\n return City;\n}();\nexport var Weather = function () {\n function Weather(at, visibility, weatherType, weatherDescription, temperature, temperatureFeelsLike, humidity, windSpeed, pressure, city) {\n _classCallCheck(this, Weather);\n this._at = at;\n this._visibility = visibility;\n this._weatherType = weatherType;\n this._weatherDescription = weatherDescription;\n this._temperature = temperature;\n this._temperatureFeelsLike = temperatureFeelsLike;\n this._humidity = humidity;\n this._windSpeed = windSpeed;\n this._pressure = pressure;\n this._city = city;\n }\n _createClass(Weather, [{\n key: \"at\",\n get: function get() {\n return this._at;\n },\n set: function set(value) {\n this._at = value;\n }\n }, {\n key: \"visibility\",\n get: function get() {\n return this._visibility;\n },\n set: function set(value) {\n this._visibility = value;\n }\n }, {\n key: \"weatherType\",\n get: function get() {\n return this._weatherType;\n },\n set: function set(value) {\n this._weatherType = value;\n }\n }, {\n key: \"weatherDescription\",\n get: function get() {\n return this._weatherDescription;\n },\n set: function set(value) {\n this._weatherDescription = value;\n }\n }, {\n key: \"temperature\",\n get: function get() {\n return this._temperature;\n },\n set: function set(value) {\n this._temperature = value;\n }\n }, {\n key: \"temperatureFeelsLike\",\n get: function get() {\n return this._temperatureFeelsLike;\n },\n set: function set(value) {\n this._temperatureFeelsLike = value;\n }\n }, {\n key: \"humidity\",\n get: function get() {\n return this._humidity;\n },\n set: function set(value) {\n this._humidity = value;\n }\n }, {\n key: \"windSpeed\",\n get: function get() {\n return this._windSpeed;\n },\n set: function set(value) {\n this._windSpeed = value;\n }\n }, {\n key: \"pressure\",\n get: function get() {\n return this._pressure;\n },\n set: function set(value) {\n this._pressure = value;\n }\n }, {\n key: \"city\",\n get: function get() {\n return this._city;\n },\n set: function set(value) {\n this._city = value;\n }\n }]);\n return Weather;\n}();\nexport var CITIES_DATA = [new City(\"Paris\", 48.866667, 2.333333), new City(\"Clermont-Ferrand\", 45.777222, 3.087025), new City(\"Lyon\", 45.764043, 4.835659), new City(\"Marseille\", 43.296482, 5.36978), new City(\"Bruxelles\", 50.85034, 4.35171)];\nexport var FAVORITE_CITY_DATA = new City(\"Clermont-Ferrand\", 45.777222, 3.087025);\nexport var DEFAULT_SELECTED_CITY_DATA = new City(\"Paris\", 48.866667, 2.333333);\nexport var WEATHER_DATA = [new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\", \"couvert\", 0.52, -4.34, 82, 5.14, 1032, new City(\"Paris\", 48.866667, 2.333333)), new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\", \"couvert\", 0.52, -4.34, 82, 5.14, 1032, new City(\"Clermont-Ferrand\", 45.777222, 3.087025)), new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\", \"couvert\", 0.52, -4.34, 82, 5.14, 1032, new City(\"Lyon\", 45.764043, 4.835659)), new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\", \"couvert\", 0.52, -4.34, 82, 5.14, 1032, new City(\"Marseille\", 43.296482, 5.36978)), new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\", \"couvert\", 0.52, -4.34, 82, 5.14, 1032, new City(\"Bruxelles\", 50.85034, 4.35171))];\nexport var getCurrentWeather = function getCurrentWeather(cityName) {\n if (cityName === undefined) return null;\n return WEATHER_DATA.filter(function (elt) {\n return elt.city.name === cityName;\n })[0];\n};","map":{"version":3,"names":["City","name","latitude","longitude","_name","_latitude","_longitude","value","Weather","at","visibility","weatherType","weatherDescription","temperature","temperatureFeelsLike","humidity","windSpeed","pressure","city","_at","_visibility","_weatherType","_weatherDescription","_temperature","_temperatureFeelsLike","_humidity","_windSpeed","_pressure","_city","CITIES_DATA","FAVORITE_CITY_DATA","DEFAULT_SELECTED_CITY_DATA","WEATHER_DATA","getCurrentWeather","cityName","undefined","filter","elt"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/data/stub.ts"],"sourcesContent":["export class City {\n private _name: string;\n private _latitude: number;\n private _longitude: number;\n\n constructor(name: string, latitude: number, longitude: number) {\n this._name = name;\n this._latitude = latitude;\n this._longitude = longitude;\n }\n\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n }\n\n get latitude(): number {\n return this._latitude;\n }\n\n set latitude(value: number) {\n this._latitude = value;\n }\n\n get longitude(): number {\n return this._longitude;\n }\n\n set longitude(value: number) {\n this._longitude = value;\n }\n}\n\nexport class Weather {\n private _at: string;\n private _visibility: number;\n private _weatherType: string;\n private _weatherDescription: string;\n private _temperature: number;\n private _temperatureFeelsLike: number;\n private _humidity: number;\n private _windSpeed: number;\n private _pressure: number;\n private _city: City;\n\n constructor(at: string, visibility: number, weatherType: string, weatherDescription: string, temperature: number, temperatureFeelsLike: number, humidity: number, windSpeed: number, pressure: number, city: City) {\n this._at = at;\n this._visibility = visibility;\n this._weatherType = weatherType;\n this._weatherDescription = weatherDescription;\n this._temperature = temperature;\n this._temperatureFeelsLike = temperatureFeelsLike;\n this._humidity = humidity;\n this._windSpeed = windSpeed;\n this._pressure = pressure;\n this._city = city;\n }\n\n get at(): string {\n return this._at;\n }\n\n set at(value: string) {\n this._at = value;\n }\n\n get visibility(): number {\n return this._visibility;\n }\n\n set visibility(value: number) {\n this._visibility = value;\n }\n\n get weatherType(): string {\n return this._weatherType;\n }\n\n set weatherType(value: string) {\n this._weatherType = value;\n }\n\n get weatherDescription(): string {\n return this._weatherDescription;\n }\n\n set weatherDescription(value: string) {\n this._weatherDescription = value;\n }\n\n get temperature(): number {\n return this._temperature;\n }\n\n set temperature(value: number) {\n this._temperature = value;\n }\n\n get temperatureFeelsLike(): number {\n return this._temperatureFeelsLike;\n }\n\n set temperatureFeelsLike(value: number) {\n this._temperatureFeelsLike = value;\n }\n\n get humidity(): number {\n return this._humidity;\n }\n\n set humidity(value: number) {\n this._humidity = value;\n }\n\n get windSpeed(): number {\n return this._windSpeed;\n }\n\n set windSpeed(value: number) {\n this._windSpeed = value;\n }\n\n get pressure(): number {\n return this._pressure;\n }\n\n set pressure(value: number) {\n this._pressure = value;\n }\n\n get city(): City {\n return this._city;\n }\n\n set city(value: City) {\n this._city = value;\n }\n}\n\nexport const CITIES_DATA: City[] = [\n new City(\"Paris\", 48.866667, 2.333333),\n new City(\"Clermont-Ferrand\", 45.777222, 3.087025),\n new City(\"Lyon\", 45.764043, 4.835659),\n new City(\"Marseille\", 43.296482, 5.36978),\n new City(\"Bruxelles\", 50.85034, 4.35171),\n];\n\nexport const FAVORITE_CITY_DATA =\n new City(\"Clermont-Ferrand\", 45.777222, 3.087025);\n\nexport const DEFAULT_SELECTED_CITY_DATA: City =\n new City(\"Paris\", 48.866667, 2.333333);\n\nexport const WEATHER_DATA: Weather[] = [\n new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\",\n \"couvert\", 0.52, -4.34,\n 82, 5.14, 1032,\n new City(\"Paris\", 48.866667, 2.333333)\n ),\n new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\",\n \"couvert\", 0.52, -4.34,\n 82, 5.14, 1032,\n new City(\"Clermont-Ferrand\", 45.777222, 3.087025)\n ),\n new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\",\n \"couvert\", 0.52, -4.34,\n 82, 5.14, 1032,\n new City(\"Lyon\", 45.764043, 4.835659)\n ),\n new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\",\n \"couvert\", 0.52, -4.34,\n 82, 5.14, 1032,\n new City(\"Marseille\", 43.296482, 5.36978)\n ),\n new Weather(\"2023-01-22 09:55:59\", 10000, \"Nuageux\",\n \"couvert\", 0.52, -4.34,\n 82, 5.14, 1032,\n new City(\"Bruxelles\", 50.85034, 4.35171)\n ),\n];\n\nexport const getCurrentWeather = (cityName: string) => {\n if (cityName === undefined) return null;\n return WEATHER_DATA.filter(elt => elt.city.name === cityName)[0];\n}\n"],"mappings":";;AAAA,WAAaA,IAAI;EAKf,cAAYC,IAAY,EAAEC,QAAgB,EAAEC,SAAiB,EAAE;IAAA;IAC7D,IAAI,CAACC,KAAK,GAAGH,IAAI;IACjB,IAAI,CAACI,SAAS,GAAGH,QAAQ;IACzB,IAAI,CAACI,UAAU,GAAGH,SAAS;EAC7B;EAAC;IAAA;IAAA,KAED,eAAmB;MACjB,OAAO,IAAI,CAACC,KAAK;IACnB,CAAC;IAAA,KAED,aAASG,KAAa,EAAE;MACtB,IAAI,CAACH,KAAK,GAAGG,KAAK;IACpB;EAAC;IAAA;IAAA,KAED,eAAuB;MACrB,OAAO,IAAI,CAACF,SAAS;IACvB,CAAC;IAAA,KAED,aAAaE,KAAa,EAAE;MAC1B,IAAI,CAACF,SAAS,GAAGE,KAAK;IACxB;EAAC;IAAA;IAAA,KAED,eAAwB;MACtB,OAAO,IAAI,CAACD,UAAU;IACxB,CAAC;IAAA,KAED,aAAcC,KAAa,EAAE;MAC3B,IAAI,CAACD,UAAU,GAAGC,KAAK;IACzB;EAAC;EAAA;AAAA;AAGH,WAAaC,OAAO;EAYlB,iBAAYC,EAAU,EAAEC,UAAkB,EAAEC,WAAmB,EAAEC,kBAA0B,EAAEC,WAAmB,EAAEC,oBAA4B,EAAEC,QAAgB,EAAEC,SAAiB,EAAEC,QAAgB,EAAEC,IAAU,EAAE;IAAA;IACjN,IAAI,CAACC,GAAG,GAAGV,EAAE;IACb,IAAI,CAACW,WAAW,GAAGV,UAAU;IAC7B,IAAI,CAACW,YAAY,GAAGV,WAAW;IAC/B,IAAI,CAACW,mBAAmB,GAAGV,kBAAkB;IAC7C,IAAI,CAACW,YAAY,GAAGV,WAAW;IAC/B,IAAI,CAACW,qBAAqB,GAAGV,oBAAoB;IACjD,IAAI,CAACW,SAAS,GAAGV,QAAQ;IACzB,IAAI,CAACW,UAAU,GAAGV,SAAS;IAC3B,IAAI,CAACW,SAAS,GAAGV,QAAQ;IACzB,IAAI,CAACW,KAAK,GAAGV,IAAI;EACnB;EAAC;IAAA;IAAA,KAED,eAAiB;MACf,OAAO,IAAI,CAACC,GAAG;IACjB,CAAC;IAAA,KAED,aAAOZ,KAAa,EAAE;MACpB,IAAI,CAACY,GAAG,GAAGZ,KAAK;IAClB;EAAC;IAAA;IAAA,KAED,eAAyB;MACvB,OAAO,IAAI,CAACa,WAAW;IACzB,CAAC;IAAA,KAED,aAAeb,KAAa,EAAE;MAC5B,IAAI,CAACa,WAAW,GAAGb,KAAK;IAC1B;EAAC;IAAA;IAAA,KAED,eAA0B;MACxB,OAAO,IAAI,CAACc,YAAY;IAC1B,CAAC;IAAA,KAED,aAAgBd,KAAa,EAAE;MAC7B,IAAI,CAACc,YAAY,GAAGd,KAAK;IAC3B;EAAC;IAAA;IAAA,KAED,eAAiC;MAC/B,OAAO,IAAI,CAACe,mBAAmB;IACjC,CAAC;IAAA,KAED,aAAuBf,KAAa,EAAE;MACpC,IAAI,CAACe,mBAAmB,GAAGf,KAAK;IAClC;EAAC;IAAA;IAAA,KAED,eAA0B;MACxB,OAAO,IAAI,CAACgB,YAAY;IAC1B,CAAC;IAAA,KAED,aAAgBhB,KAAa,EAAE;MAC7B,IAAI,CAACgB,YAAY,GAAGhB,KAAK;IAC3B;EAAC;IAAA;IAAA,KAED,eAAmC;MACjC,OAAO,IAAI,CAACiB,qBAAqB;IACnC,CAAC;IAAA,KAED,aAAyBjB,KAAa,EAAE;MACtC,IAAI,CAACiB,qBAAqB,GAAGjB,KAAK;IACpC;EAAC;IAAA;IAAA,KAED,eAAuB;MACrB,OAAO,IAAI,CAACkB,SAAS;IACvB,CAAC;IAAA,KAED,aAAalB,KAAa,EAAE;MAC1B,IAAI,CAACkB,SAAS,GAAGlB,KAAK;IACxB;EAAC;IAAA;IAAA,KAED,eAAwB;MACtB,OAAO,IAAI,CAACmB,UAAU;IACxB,CAAC;IAAA,KAED,aAAcnB,KAAa,EAAE;MAC3B,IAAI,CAACmB,UAAU,GAAGnB,KAAK;IACzB;EAAC;IAAA;IAAA,KAED,eAAuB;MACrB,OAAO,IAAI,CAACoB,SAAS;IACvB,CAAC;IAAA,KAED,aAAapB,KAAa,EAAE;MAC1B,IAAI,CAACoB,SAAS,GAAGpB,KAAK;IACxB;EAAC;IAAA;IAAA,KAED,eAAiB;MACf,OAAO,IAAI,CAACqB,KAAK;IACnB,CAAC;IAAA,KAED,aAASrB,KAAW,EAAE;MACpB,IAAI,CAACqB,KAAK,GAAGrB,KAAK;IACpB;EAAC;EAAA;AAAA;AAGH,OAAO,IAAMsB,WAAmB,GAAG,CACjC,IAAI7B,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EACtC,IAAIA,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC,EACjD,IAAIA,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EACrC,IAAIA,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EACzC,IAAIA,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CACzC;AAED,OAAO,IAAM8B,kBAAkB,GAC7B,IAAI9B,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC;AAEnD,OAAO,IAAM+B,0BAAgC,GAC3C,IAAI/B,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;AAExC,OAAO,IAAMgC,YAAuB,GAAG,CACrC,IAAIxB,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EACjD,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EACtB,EAAE,EAAE,IAAI,EAAE,IAAI,EACd,IAAIR,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CACvC,EACD,IAAIQ,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EACjD,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EACtB,EAAE,EAAE,IAAI,EAAE,IAAI,EACd,IAAIR,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAClD,EACD,IAAIQ,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EACjD,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EACtB,EAAE,EAAE,IAAI,EAAE,IAAI,EACd,IAAIR,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CACtC,EACD,IAAIQ,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EACjD,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EACtB,EAAE,EAAE,IAAI,EAAE,IAAI,EACd,IAAIR,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAC1C,EACD,IAAIQ,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EACjD,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EACtB,EAAE,EAAE,IAAI,EAAE,IAAI,EACd,IAAIR,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CACzC,CACF;AAED,OAAO,IAAMiC,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,QAAgB,EAAK;EACrD,IAAIA,QAAQ,KAAKC,SAAS,EAAE,OAAO,IAAI;EACvC,OAAOH,YAAY,CAACI,MAAM,CAAC,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACnB,IAAI,CAACjB,IAAI,KAAKiC,QAAQ;EAAA,EAAC,CAAC,CAAC,CAAC;AAClE,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/23d06fafaa8b37ab67daedf898a3426a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/23d06fafaa8b37ab67daedf898a3426a.json new file mode 100644 index 00000000..c227d74c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/23d06fafaa8b37ab67daedf898a3426a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { getFavoriteCityStorage } from \"../../asyncStorange/getFavoriteCityStorage\";\nimport { City } from \"../../data/stub\";\nimport { getWeather } from \"./getWeather\";\nimport { setFavoriteCity } from \"./setFavoriteCity\";\nimport { setWeather } from \"./setWeather\";\nexport var getFavoriteCity = function getFavoriteCity() {\n return function () {\n var _ref = _asyncToGenerator(function* (dispatch) {\n try {\n var json = yield getFavoriteCityStorage();\n if (json != null) {\n var city = new City(json[\"_name\"], json[\"_latitude\"], json[\"_longitude\"]);\n dispatch(setFavoriteCity(city));\n dispatch(getWeather(city));\n } else {\n dispatch(setFavoriteCity(null));\n dispatch(setWeather(null));\n }\n } catch (error) {\n console.log('Error---------', error);\n }\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n};","map":{"version":3,"names":["getFavoriteCityStorage","City","getWeather","setFavoriteCity","setWeather","getFavoriteCity","dispatch","json","city","error","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/getFavoriteCity.ts"],"sourcesContent":["import { getFavoriteCityStorage } from \"../../asyncStorange/getFavoriteCityStorage\";\nimport { City } from \"../../data/stub\";\nimport { getWeather } from \"./getWeather\";\nimport { setFavoriteCity } from \"./setFavoriteCity\";\nimport { setWeather } from \"./setWeather\";\n\nexport const getFavoriteCity = () => {\n return async dispatch => {\n try {\n const json = await getFavoriteCityStorage()\n if (json!=null){\n const city = new City(json[\"_name\"], json[\"_latitude\"], json[\"_longitude\"])\n dispatch(setFavoriteCity(city))\n dispatch(getWeather(city))\n }\n else{\n dispatch(setFavoriteCity(null))\n dispatch(setWeather(null))\n }\n } catch (error) {\n console.log('Error---------', error);\n //You can dispatch to another action if you want to display an error message in the application\n //dispatch(fetchDataRejected(error))\n }\n }\n }"],"mappings":";AAAA,SAASA,sBAAsB;AAC/B,SAASC,IAAI;AACb,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnB,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,GAAS;EACjC;IAAA,6BAAO,WAAMC,QAAQ,EAAI;MACvB,IAAI;QACE,IAAMC,IAAI,SAASP,sBAAsB,EAAE;QAC3C,IAAIO,IAAI,IAAE,IAAI,EAAC;UACX,IAAMC,IAAI,GAAG,IAAIP,IAAI,CAACM,IAAI,CAAC,OAAO,CAAC,EAAEA,IAAI,CAAC,WAAW,CAAC,EAAEA,IAAI,CAAC,YAAY,CAAC,CAAC;UAC3ED,QAAQ,CAACH,eAAe,CAACK,IAAI,CAAC,CAAC;UAC/BF,QAAQ,CAACJ,UAAU,CAACM,IAAI,CAAC,CAAC;QAC9B,CAAC,MACG;UACAF,QAAQ,CAACH,eAAe,CAAC,IAAI,CAAC,CAAC;UAC/BG,QAAQ,CAACF,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B;MACN,CAAC,CAAC,OAAOK,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,KAAK,CAAC;MAGtC;IACF,CAAC;IAAA;MAAA;IAAA;EAAA;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/2637dc8ae6094cfb4ae778c24033640c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/2637dc8ae6094cfb4ae778c24033640c.json new file mode 100644 index 00000000..3e5411c4 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/2637dc8ae6094cfb4ae778c24033640c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { Platform } from 'expo-modules-core';\nimport { getAssetByID } from \"./AssetRegistry\";\nimport { selectAssetSource } from \"./AssetSources\";\nimport * as AssetUris from \"./AssetUris\";\nimport * as ImageAssets from \"./ImageAssets\";\nimport { getLocalAssetUri } from \"./LocalAssets\";\nimport { downloadAsync as _downloadAsync, IS_ENV_WITH_UPDATES_ENABLED } from \"./PlatformUtils\";\nimport resolveAssetSource from \"./resolveAssetSource\";\nexport var Asset = function () {\n function Asset(_ref) {\n var name = _ref.name,\n type = _ref.type,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? null : _ref$hash,\n uri = _ref.uri,\n width = _ref.width,\n height = _ref.height;\n _classCallCheck(this, Asset);\n this.hash = null;\n this.localUri = null;\n this.width = null;\n this.height = null;\n this.downloading = false;\n this.downloaded = false;\n this._downloadCallbacks = [];\n this.name = name;\n this.type = type;\n this.hash = hash;\n this.uri = uri;\n if (typeof width === 'number') {\n this.width = width;\n }\n if (typeof height === 'number') {\n this.height = height;\n }\n if (hash) {\n this.localUri = getLocalAssetUri(hash, type);\n if (this.localUri) {\n this.downloaded = true;\n }\n }\n if (Platform.OS === 'web') {\n if (!name) {\n this.name = AssetUris.getFilename(uri);\n }\n if (!type) {\n this.type = AssetUris.getFileExtension(uri);\n }\n }\n }\n _createClass(Asset, [{\n key: \"downloadAsync\",\n value: function () {\n var _downloadAsync2 = _asyncToGenerator(function* () {\n var _this = this;\n if (this.downloaded) {\n return this;\n }\n if (this.downloading) {\n yield new Promise(function (resolve, reject) {\n _this._downloadCallbacks.push({\n resolve: resolve,\n reject: reject\n });\n });\n return this;\n }\n this.downloading = true;\n try {\n if (Platform.OS === 'web') {\n if (ImageAssets.isImageType(this.type)) {\n var _yield$ImageAssets$ge = yield ImageAssets.getImageInfoAsync(this.uri),\n width = _yield$ImageAssets$ge.width,\n height = _yield$ImageAssets$ge.height,\n name = _yield$ImageAssets$ge.name;\n this.width = width;\n this.height = height;\n this.name = name;\n } else {\n this.name = AssetUris.getFilename(this.uri);\n }\n }\n this.localUri = yield _downloadAsync(this.uri, this.hash, this.type, this.name);\n this.downloaded = true;\n this._downloadCallbacks.forEach(function (_ref2) {\n var resolve = _ref2.resolve;\n return resolve();\n });\n } catch (e) {\n this._downloadCallbacks.forEach(function (_ref3) {\n var reject = _ref3.reject;\n return reject(e);\n });\n throw e;\n } finally {\n this.downloading = false;\n this._downloadCallbacks = [];\n }\n return this;\n });\n function downloadAsync() {\n return _downloadAsync2.apply(this, arguments);\n }\n return downloadAsync;\n }()\n }], [{\n key: \"loadAsync\",\n value: function loadAsync(moduleId) {\n var moduleIds = Array.isArray(moduleId) ? moduleId : [moduleId];\n return Promise.all(moduleIds.map(function (moduleId) {\n return Asset.fromModule(moduleId).downloadAsync();\n }));\n }\n }, {\n key: \"fromModule\",\n value: function fromModule(virtualAssetModule) {\n if (typeof virtualAssetModule === 'string') {\n return Asset.fromURI(virtualAssetModule);\n }\n var meta = getAssetByID(virtualAssetModule);\n if (!meta) {\n throw new Error(\"Module \\\"\" + virtualAssetModule + \"\\\" is missing from the asset registry\");\n }\n if (!IS_ENV_WITH_UPDATES_ENABLED) {\n var _resolveAssetSource = resolveAssetSource(virtualAssetModule),\n uri = _resolveAssetSource.uri;\n var asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash: meta.hash,\n uri: uri,\n width: meta.width,\n height: meta.height\n });\n if (Platform.OS === 'android' && !uri.includes(':') && (meta.width || meta.height)) {\n asset.localUri = asset.uri;\n asset.downloaded = true;\n }\n Asset.byHash[meta.hash] = asset;\n return asset;\n }\n return Asset.fromMetadata(meta);\n }\n }, {\n key: \"fromMetadata\",\n value: function fromMetadata(meta) {\n var metaHash = meta.hash;\n if (Asset.byHash[metaHash]) {\n return Asset.byHash[metaHash];\n }\n var _selectAssetSource = selectAssetSource(meta),\n uri = _selectAssetSource.uri,\n hash = _selectAssetSource.hash;\n var asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash: hash,\n uri: uri,\n width: meta.width,\n height: meta.height\n });\n Asset.byHash[metaHash] = asset;\n return asset;\n }\n }, {\n key: \"fromURI\",\n value: function fromURI(uri) {\n if (Asset.byUri[uri]) {\n return Asset.byUri[uri];\n }\n var type = '';\n if (uri.indexOf(';base64') > -1) {\n type = uri.split(';')[0].split('/')[1];\n } else {\n var extension = AssetUris.getFileExtension(uri);\n type = extension.startsWith('.') ? extension.substring(1) : extension;\n }\n var asset = new Asset({\n name: '',\n type: type,\n hash: null,\n uri: uri\n });\n Asset.byUri[uri] = asset;\n return asset;\n }\n }]);\n return Asset;\n}();\nAsset.byHash = {};\nAsset.byUri = {};","map":{"version":3,"sources":["../src/Asset.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'expo-modules-core';\n\nimport { getAssetByID } from './AssetRegistry';\nimport { AssetMetadata, selectAssetSource } from './AssetSources';\nimport * as AssetUris from './AssetUris';\nimport * as ImageAssets from './ImageAssets';\nimport { getLocalAssetUri } from './LocalAssets';\nimport { downloadAsync, IS_ENV_WITH_UPDATES_ENABLED } from './PlatformUtils';\nimport resolveAssetSource from './resolveAssetSource';\n\n// @docsMissing\nexport type AssetDescriptor = {\n name: string;\n type: string;\n hash?: string | null;\n uri: string;\n width?: number | null;\n height?: number | null;\n};\n\ntype DownloadPromiseCallbacks = {\n resolve: () => void;\n reject: (error: Error) => void;\n};\n\nexport { AssetMetadata };\n\n// @needsAudit\n/**\n * The `Asset` class represents an asset in your app. It gives metadata about the asset (such as its\n * name and type) and provides facilities to load the asset data.\n */\nexport class Asset {\n /**\n * @private\n */\n static byHash = {};\n /**\n * @private\n */\n static byUri = {};\n\n /**\n * The name of the asset file without the extension. Also without the part from `@` onward in the\n * filename (used to specify scale factor for images).\n */\n name: string;\n /**\n * The extension of the asset filename.\n */\n type: string;\n /**\n * The MD5 hash of the asset's data.\n */\n hash: string | null = null;\n /**\n * A URI that points to the asset's data on the remote server. When running the published version\n * of your app, this refers to the location on Expo's asset server where Expo has stored your\n * asset. When running the app from Expo CLI during development, this URI points to Expo CLI's\n * server running on your computer and the asset is served directly from your computer.\n */\n uri: string;\n /**\n * If the asset has been downloaded (by calling [`downloadAsync()`](#downloadasync)), the\n * `file://` URI pointing to the local file on the device that contains the asset data.\n */\n localUri: string | null = null;\n /**\n * If the asset is an image, the width of the image data divided by the scale factor. The scale\n * factor is the number after `@` in the filename, or `1` if not present.\n */\n width: number | null = null;\n /**\n * If the asset is an image, the height of the image data divided by the scale factor. The scale factor is the number after `@` in the filename, or `1` if not present.\n */\n height: number | null = null;\n // @docsMissing\n downloading: boolean = false;\n // @docsMissing\n downloaded: boolean = false;\n\n /**\n * @private\n */\n _downloadCallbacks: DownloadPromiseCallbacks[] = [];\n\n constructor({ name, type, hash = null, uri, width, height }: AssetDescriptor) {\n this.name = name;\n this.type = type;\n this.hash = hash;\n this.uri = uri;\n\n if (typeof width === 'number') {\n this.width = width;\n }\n if (typeof height === 'number') {\n this.height = height;\n }\n\n if (hash) {\n this.localUri = getLocalAssetUri(hash, type);\n if (this.localUri) {\n this.downloaded = true;\n }\n }\n\n if (Platform.OS === 'web') {\n if (!name) {\n this.name = AssetUris.getFilename(uri);\n }\n if (!type) {\n this.type = AssetUris.getFileExtension(uri);\n }\n }\n }\n\n // @needsAudit\n /**\n * A helper that wraps `Asset.fromModule(module).downloadAsync` for convenience.\n * @param moduleId An array of `require('path/to/file')` or external network URLs. Can also be\n * just one module or URL without an Array.\n * @return Returns a Promise that fulfills with an array of `Asset`s when the asset(s) has been\n * saved to disk.\n * @example\n * ```ts\n * const [{ localUri }] = await Asset.loadAsync(require('./assets/snack-icon.png'));\n * ```\n */\n static loadAsync(moduleId: number | number[] | string | string[]): Promise {\n const moduleIds = Array.isArray(moduleId) ? moduleId : [moduleId];\n return Promise.all(moduleIds.map((moduleId) => Asset.fromModule(moduleId).downloadAsync()));\n }\n\n // @needsAudit\n /**\n * Returns the [`Asset`](#asset) instance representing an asset given its module or URL.\n * @param virtualAssetModule The value of `require('path/to/file')` for the asset or external\n * network URL\n * @return The [`Asset`](#asset) instance for the asset.\n */\n static fromModule(virtualAssetModule: number | string): Asset {\n if (typeof virtualAssetModule === 'string') {\n return Asset.fromURI(virtualAssetModule);\n }\n\n const meta = getAssetByID(virtualAssetModule);\n if (!meta) {\n throw new Error(`Module \"${virtualAssetModule}\" is missing from the asset registry`);\n }\n\n // Outside of the managed env we need the moduleId to initialize the asset\n // because resolveAssetSource depends on it\n if (!IS_ENV_WITH_UPDATES_ENABLED) {\n const { uri } = resolveAssetSource(virtualAssetModule);\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash: meta.hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n\n // TODO: FileSystem should probably support 'downloading' from drawable\n // resources But for now it doesn't (it only supports raw resources) and\n // React Native's Image works fine with drawable resource names for\n // images.\n if (Platform.OS === 'android' && !uri.includes(':') && (meta.width || meta.height)) {\n asset.localUri = asset.uri;\n asset.downloaded = true;\n }\n\n Asset.byHash[meta.hash] = asset;\n return asset;\n }\n\n return Asset.fromMetadata(meta);\n }\n\n // @docsMissing\n static fromMetadata(meta: AssetMetadata): Asset {\n // The hash of the whole asset, not to be confused with the hash of a specific file returned\n // from `selectAssetSource`\n const metaHash = meta.hash;\n if (Asset.byHash[metaHash]) {\n return Asset.byHash[metaHash];\n }\n\n const { uri, hash } = selectAssetSource(meta);\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n Asset.byHash[metaHash] = asset;\n return asset;\n }\n\n // @docsMissing\n static fromURI(uri: string): Asset {\n if (Asset.byUri[uri]) {\n return Asset.byUri[uri];\n }\n\n // Possibly a Base64-encoded URI\n let type = '';\n if (uri.indexOf(';base64') > -1) {\n type = uri.split(';')[0].split('/')[1];\n } else {\n const extension = AssetUris.getFileExtension(uri);\n type = extension.startsWith('.') ? extension.substring(1) : extension;\n }\n\n const asset = new Asset({\n name: '',\n type,\n hash: null,\n uri,\n });\n\n Asset.byUri[uri] = asset;\n\n return asset;\n }\n\n // @needsAudit\n /**\n * Downloads the asset data to a local file in the device's cache directory. Once the returned\n * promise is fulfilled without error, the [`localUri`](#assetlocaluri) field of this asset points\n * to a local file containing the asset data. The asset is only downloaded if an up-to-date local\n * file for the asset isn't already present due to an earlier download. The downloaded `Asset`\n * will be returned when the promise is resolved.\n * @return Returns a Promise which fulfills with an `Asset` instance.\n */\n async downloadAsync(): Promise {\n if (this.downloaded) {\n return this;\n }\n if (this.downloading) {\n await new Promise((resolve, reject) => {\n this._downloadCallbacks.push({ resolve, reject });\n });\n return this;\n }\n this.downloading = true;\n\n try {\n if (Platform.OS === 'web') {\n if (ImageAssets.isImageType(this.type)) {\n const { width, height, name } = await ImageAssets.getImageInfoAsync(this.uri);\n this.width = width;\n this.height = height;\n this.name = name;\n } else {\n this.name = AssetUris.getFilename(this.uri);\n }\n }\n this.localUri = await downloadAsync(this.uri, this.hash, this.type, this.name);\n\n this.downloaded = true;\n this._downloadCallbacks.forEach(({ resolve }) => resolve());\n } catch (e) {\n this._downloadCallbacks.forEach(({ reject }) => reject(e));\n throw e;\n } finally {\n this.downloading = false;\n this._downloadCallbacks = [];\n }\n return this;\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/2687ca329de5c8053b991765af666aa2.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/2687ca329de5c8053b991765af666aa2.json new file mode 100644 index 00000000..7f279700 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/2687ca329de5c8053b991765af666aa2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"accessibilityReadOnly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"style\", \"value\"];\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nvar CheckBox = React.forwardRef(function (props, forwardedRef) {\n var accessibilityReadOnly = props.accessibilityReadOnly,\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n var fakeControl = React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked, value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n readOnly: accessibilityReadOnly,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return React.createElement(View, _extends({}, other, {\n accessibilityDisabled: disabled,\n accessibilityReadOnly: accessibilityReadOnly,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;","map":{"version":3,"names":["_objectSpread","_extends","_objectWithoutPropertiesLoose","_excluded","React","createElement","StyleSheet","View","CheckBox","forwardRef","props","forwardedRef","accessibilityReadOnly","color","disabled","onChange","onValueChange","style","value","other","handleChange","event","nativeEvent","target","checked","fakeControl","styles","fakeControlChecked","backgroundColor","borderColor","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","readOnly","ref","cursorInherit","type","accessibilityDisabled","root","cursorDefault","displayName","create","cursor","height","userSelect","width","alignItems","borderRadius","borderStyle","borderWidth","justifyContent","backgroundImage","backgroundRepeat","absoluteFillObject","margin","appearance","padding"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/CheckBox/index.js"],"sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"accessibilityReadOnly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"style\", \"value\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar CheckBox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var accessibilityReadOnly = props.accessibilityReadOnly,\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n\n var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked, // custom color\n value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n readOnly: accessibilityReadOnly,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityDisabled: disabled,\n accessibilityReadOnly: accessibilityReadOnly,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/27f95c6061192597704db2a5d350a5c3.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/27f95c6061192597704db2a5d350a5c3.json new file mode 100644 index 00000000..bb1fe00b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/27f95c6061192597704db2a5d350a5c3.json @@ -0,0 +1 @@ +{"ast":null,"code":"var promiseMock = function promiseMock() {\n return Promise.resolve(false);\n};\nexport default {\n PERMISSIONS: {},\n RESULTS: {},\n checkPermission: promiseMock,\n check: promiseMock,\n requestPermission: promiseMock,\n request: promiseMock,\n requestMultiple: promiseMock\n};","map":{"version":3,"names":["promiseMock","Promise","resolve","PERMISSIONS","RESULTS","checkPermission","check","requestPermission","request","requestMultiple"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/PermissionsAndroid/index.js"],"sourcesContent":["var promiseMock = () => Promise.resolve(false);\n\nexport default {\n PERMISSIONS: {},\n RESULTS: {},\n checkPermission: promiseMock,\n check: promiseMock,\n requestPermission: promiseMock,\n request: promiseMock,\n requestMultiple: promiseMock\n};"],"mappings":"AAAA,IAAIA,WAAW,GAAG,SAAdA,WAAW;EAAA,OAASC,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;AAAA;AAE9C,eAAe;EACbC,WAAW,EAAE,CAAC,CAAC;EACfC,OAAO,EAAE,CAAC,CAAC;EACXC,eAAe,EAAEL,WAAW;EAC5BM,KAAK,EAAEN,WAAW;EAClBO,iBAAiB,EAAEP,WAAW;EAC9BQ,OAAO,EAAER,WAAW;EACpBS,eAAe,EAAET;AACnB,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/28d8fba041920200a3cb51ac5bc2c1a8.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/28d8fba041920200a3cb51ac5bc2c1a8.json new file mode 100644 index 00000000..6ef7440c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/28d8fba041920200a3cb51ac5bc2c1a8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nexport var IS_MANAGED_ENV = false;\nexport var IS_ENV_WITH_UPDATES_ENABLED = false;\nexport var IS_ENV_WITHOUT_UPDATES_ENABLED = false;\nexport var manifestBaseUrl = null;\nexport function downloadAsync(_x, _x2, _x3, _x4) {\n return _downloadAsync.apply(this, arguments);\n}\nfunction _downloadAsync() {\n _downloadAsync = _asyncToGenerator(function* (uri, hash, type, name) {\n return uri;\n });\n return _downloadAsync.apply(this, arguments);\n}\nexport function getManifest() {\n return {};\n}\nexport function getManifest2() {\n return {};\n}","map":{"version":3,"sources":["../src/PlatformUtils.web.ts"],"names":[],"mappings":";AAAA,OAAO,IAAM,cAAc,GAAG,KAAK;AACnC,OAAO,IAAM,2BAA2B,GAAG,KAAK;AAChD,OAAO,IAAM,8BAA8B,GAAG,KAAK;AAGnD,OAAO,IAAM,eAAe,GAAG,IAAI;AAEnC,gBAAsB,aAAa;EAAA;AAAA;AAElC;EAAA,mCAFM,WAA6B,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAA;IACvD,OAAO,GAAG;EACZ,CAAC;EAAA;AAAA;AAED,OAAM,SAAU,WAAW,GAAA;EACzB,OAAO,CAAA,CAAE;AACX;AAEA,OAAM,SAAU,YAAY,GAAA;EAC1B,OAAO,CAAA,CAAE;AACX","sourcesContent":["export const IS_MANAGED_ENV = false;\nexport const IS_ENV_WITH_UPDATES_ENABLED = false;\nexport const IS_ENV_WITHOUT_UPDATES_ENABLED = false;\n\n// Compute manifest base URL if available\nexport const manifestBaseUrl = null;\n\nexport async function downloadAsync(uri, hash, type, name): Promise {\n return uri;\n}\n\nexport function getManifest() {\n return {};\n}\n\nexport function getManifest2() {\n return {};\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/2c30f76b2b326195678887aed8c9168c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/2c30f76b2b326195678887aed8c9168c.json new file mode 100644 index 00000000..d5bf7ddc --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/2c30f76b2b326195678887aed8c9168c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport View from \"react-native-web/dist/exports/View\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport TouchableHighlight from \"react-native-web/dist/exports/TouchableHighlight\";\nimport { FlatList } from \"react-native-gesture-handler\";\nimport { VilleCompopo } from \"../components/VilleCompopo\";\nimport { TopBar } from \"../components/TopBar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useEffect, useState } from \"react\";\nimport { getWeatherList } from \"../redux/actions/getWeatherList\";\nimport { SearchBar } from '@rneui/themed';\nimport { setWeatherSearched } from \"../redux/actions/setWeatherSearched\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CityList(_ref) {\n var navigation = _ref.navigation;\n var weatherList = useSelector(function (state) {\n return state.appReducer.weatherList;\n });\n var weatherListSearched = useSelector(function (state) {\n return state.appReducer.weatherListSearched;\n });\n var favoriteCity = useSelector(function (state) {\n return state.appReducer.favoriteCity;\n });\n var dispatch = useDispatch();\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n cityName = _useState2[0],\n setCityName = _useState2[1];\n useEffect(function () {\n var loadWeather = function () {\n var _ref2 = _asyncToGenerator(function* () {\n dispatch(getWeatherList());\n });\n return function loadWeather() {\n return _ref2.apply(this, arguments);\n };\n }();\n loadWeather();\n }, [dispatch]);\n function updateSearch(newVal) {\n if (newVal == \"\") {\n dispatch(setWeatherSearched(weatherList));\n } else {\n dispatch(setWeatherSearched(weatherList.filter(function (arg) {\n return arg.city.name.toLowerCase().startsWith(newVal.toLowerCase());\n })));\n }\n }\n return _jsxs(View, {\n style: {\n flex: 1,\n width: \"100%\",\n alignItems: \"center\"\n },\n children: [_jsx(TopBar, {}), _jsx(SearchBar, {\n platform: \"default\",\n containerStyle: {\n width: \"100%\",\n backgroundColor: \"darksalmon\"\n },\n inputContainerStyle: {\n backgroundColor: \"powderblue\"\n },\n inputStyle: {},\n leftIconContainerStyle: {},\n rightIconContainerStyle: {},\n loadingProps: {},\n onChangeText: function onChangeText(newVal) {\n setCityName(newVal);\n updateSearch(newVal);\n },\n placeholder: \"Type query here...\",\n placeholderTextColor: \"#888\",\n round: true,\n value: cityName\n }), _jsx(FlatList, {\n data: weatherListSearched,\n keyExtractor: function keyExtractor(item) {\n return item.city.name;\n },\n renderItem: function renderItem(_ref3) {\n var item = _ref3.item;\n return _jsx(TouchableHighlight, {\n onPress: function onPress() {\n return navigation.navigate(\"CityDetails\", {\n \"weather\": item\n });\n },\n children: _jsx(VilleCompopo, {\n weather: item,\n fav: favoriteCity\n })\n });\n },\n style: leStyle.container\n })]\n });\n}\nvar leStyle = StyleSheet.create({\n container: {\n flex: 1,\n alignContent: 'center',\n width: '100%'\n },\n searchBar: {\n width: \"90%\",\n margin: 20,\n height: 30,\n backgroundColor: \"powderblue\",\n borderRadius: 10,\n textAlign: \"center\"\n }\n});","map":{"version":3,"names":["FlatList","VilleCompopo","TopBar","useDispatch","useSelector","useEffect","useState","getWeatherList","SearchBar","setWeatherSearched","CityList","navigation","weatherList","state","appReducer","weatherListSearched","favoriteCity","dispatch","cityName","setCityName","loadWeather","updateSearch","newVal","filter","arg","city","name","toLowerCase","startsWith","flex","width","alignItems","backgroundColor","item","navigate","leStyle","container","StyleSheet","create","alignContent","searchBar","margin","height","borderRadius","textAlign"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/screens/CityList.tsx"],"sourcesContent":["import { View, Text, StyleSheet, TouchableHighlight, Image } from \"react-native\"\nimport { FlatList, TextInput } from \"react-native-gesture-handler\"\nimport { CITIES_DATA, City, getCurrentWeather, FAVORITE_CITY_DATA, Weather } from \"../data/stub\"\nimport { VilleCompopo } from \"../components/VilleCompopo\";\nimport { TopBar } from \"../components/TopBar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useEffect, useState } from \"react\";\nimport { getWeatherList } from \"../redux/actions/getWeatherList\";\nimport { SearchBar } from '@rneui/themed';\nimport { setWeatherSearched } from \"../redux/actions/setWeatherSearched\";\n\n\nexport default function CityList({navigation}){\n\n const weatherList: Weather[] = useSelector(state => state.appReducer.weatherList);\n const weatherListSearched: Weather[] = useSelector(state => state.appReducer.weatherListSearched);\n\n\n const favoriteCity = useSelector(state => state.appReducer.favoriteCity)\n\n // Create a const that will hold the react-redux events dispatcher\n const dispatch = useDispatch();\n \n const [cityName, setCityName] = useState('');\n\n\n \n // Let's define a hook that will be used to update the rendered state after the return will be called\n // You cannot perform side-effects outside of a useEffect hook\n useEffect(() => {\n const loadWeather = async () => {\n dispatch(getWeatherList());\n };\n loadWeather();\n }, [dispatch]);\n \n\n function updateSearch(newVal: string){\n if (newVal == \"\"){\n dispatch(setWeatherSearched(weatherList))\n }\n else{\n dispatch(setWeatherSearched(weatherList.filter((arg) => arg.city.name.toLowerCase().startsWith(newVal.toLowerCase()))))\n }\n }\n\n return (\n \n \n {setCityName(newVal); updateSearch(newVal)}}\n placeholder=\"Type query here...\"\n placeholderTextColor=\"#888\"\n round\n value={cityName}\n /> \n\n item.city.name}\n renderItem={({item}) => navigation.navigate(\"CityDetails\", {\"weather\": item})}>}\n style={leStyle.container} \n />\n \n )\n}\n\nconst leStyle = StyleSheet.create({\n container: {\n flex: 1,\n alignContent: 'center',\n width: '100%'\n },\n searchBar: {\n width: \"90%\",\n margin: 20,\n height: 30,\n backgroundColor: \"powderblue\",\n borderRadius: 10,\n textAlign: \"center\"\n }\n});"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/2f8e9f8d32e20ade1d74b48c9503eed9.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/2f8e9f8d32e20ade1d74b48c9503eed9.json new file mode 100644 index 00000000..1f919f4f --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/2f8e9f8d32e20ade1d74b48c9503eed9.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from \"../../modules/useMergeRefs\";\nimport usePressEvents from \"../../modules/usePressEvents\";\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nfunction TouchableOpacity(props, forwardedRef) {\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n var setOpacityTo = useCallback(function (value, duration) {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(function (duration) {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(function (duration) {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(function () {\n return {\n cancelable: !rejectResponderTermination,\n disabled: disabled,\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressStart: function onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd: function onPressEnd(event) {\n setOpacityInactive(250);\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n };\n }, [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = React.memo(React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","useCallback","useMemo","useState","useRef","useMergeRefs","usePressEvents","StyleSheet","View","TouchableOpacity","props","forwardedRef","activeOpacity","delayPressIn","delayPressOut","delayLongPress","disabled","focusable","onLongPress","onPress","onPressIn","onPressOut","rejectResponderTermination","style","rest","hostRef","setRef","_useState","duration","setDuration","_useState2","opacityOverride","setOpacityOverride","setOpacityTo","value","setOpacityActive","setOpacityInactive","pressConfig","cancelable","delayPressStart","delayPressEnd","onPressStart","event","isGrant","dispatchConfig","registrationName","type","onPressEnd","pressEventHandlers","createElement","accessibilityDisabled","pointerEvents","undefined","ref","styles","root","actionable","opacity","transitionDuration","create","transitionProperty","userSelect","cursor","touchAction","MemoedTouchableOpacity","memo","forwardRef","displayName"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/TouchableOpacity/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n\n var setOpacityTo = useCallback((value, duration) => {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(duration => {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(duration => {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n\n onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n\n onPressEnd(event) {\n setOpacityInactive(250);\n\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\n\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/2fb8d1b1f89bfea96a358f5244f16773.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/2fb8d1b1f89bfea96a358f5244f16773.json new file mode 100644 index 00000000..f841af13 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/2fb8d1b1f89bfea96a358f5244f16773.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport invariant from 'fbjs/lib/invariant';\nvar Share = function () {\n function Share() {\n _classCallCheck(this, Share);\n }\n _createClass(Share, null, [{\n key: \"share\",\n value: function share(content, options) {\n if (options === void 0) {\n options = {};\n }\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n }, {\n key: \"sharedAction\",\n get: function get() {\n return 'sharedAction';\n }\n }, {\n key: \"dismissedAction\",\n get: function get() {\n return 'dismissedAction';\n }\n }]);\n return Share;\n}();\nexport default Share;","map":{"version":3,"names":["invariant","Share","content","options","url","message","title","window","navigator","share","undefined","text","Promise","reject","Error"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Share/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport invariant from 'fbjs/lib/invariant';\n\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\n }\n\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n /**\n * The content was successfully shared.\n */\n\n\n static get sharedAction() {\n return 'sharedAction';\n }\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n\n\n static get dismissedAction() {\n return 'dismissedAction';\n }\n\n}\n\nexport default Share;"],"mappings":";;AASA,OAAOA,SAAS,MAAM,oBAAoB;AAAC,IAErCC,KAAK;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OACT,eAAaC,OAAO,EAAEC,OAAO,EAAE;MAC7B,IAAIA,OAAO,KAAK,KAAK,CAAC,EAAE;QACtBA,OAAO,GAAG,CAAC,CAAC;MACd;MAEAH,SAAS,CAAC,OAAOE,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,EAAE,yCAAyC,CAAC;MACrGF,SAAS,CAAC,OAAOE,OAAO,CAACE,GAAG,KAAK,QAAQ,IAAI,OAAOF,OAAO,CAACG,OAAO,KAAK,QAAQ,EAAE,6CAA6C,CAAC;MAChIL,SAAS,CAAC,OAAOG,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,EAAE,gCAAgC,CAAC;MAC5FH,SAAS,CAAC,CAACE,OAAO,CAACI,KAAK,IAAI,OAAOJ,OAAO,CAACI,KAAK,KAAK,QAAQ,EAAE,0CAA0C,CAAC;MAE1G,IAAIC,MAAM,CAACC,SAAS,CAACC,KAAK,KAAKC,SAAS,EAAE;QACxC,OAAOH,MAAM,CAACC,SAAS,CAACC,KAAK,CAAC;UAC5BH,KAAK,EAAEJ,OAAO,CAACI,KAAK;UACpBK,IAAI,EAAET,OAAO,CAACG,OAAO;UACrBD,GAAG,EAAEF,OAAO,CAACE;QACf,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,OAAOQ,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,wCAAwC,CAAC,CAAC;MAC5E;IACF;EAAC;IAAA;IAAA,KAMD,eAA0B;MACxB,OAAO,cAAc;IACvB;EAAC;IAAA;IAAA,KAOD,eAA6B;MAC3B,OAAO,iBAAiB;IAC1B;EAAC;EAAA;AAAA;AAIH,eAAeb,KAAK"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/30f61cbc007c9f5f4db6dd708f3aea86.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/30f61cbc007c9f5f4db6dd708f3aea86.json new file mode 100644 index 00000000..693d4c23 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/30f61cbc007c9f5f4db6dd708f3aea86.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport TouchableOpacity from \"../TouchableOpacity\";\nimport Text from \"../Text\";\nvar Button = React.forwardRef(function (props, forwardedRef) {\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;","map":{"version":3,"names":["React","StyleSheet","TouchableOpacity","Text","Button","forwardRef","props","forwardedRef","accessibilityLabel","color","disabled","onPress","testID","title","createElement","accessibilityRole","focusable","ref","style","styles","button","backgroundColor","buttonDisabled","text","textDisabled","displayName","create","borderRadius","fontWeight","padding","textAlign","textTransform"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Button/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return /*#__PURE__*/React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, /*#__PURE__*/React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;"],"mappings":"AASA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,OAAOC,IAAI;AACX,IAAIC,MAAM,GAAgBJ,KAAK,CAACK,UAAU,CAAC,UAACC,KAAK,EAAEC,YAAY,EAAK;EAClE,IAAIC,kBAAkB,GAAGF,KAAK,CAACE,kBAAkB;IAC7CC,KAAK,GAAGH,KAAK,CAACG,KAAK;IACnBC,QAAQ,GAAGJ,KAAK,CAACI,QAAQ;IACzBC,OAAO,GAAGL,KAAK,CAACK,OAAO;IACvBC,MAAM,GAAGN,KAAK,CAACM,MAAM;IACrBC,KAAK,GAAGP,KAAK,CAACO,KAAK;EACvB,OAAoBb,KAAK,CAACc,aAAa,CAACZ,gBAAgB,EAAE;IACxDM,kBAAkB,EAAEA,kBAAkB;IACtCO,iBAAiB,EAAE,QAAQ;IAC3BL,QAAQ,EAAEA,QAAQ;IAClBM,SAAS,EAAE,CAACN,QAAQ;IACpBC,OAAO,EAAEA,OAAO;IAChBM,GAAG,EAAEV,YAAY;IACjBW,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAEX,KAAK,IAAI;MAC9BY,eAAe,EAAEZ;IACnB,CAAC,EAAEC,QAAQ,IAAIS,MAAM,CAACG,cAAc,CAAC;IACrCV,MAAM,EAAEA;EACV,CAAC,EAAeZ,KAAK,CAACc,aAAa,CAACX,IAAI,EAAE;IACxCe,KAAK,EAAE,CAACC,MAAM,CAACI,IAAI,EAAEb,QAAQ,IAAIS,MAAM,CAACK,YAAY;EACtD,CAAC,EAAEX,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC;AACFT,MAAM,CAACqB,WAAW,GAAG,QAAQ;AAC7B,IAAIN,MAAM,GAAGlB,UAAU,CAACyB,MAAM,CAAC;EAC7BN,MAAM,EAAE;IACNC,eAAe,EAAE,SAAS;IAC1BM,YAAY,EAAE;EAChB,CAAC;EACDJ,IAAI,EAAE;IACJd,KAAK,EAAE,MAAM;IACbmB,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,CAAC;IACVC,SAAS,EAAE,QAAQ;IACnBC,aAAa,EAAE;EACjB,CAAC;EACDT,cAAc,EAAE;IACdD,eAAe,EAAE;EACnB,CAAC;EACDG,YAAY,EAAE;IACZf,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AACF,eAAeL,MAAM"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/3324c567267b870146ea6c174a1a7f9f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/3324c567267b870146ea6c174a1a7f9f.json new file mode 100644 index 00000000..a8ca7921 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/3324c567267b870146ea6c174a1a7f9f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Feather.json\";\nvar iconSet = createIconSet(glyphMap, 'Feather', 'Feather.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Feather.js"],"sourcesContent":["/**\n * Feather icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Feather.json';\n\nconst iconSet = createIconSet(glyphMap, 'Feather', 'Feather.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;AAEjE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/339d36f2ae8aaf6919002688cd4a1508.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/339d36f2ae8aaf6919002688cd4a1508.json new file mode 100644 index 00000000..8f686ebc --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/339d36f2ae8aaf6919002688cd4a1508.json @@ -0,0 +1 @@ +{"ast":null,"code":"var TouchHistoryMath = {\n centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0;\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n total += toAdd;\n count++;\n }\n }\n }\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, true);\n },\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, true);\n },\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, false);\n },\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, false);\n },\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, true, true);\n },\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, false, true);\n },\n noCentroid: -1\n};\nexport default TouchHistoryMath;","map":{"version":3,"names":["TouchHistoryMath","centroidDimension","touchHistory","touchesChangedAfter","isXAxis","ofCurrent","touchBank","total","count","oneTouchData","numberActiveTouches","indexOfSingleActiveTouch","touchActive","currentTimeStamp","currentPageX","currentPageY","previousPageX","previousPageY","i","length","touchTrack","undefined","toAdd","noCentroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n */\nvar TouchHistoryMath = {\n /**\n * This code is optimized and not intended to look beautiful. This allows\n * computing of touch centroids that have moved after `touchesChangedAfter`\n * timeStamp. You can compute the current centroid involving all touches\n * moves after `touchesChangedAfter`, or you can compute the previous\n * centroid of all touches that were moved after `touchesChangedAfter`.\n *\n * @param {TouchHistoryMath} touchHistory Standard Responder touch track\n * data.\n * @param {number} touchesChangedAfter timeStamp after which moved touches\n * are considered \"actively moving\" - not just \"active\".\n * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension.\n * @param {boolean} ofCurrent Compute current centroid for actively moving\n * touches vs. previous centroid of now actively moving touches.\n * @return {number} value of centroid in specified dimension.\n */\n centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // Yuck, program temporarily in invalid state.\n\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n\n total += toAdd;\n count++;\n }\n }\n }\n\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis\n true // ofCurrent\n );\n },\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis\n false // ofCurrent\n );\n },\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis\n false // ofCurrent\n );\n },\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, // touchesChangedAfter\n true, // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, // touchesChangedAfter\n false, // isXAxis\n true // ofCurrent\n );\n },\n noCentroid: -1\n};\nexport default TouchHistoryMath;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/3446126cdc9a247b02aef3a6f0cbcff1.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/3446126cdc9a247b02aef3a6f0cbcff1.json new file mode 100644 index 00000000..9a049945 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/3446126cdc9a247b02aef3a6f0cbcff1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport createMultiStyleIconSet from \"./createMultiStyleIconSet\";\nexport var FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand'\n};\nexport function createFA5iconSet(glyphMap) {\n var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var fonts = arguments.length > 2 ? arguments[2] : undefined;\n var pro = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var metadataKeys = Object.keys(metadata);\n var fontFamily = \"FontAwesome5\" + (pro ? 'Pro' : 'Free');\n function fallbackFamily(glyph) {\n for (var i = 0; i < metadataKeys.length; i += 1) {\n var family = metadataKeys[i];\n if (metadata[family].indexOf(glyph) !== -1) {\n return family === 'brands' ? 'brand' : family;\n }\n }\n return 'regular';\n }\n function glyphValidator(glyph, style) {\n var family = style === 'brand' ? 'brands' : style;\n if (metadataKeys.indexOf(family) === -1) return false;\n return metadata[family].indexOf(glyph) !== -1;\n }\n function createFontAwesomeStyle(styleName, fontWeight) {\n var family = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fontFamily;\n var fontFile = fonts[styleName];\n return {\n fontFamily: family + \"-\" + styleName,\n fontFile: fontFile,\n fontStyle: Platform.select({\n ios: {\n fontWeight: fontWeight\n },\n default: {}\n }),\n glyphMap: glyphMap\n };\n }\n var brandIcons = createFontAwesomeStyle('Brand', '400');\n var lightIcons = createFontAwesomeStyle('Light', '100');\n var regularIcons = createFontAwesomeStyle('Regular', '400');\n var solidIcons = createFontAwesomeStyle('Solid', '700');\n var Icon = createMultiStyleIconSet({\n brand: brandIcons,\n light: lightIcons,\n regular: regularIcons,\n solid: solidIcons\n }, {\n defaultStyle: 'regular',\n fallbackFamily: fallbackFamily,\n glyphValidator: glyphValidator\n });\n return Icon;\n}","map":{"version":3,"sources":["../src/createIconSetFromFontAwesome5.ts"],"names":[],"mappings":";AACA,OAAO,uBAAuB;AAE9B,OAAO,IAAM,QAAQ,GAAG;EACtB,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE,OAAO;EACd,KAAK,EAAE,OAAO;EACd,KAAK,EAAE;CACR;AAED,OAAM,SAAU,gBAAgB,CAAC,QAAQ,EAAmC;EAAA,IAAjC,QAAQ,uEAAG,CAAA,CAAE;EAAA,IAAE,KAAK;EAAA,IAAE,GAAG,uEAAG,KAAK;EAC1E,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;EAC1C,IAAM,UAAU,qBAAkB,GAAG,GAAG,KAAK,GAAG,MAAM,CAAE;EAExD,SAAS,cAAc,CAAC,KAAK,EAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;MAC/C,IAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;MAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;QAC1C,OAAO,MAAM,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM;MAC9C;IACF;IAED,OAAO,SAAS;EAClB;EAEA,SAAS,cAAc,CAAC,KAAK,EAAE,KAAK,EAAA;IAClC,IAAM,MAAM,GAAG,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAG,KAAK;IACnD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,KAAK;IACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EAC/C;EAEA,SAAS,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAqB;IAAA,IAAnB,MAAM,uEAAG,UAAU;IACxE,IAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAE/B,OAAO;MACL,UAAU,EAAK,MAAM,SAAI,SAAW;MACpC,QAAQ,EAAR,QAAQ;MACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;QACzB,GAAG,EAAE;UACH,UAAU,EAAV;SACD;QACD,OAAO,EAAE,CAAA;OACV,CAAC;MACF,QAAQ,EAAR;KACD;EACH;EAEA,IAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;EACzD,IAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;EACzD,IAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC;EAC7D,IAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;EACzD,IAAM,IAAI,GAAG,uBAAuB,CAClC;IACE,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE;GACR,EACD;IACE,YAAY,EAAE,SAAS;IACvB,cAAc,EAAd,cAAc;IACd,cAAc,EAAd;GACD,CACF;EAED,OAAO,IAAI;AACb","sourcesContent":["import { Platform } from 'react-native';\nimport createMultiStyleIconSet from './createMultiStyleIconSet';\n\nexport const FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand',\n};\n\nexport function createFA5iconSet(glyphMap, metadata = {}, fonts, pro = false) {\n const metadataKeys = Object.keys(metadata);\n const fontFamily = `FontAwesome5${pro ? 'Pro' : 'Free'}`;\n\n function fallbackFamily(glyph) {\n for (let i = 0; i < metadataKeys.length; i += 1) {\n const family = metadataKeys[i];\n if (metadata[family].indexOf(glyph) !== -1) {\n return family === 'brands' ? 'brand' : family;\n }\n }\n\n return 'regular';\n }\n\n function glyphValidator(glyph, style) {\n const family = style === 'brand' ? 'brands' : style;\n if (metadataKeys.indexOf(family) === -1) return false;\n return metadata[family].indexOf(glyph) !== -1;\n }\n\n function createFontAwesomeStyle(styleName, fontWeight, family = fontFamily) {\n let fontFile = fonts[styleName];\n\n return {\n fontFamily: `${family}-${styleName}`,\n fontFile,\n fontStyle: Platform.select({\n ios: {\n fontWeight,\n },\n default: {},\n }),\n glyphMap,\n };\n }\n\n const brandIcons = createFontAwesomeStyle('Brand', '400');\n const lightIcons = createFontAwesomeStyle('Light', '100');\n const regularIcons = createFontAwesomeStyle('Regular', '400');\n const solidIcons = createFontAwesomeStyle('Solid', '700');\n const Icon = createMultiStyleIconSet(\n {\n brand: brandIcons,\n light: lightIcons,\n regular: regularIcons,\n solid: solidIcons,\n },\n {\n defaultStyle: 'regular',\n fallbackFamily,\n glyphValidator,\n },\n );\n\n return Icon;\n}"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/35dc825ceedb7fca0c1f364dbfd6533c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/35dc825ceedb7fca0c1f364dbfd6533c.json new file mode 100644 index 00000000..26850987 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/35dc825ceedb7fca0c1f364dbfd6533c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from \"../../vendor/react-native/emitter/_EventEmitter\";\nimport canUseDOM from \"../../modules/canUseDom\";\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nvar AppState = function () {\n function AppState() {\n _classCallCheck(this, AppState);\n }\n _createClass(AppState, null, [{\n key: \"currentState\",\n get: function get() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n default:\n return AppStates.ACTIVE;\n }\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, function () {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, handler) {\n if (AppState.isAvailable) {\n console.error(\"AppState.removeListener('\" + type + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `AppState.addEventListener`.');\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to remove listener for unknown event: \"%s\"', type);\n if (type === 'change' && changeEmitter) {\n changeEmitter.removeListener(handler);\n }\n }\n }\n }]);\n return AppState;\n}();\nexport { AppState as default };\nAppState.isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY];","map":{"version":3,"names":["invariant","EventEmitter","canUseDOM","isPrefixed","document","hasOwnProperty","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","BACKGROUND","ACTIVE","changeEmitter","AppState","isAvailable","type","handler","indexOf","addEventListener","emit","currentState","addListener","console","error","removeListener"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/AppState/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/emitter/_EventEmitter';\nimport canUseDOM from '../../modules/canUseDom'; // Android 4.4 browser\n\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nexport default class AppState {\n static get currentState() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n\n default:\n return AppStates.ACTIVE;\n }\n }\n\n static addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, () => {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n\n static removeEventListener(type, handler) {\n if (AppState.isAvailable) {\n console.error(\"AppState.removeListener('\" + type + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `AppState.addEventListener`.');\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to remove listener for unknown event: \"%s\"', type);\n\n if (type === 'change' && changeEmitter) {\n changeEmitter.removeListener(handler);\n }\n }\n }\n\n}\nAppState.isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY];"],"mappings":";;AASA,OAAOA,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,YAAY;AACnB,OAAOC,SAAS;AAEhB,IAAIC,UAAU,GAAGD,SAAS,IAAI,CAACE,QAAQ,CAACC,cAAc,CAAC,QAAQ,CAAC,IAAID,QAAQ,CAACC,cAAc,CAAC,cAAc,CAAC;AAC3G,IAAIC,WAAW,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC;AAC7C,IAAIC,uBAAuB,GAAGJ,UAAU,GAAG,wBAAwB,GAAG,kBAAkB;AACxF,IAAIK,yBAAyB,GAAGL,UAAU,GAAG,uBAAuB,GAAG,iBAAiB;AACxF,IAAIM,SAAS,GAAG;EACdC,UAAU,EAAE,YAAY;EACxBC,MAAM,EAAE;AACV,CAAC;AACD,IAAIC,aAAa,GAAG,IAAI;AAAC,IACJC,QAAQ;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA,KAC3B,eAA0B;MACxB,IAAI,CAACA,QAAQ,CAACC,WAAW,EAAE;QACzB,OAAOL,SAAS,CAACE,MAAM;MACzB;MAEA,QAAQP,QAAQ,CAACI,yBAAyB,CAAC;QACzC,KAAK,QAAQ;QACb,KAAK,WAAW;QAChB,KAAK,UAAU;UACb,OAAOC,SAAS,CAACC,UAAU;QAE7B;UACE,OAAOD,SAAS,CAACE,MAAM;MAAC;IAE9B;EAAC;IAAA;IAAA,OAED,0BAAwBI,IAAI,EAAEC,OAAO,EAAE;MACrC,IAAIH,QAAQ,CAACC,WAAW,EAAE;QACxBd,SAAS,CAACM,WAAW,CAACW,OAAO,CAACF,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,4CAA4C,EAAEA,IAAI,CAAC;QAE/F,IAAIA,IAAI,KAAK,QAAQ,EAAE;UACrB,IAAI,CAACH,aAAa,EAAE;YAClBA,aAAa,GAAG,IAAIX,YAAY,EAAE;YAClCG,QAAQ,CAACc,gBAAgB,CAACX,uBAAuB,EAAE,YAAM;cACvD,IAAIK,aAAa,EAAE;gBACjBA,aAAa,CAACO,IAAI,CAAC,QAAQ,EAAEN,QAAQ,CAACO,YAAY,CAAC;cACrD;YACF,CAAC,EAAE,KAAK,CAAC;UACX;UAEA,OAAOR,aAAa,CAACS,WAAW,CAACN,IAAI,EAAEC,OAAO,CAAC;QACjD;MACF;IACF;EAAC;IAAA;IAAA,OAED,6BAA2BD,IAAI,EAAEC,OAAO,EAAE;MACxC,IAAIH,QAAQ,CAACC,WAAW,EAAE;QACxBQ,OAAO,CAACC,KAAK,CAAC,2BAA2B,GAAGR,IAAI,GAAG,2BAA2B,GAAG,gEAAgE,GAAG,0CAA0C,CAAC;QAC/Lf,SAAS,CAACM,WAAW,CAACW,OAAO,CAACF,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,mDAAmD,EAAEA,IAAI,CAAC;QAEtG,IAAIA,IAAI,KAAK,QAAQ,IAAIH,aAAa,EAAE;UACtCA,aAAa,CAACY,cAAc,CAACR,OAAO,CAAC;QACvC;MACF;IACF;EAAC;EAAA;AAAA;AAAA,SA7CkBH,QAAQ;AAgD7BA,QAAQ,CAACC,WAAW,GAAGZ,SAAS,IAAIE,QAAQ,CAACI,yBAAyB,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/368059601d2bc8e6dac342fc0d6b2614.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/368059601d2bc8e6dac342fc0d6b2614.json new file mode 100644 index 00000000..10c457b7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/368059601d2bc8e6dac342fc0d6b2614.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default {};","map":{"version":3,"names":[],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Settings/index.js"],"sourcesContent":["export default {};"],"mappings":"AAAA,eAAe,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/3bc3dda6a9bc4fce61c0f4f9730ecfe1.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/3bc3dda6a9bc4fce61c0f4f9730ecfe1.json new file mode 100644 index 00000000..ded33af3 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/3bc3dda6a9bc4fce61c0f4f9730ecfe1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Dimensions from \"../Dimensions\";\nimport canUseDOM from \"../../modules/canUseDom\";\nvar DeviceInfo = {\n Dimensions: {\n get windowPhysicalPixels() {\n var _Dimensions$get = Dimensions.get('window'),\n width = _Dimensions$get.width,\n height = _Dimensions$get.height,\n fontScale = _Dimensions$get.fontScale,\n scale = _Dimensions$get.scale;\n return {\n width: width * scale,\n height: height * scale,\n scale: scale,\n fontScale: fontScale\n };\n },\n get screenPhysicalPixels() {\n var _Dimensions$get2 = Dimensions.get('screen'),\n width = _Dimensions$get2.width,\n height = _Dimensions$get2.height,\n fontScale = _Dimensions$get2.fontScale,\n scale = _Dimensions$get2.scale;\n return {\n width: width * scale,\n height: height * scale,\n scale: scale,\n fontScale: fontScale\n };\n }\n },\n get locale() {\n if (canUseDOM) {\n if (navigator.languages) {\n return navigator.languages[0];\n } else {\n return navigator.language;\n }\n }\n },\n get totalMemory() {\n return canUseDOM ? navigator.deviceMemory : undefined;\n },\n get userAgent() {\n return canUseDOM ? navigator.userAgent : '';\n }\n};\nexport default DeviceInfo;","map":{"version":3,"names":["Dimensions","canUseDOM","DeviceInfo","windowPhysicalPixels","_Dimensions$get","get","width","height","fontScale","scale","screenPhysicalPixels","_Dimensions$get2","locale","navigator","languages","language","totalMemory","deviceMemory","undefined","userAgent"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/DeviceInfo/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport Dimensions from '../Dimensions';\nimport canUseDOM from '../../modules/canUseDom';\nvar DeviceInfo = {\n Dimensions: {\n get windowPhysicalPixels() {\n var _Dimensions$get = Dimensions.get('window'),\n width = _Dimensions$get.width,\n height = _Dimensions$get.height,\n fontScale = _Dimensions$get.fontScale,\n scale = _Dimensions$get.scale;\n\n return {\n width: width * scale,\n height: height * scale,\n scale,\n fontScale\n };\n },\n\n get screenPhysicalPixels() {\n var _Dimensions$get2 = Dimensions.get('screen'),\n width = _Dimensions$get2.width,\n height = _Dimensions$get2.height,\n fontScale = _Dimensions$get2.fontScale,\n scale = _Dimensions$get2.scale;\n\n return {\n width: width * scale,\n height: height * scale,\n scale,\n fontScale\n };\n }\n\n },\n\n get locale() {\n if (canUseDOM) {\n if (navigator.languages) {\n return navigator.languages[0];\n } else {\n return navigator.language;\n }\n }\n },\n\n get totalMemory() {\n // $FlowIssue deviceMemory not defined in navigator\n return canUseDOM ? navigator.deviceMemory : undefined;\n },\n\n get userAgent() {\n return canUseDOM ? navigator.userAgent : '';\n }\n\n};\nexport default DeviceInfo;"],"mappings":"AAQA,OAAOA,UAAU;AACjB,OAAOC,SAAS;AAChB,IAAIC,UAAU,GAAG;EACfF,UAAU,EAAE;IACV,IAAIG,oBAAoB,GAAG;MACzB,IAAIC,eAAe,GAAGJ,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC;QAC1CC,KAAK,GAAGF,eAAe,CAACE,KAAK;QAC7BC,MAAM,GAAGH,eAAe,CAACG,MAAM;QAC/BC,SAAS,GAAGJ,eAAe,CAACI,SAAS;QACrCC,KAAK,GAAGL,eAAe,CAACK,KAAK;MAEjC,OAAO;QACLH,KAAK,EAAEA,KAAK,GAAGG,KAAK;QACpBF,MAAM,EAAEA,MAAM,GAAGE,KAAK;QACtBA,KAAK,EAALA,KAAK;QACLD,SAAS,EAATA;MACF,CAAC;IACH,CAAC;IAED,IAAIE,oBAAoB,GAAG;MACzB,IAAIC,gBAAgB,GAAGX,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC;QAC3CC,KAAK,GAAGK,gBAAgB,CAACL,KAAK;QAC9BC,MAAM,GAAGI,gBAAgB,CAACJ,MAAM;QAChCC,SAAS,GAAGG,gBAAgB,CAACH,SAAS;QACtCC,KAAK,GAAGE,gBAAgB,CAACF,KAAK;MAElC,OAAO;QACLH,KAAK,EAAEA,KAAK,GAAGG,KAAK;QACpBF,MAAM,EAAEA,MAAM,GAAGE,KAAK;QACtBA,KAAK,EAALA,KAAK;QACLD,SAAS,EAATA;MACF,CAAC;IACH;EAEF,CAAC;EAED,IAAII,MAAM,GAAG;IACX,IAAIX,SAAS,EAAE;MACb,IAAIY,SAAS,CAACC,SAAS,EAAE;QACvB,OAAOD,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC;MAC/B,CAAC,MAAM;QACL,OAAOD,SAAS,CAACE,QAAQ;MAC3B;IACF;EACF,CAAC;EAED,IAAIC,WAAW,GAAG;IAEhB,OAAOf,SAAS,GAAGY,SAAS,CAACI,YAAY,GAAGC,SAAS;EACvD,CAAC;EAED,IAAIC,SAAS,GAAG;IACd,OAAOlB,SAAS,GAAGY,SAAS,CAACM,SAAS,GAAG,EAAE;EAC7C;AAEF,CAAC;AACD,eAAejB,UAAU"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/3d756a8a78261d9f54cc288c1b65d8f6.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/3d756a8a78261d9f54cc288c1b65d8f6.json new file mode 100644 index 00000000..b11479c4 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/3d756a8a78261d9f54cc288c1b65d8f6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\nimport * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nvar createSvgCircle = function createSvgCircle(style) {\n return React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n });\n};\nvar ActivityIndicator = React.forwardRef(function (props, forwardedRef) {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 1,\n accessibilityValueMin: 0,\n ref: forwardedRef,\n style: [styles.container, style]\n }), React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n rotate: '0deg'\n }]\n },\n '100%': {\n transform: [{\n rotate: '360deg'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","StyleSheet","View","createSvgCircle","style","createElement","cx","cy","fill","r","strokeWidth","ActivityIndicator","forwardRef","props","forwardedRef","_props$animating","animating","_props$color","color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","size","other","svg","height","viewBox","width","stroke","opacity","strokeDasharray","strokeDashoffset","accessibilityRole","accessibilityValueMax","accessibilityValueMin","ref","styles","container","children","indicatorSizes","animation","animationPause","displayName","create","alignItems","justifyContent","visibility","animationDuration","animationKeyframes","transform","rotate","animationTimingFunction","animationIterationCount","animationPlayState","small","large"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/ActivityIndicator/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\n\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 1,\n accessibilityValueMin: 0,\n ref: forwardedRef,\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n rotate: '0deg'\n }]\n },\n '100%': {\n transform: [{\n rotate: '360deg'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/3f3b3c030699ba20f2eac4eb6b4d0e6a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/3f3b3c030699ba20f2eac4eb6b4d0e6a.json new file mode 100644 index 00000000..0277a8f6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/3f3b3c030699ba20f2eac4eb6b4d0e6a.json @@ -0,0 +1 @@ +{"ast":null,"code":"var TYPE_VALUE = 'value';\nvar TYPE_ERROR = 'error';\nexport default function createIconSourceCache() {\n var cache = new Map();\n var setValue = function setValue(key, value) {\n return cache.set(key, {\n type: TYPE_VALUE,\n data: value\n });\n };\n var setError = function setError(key, error) {\n return cache.set(key, {\n type: TYPE_ERROR,\n data: error\n });\n };\n var has = function has(key) {\n return cache.has(key);\n };\n var get = function get(key) {\n if (!cache.has(key)) {\n return undefined;\n }\n var _cache$get = cache.get(key),\n type = _cache$get.type,\n data = _cache$get.data;\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n return {\n setValue: setValue,\n setError: setError,\n has: has,\n get: get\n };\n}","map":{"version":3,"names":["TYPE_VALUE","TYPE_ERROR","createIconSourceCache","cache","Map","setValue","key","value","set","type","data","setError","error","has","get","undefined"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/create-icon-source-cache.js"],"sourcesContent":["const TYPE_VALUE = 'value';\nconst TYPE_ERROR = 'error';\n\nexport default function createIconSourceCache() {\n const cache = new Map();\n\n const setValue = (key, value) =>\n cache.set(key, { type: TYPE_VALUE, data: value });\n\n const setError = (key, error) =>\n cache.set(key, { type: TYPE_ERROR, data: error });\n\n const has = key => cache.has(key);\n\n const get = key => {\n if (!cache.has(key)) {\n return undefined;\n }\n const { type, data } = cache.get(key);\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n\n return { setValue, setError, has, get };\n}\n"],"mappings":"AAAA,IAAMA,UAAU,GAAG,OAAO;AAC1B,IAAMC,UAAU,GAAG,OAAO;AAE1B,eAAe,SAASC,qBAAqB,GAAG;EAC9C,IAAMC,KAAK,GAAG,IAAIC,GAAG,EAAE;EAEvB,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,GAAG,EAAEC,KAAK;IAAA,OAC1BJ,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;MAAEG,IAAI,EAAET,UAAU;MAAEU,IAAI,EAAEH;IAAM,CAAC,CAAC;EAAA;EAEnD,IAAMI,QAAQ,GAAG,SAAXA,QAAQ,CAAIL,GAAG,EAAEM,KAAK;IAAA,OAC1BT,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;MAAEG,IAAI,EAAER,UAAU;MAAES,IAAI,EAAEE;IAAM,CAAC,CAAC;EAAA;EAEnD,IAAMC,GAAG,GAAG,SAANA,GAAG,CAAGP,GAAG;IAAA,OAAIH,KAAK,CAACU,GAAG,CAACP,GAAG,CAAC;EAAA;EAEjC,IAAMQ,GAAG,GAAG,SAANA,GAAG,CAAGR,GAAG,EAAI;IACjB,IAAI,CAACH,KAAK,CAACU,GAAG,CAACP,GAAG,CAAC,EAAE;MACnB,OAAOS,SAAS;IAClB;IACA,iBAAuBZ,KAAK,CAACW,GAAG,CAACR,GAAG,CAAC;MAA7BG,IAAI,cAAJA,IAAI;MAAEC,IAAI,cAAJA,IAAI;IAClB,IAAID,IAAI,KAAKR,UAAU,EAAE;MACvB,MAAMS,IAAI;IACZ;IACA,OAAOA,IAAI;EACb,CAAC;EAED,OAAO;IAAEL,QAAQ,EAARA,QAAQ;IAAEM,QAAQ,EAARA,QAAQ;IAAEE,GAAG,EAAHA,GAAG;IAAEC,GAAG,EAAHA;EAAI,CAAC;AACzC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4082165a464e3663b6bce14fa60ac8b2.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4082165a464e3663b6bce14fa60ac8b2.json new file mode 100644 index 00000000..a814d79b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4082165a464e3663b6bce14fa60ac8b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport InteractionManager from \"../../../exports/InteractionManager\";\nimport TouchHistoryMath from \"../TouchHistoryMath\";\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar currentCentroidY = TouchHistoryMath.currentCentroidY;\nvar PanResponder = {\n _initializeGestureState: function _initializeGestureState(gestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0;\n gestureState._accountsForMovesUpTo = 0;\n },\n _updateGestureStateOnMove: function _updateGestureStateOnMove(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY);\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n create: function create(config) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0\n };\n var panHandlers = {\n onStartShouldSetResponder: function onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n onMoveShouldSetResponder: function onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n onStartShouldSetResponderCapture: function onStartShouldSetResponderCapture(event) {\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onMoveShouldSetResponderCapture: function onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory;\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onResponderGrant: function onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n interactionState.shouldCancelClick = true;\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n }\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n onResponderReject: function onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n onResponderRelease: function onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderStart: function onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n onResponderMove: function onResponderMove(event) {\n var touchHistory = event.touchHistory;\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n onResponderEnd: function onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n onResponderTerminate: function onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderTerminationRequest: function onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n onClickCapture: function onClickCapture(event) {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers: panHandlers,\n getInteractionHandle: function getInteractionHandle() {\n return interactionState.handle;\n }\n };\n }\n};\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n if (callback) {\n callback(event, gestureState);\n }\n}\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(function () {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\nexport default PanResponder;","map":{"version":3,"names":["InteractionManager","TouchHistoryMath","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","x0","y0","dx","dy","vx","vy","numberActiveTouches","_accountsForMovesUpTo","_updateGestureStateOnMove","touchHistory","movedAfter","prevX","x","prevY","y","nextDX","nextDY","dt","mostRecentTimeStamp","create","config","interactionState","handle","shouldCancelClick","timeout","stateID","Math","random","panHandlers","onStartShouldSetResponder","event","onStartShouldSetPanResponder","onMoveShouldSetResponder","onMoveShouldSetPanResponder","onStartShouldSetResponderCapture","nativeEvent","touches","length","onStartShouldSetPanResponderCapture","onMoveShouldSetResponderCapture","onMoveShouldSetPanResponderCapture","onResponderGrant","createInteractionHandle","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onResponderReject","clearInteractionHandle","onPanResponderReject","onResponderRelease","onPanResponderRelease","setInteractionTimeout","onResponderStart","onPanResponderStart","onResponderMove","onPanResponderMove","onResponderEnd","onPanResponderEnd","onResponderTerminate","onPanResponderTerminate","onResponderTerminationRequest","onPanResponderTerminationRequest","onClickCapture","stopPropagation","preventDefault","getInteractionHandle","callback","clearTimeout","setTimeout"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\nimport TouchHistoryMath from '../TouchHistoryMath';\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar currentCentroidY = TouchHistoryMath.currentCentroidY;\n/**\n * `PanResponder` reconciles several touches into a single gesture. It makes\n * single-touch gestures resilient to extra touches, and can be used to\n * recognize simple multi-touch gestures.\n *\n * By default, `PanResponder` holds an `InteractionManager` handle to block\n * long-running JS events from interrupting active gestures.\n *\n * It provides a predictable wrapper of the responder handlers provided by the\n * [gesture responder system](docs/gesture-responder-system.html).\n * For each handler, it provides a new `gestureState` object alongside the\n * native event object:\n *\n * ```\n * onPanResponderMove: (event, gestureState) => {}\n * ```\n *\n * A native event is a synthetic touch event with the following form:\n *\n * - `nativeEvent`\n * + `changedTouches` - Array of all touch events that have changed since the last event\n * + `identifier` - The ID of the touch\n * + `locationX` - The X position of the touch, relative to the element\n * + `locationY` - The Y position of the touch, relative to the element\n * + `pageX` - The X position of the touch, relative to the root element\n * + `pageY` - The Y position of the touch, relative to the root element\n * + `target` - The node id of the element receiving the touch event\n * + `timestamp` - A time identifier for the touch, useful for velocity calculation\n * + `touches` - Array of all current touches on the screen\n *\n * A `gestureState` object has the following:\n *\n * - `stateID` - ID of the gestureState- persisted as long as there at least\n * one touch on screen\n * - `moveX` - the latest screen coordinates of the recently-moved touch\n * - `moveY` - the latest screen coordinates of the recently-moved touch\n * - `x0` - the screen coordinates of the responder grant\n * - `y0` - the screen coordinates of the responder grant\n * - `dx` - accumulated distance of the gesture since the touch started\n * - `dy` - accumulated distance of the gesture since the touch started\n * - `vx` - current velocity of the gesture\n * - `vy` - current velocity of the gesture\n * - `numberActiveTouches` - Number of touches currently on screen\n *\n * ### Basic Usage\n *\n * ```\n * componentWillMount: function() {\n * this._panResponder = PanResponder.create({\n * // Ask to be the responder:\n * onStartShouldSetPanResponder: (evt, gestureState) => true,\n * onStartShouldSetPanResponderCapture: (evt, gestureState) => true,\n * onMoveShouldSetPanResponder: (evt, gestureState) => true,\n * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,\n *\n * onPanResponderGrant: (evt, gestureState) => {\n * // The gesture has started. Show visual feedback so the user knows\n * // what is happening!\n *\n * // gestureState.d{x,y} will be set to zero now\n * },\n * onPanResponderMove: (evt, gestureState) => {\n * // The most recent move distance is gestureState.move{X,Y}\n *\n * // The accumulated gesture distance since becoming responder is\n * // gestureState.d{x,y}\n * },\n * onPanResponderTerminationRequest: (evt, gestureState) => true,\n * onPanResponderRelease: (evt, gestureState) => {\n * // The user has released all touches while this view is the\n * // responder. This typically means a gesture has succeeded\n * },\n * onPanResponderTerminate: (evt, gestureState) => {\n * // Another component has become the responder, so this gesture\n * // should be cancelled\n * },\n * onShouldBlockNativeResponder: (evt, gestureState) => {\n * // Returns whether this component should block native components from becoming the JS\n * // responder. Returns true by default. Is currently only supported on android.\n * return true;\n * },\n * });\n * },\n *\n * render: function() {\n * return (\n * \n * );\n * },\n *\n * ```\n *\n * ### Working Example\n *\n * To see it in action, try the\n * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/master/RNTester/js/PanResponderExample.js)\n */\n\nvar PanResponder = {\n /**\n *\n * A graphical explanation of the touch data flow:\n *\n * +----------------------------+ +--------------------------------+\n * | ResponderTouchHistoryStore | |TouchHistoryMath |\n * +----------------------------+ +----------+---------------------+\n * |Global store of touchHistory| |Allocation-less math util |\n * |including activeness, start | |on touch history (centroids |\n * |position, prev/cur position.| |and multitouch movement etc) |\n * | | | |\n * +----^-----------------------+ +----^---------------------------+\n * | |\n * | (records relevant history |\n * | of touches relevant for |\n * | implementing higher level |\n * | gestures) |\n * | |\n * +----+-----------------------+ +----|---------------------------+\n * | ResponderEventPlugin | | | Your App/Component |\n * +----------------------------+ +----|---------------------------+\n * |Negotiates which view gets | Low level | | High level |\n * |onResponderMove events. | events w/ | +-+-------+ events w/ |\n * |Also records history into | touchHistory| | Pan | multitouch + |\n * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|\n * +----------------------------+ attached to | | | distance and |\n * each event | +---------+ velocity. |\n * | |\n * | |\n * +--------------------------------+\n *\n *\n *\n * Gesture that calculates cumulative movement over time in a way that just\n * \"does the right thing\" for multiple touches. The \"right thing\" is very\n * nuanced. When moving two touches in opposite directions, the cumulative\n * distance is zero in each dimension. When two touches move in parallel five\n * pixels in the same direction, the cumulative distance is five, not ten. If\n * two touches start, one moves five in a direction, then stops and the other\n * touch moves fives in the same direction, the cumulative distance is ten.\n *\n * This logic requires a kind of processing of time \"clusters\" of touch events\n * so that two touch moves that essentially occur in parallel but move every\n * other frame respectively, are considered part of the same movement.\n *\n * Explanation of some of the non-obvious fields:\n *\n * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is\n * invalid. If a move event has been observed, `(moveX, moveY)` is the\n * centroid of the most recently moved \"cluster\" of active touches.\n * (Currently all move have the same timeStamp, but later we should add some\n * threshold for what is considered to be \"moving\"). If a palm is\n * accidentally counted as a touch, but a finger is moving greatly, the palm\n * will move slightly, but we only want to count the single moving touch.\n * - x0/y0: Centroid location (non-cumulative) at the time of becoming\n * responder.\n * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch\n * distance. Accounts for touch moves that are clustered together in time,\n * moving the same direction. Only valid when currently responder (otherwise,\n * it only represents the drag distance below the threshold).\n * - vx/vy: Velocity.\n */\n _initializeGestureState(gestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0; // All `gestureState` accounts for timeStamps up until:\n\n gestureState._accountsForMovesUpTo = 0;\n },\n\n /**\n * This is nuanced and is necessary. It is incorrect to continuously take all\n * active *and* recently moved touches, find the centroid, and track how that\n * result changes over time. Instead, we must take all recently moved\n * touches, and calculate how the centroid has changed just for those\n * recently moved touches, and append that change to an accumulator. This is\n * to (at least) handle the case where the user is moving three fingers, and\n * then one of the fingers stops but the other two continue.\n *\n * This is very different than taking all of the recently moved touches and\n * storing their centroid as `dx/dy`. For correctness, we must *accumulate\n * changes* in the centroid of recently moved touches.\n *\n * There is also some nuance with how we handle multiple moved touches in a\n * single event. With the way `ReactNativeEventEmitter` dispatches touches as\n * individual events, multiple touches generate two 'move' events, each of\n * them triggering `onResponderMove`. But with the way `PanResponder` works,\n * all of the gesture inference is performed on the first dispatch, since it\n * looks at all of the touches (even the ones for which there hasn't been a\n * native dispatch yet). Therefore, `PanResponder` does not call\n * `onResponderMove` passed the first dispatch. This diverges from the\n * typical responder callback pattern (without using `PanResponder`), but\n * avoids more dispatches than necessary.\n */\n _updateGestureStateOnMove(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY); // TODO: This must be filtered intelligently.\n\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n\n /**\n * @param {object} config Enhanced versions of all of the responder callbacks\n * that provide not only the typical `ResponderSyntheticEvent`, but also the\n * `PanResponder` gesture state. Simply replace the word `Responder` with\n * `PanResponder` in each of the typical `onResponder*` callbacks. For\n * example, the `config` object would look like:\n *\n * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onPanResponderReject: (e, gestureState) => {...}`\n * - `onPanResponderGrant: (e, gestureState) => {...}`\n * - `onPanResponderStart: (e, gestureState) => {...}`\n * - `onPanResponderEnd: (e, gestureState) => {...}`\n * - `onPanResponderRelease: (e, gestureState) => {...}`\n * - `onPanResponderMove: (e, gestureState) => {...}`\n * - `onPanResponderTerminate: (e, gestureState) => {...}`\n * - `onPanResponderTerminationRequest: (e, gestureState) => {...}`\n * - `onShouldBlockNativeResponder: (e, gestureState) => {...}`\n *\n * In general, for events that have capture equivalents, we update the\n * gestureState once in the capture phase and can use it in the bubble phase\n * as well.\n *\n * Be careful with onStartShould* callbacks. They only reflect updated\n * `gestureState` for start/end events that bubble/capture to the Node.\n * Once the node is the responder, you can rely on every start/end event\n * being processed by the gesture and `gestureState` being updated\n * accordingly. (numberActiveTouches) may not be totally accurate unless you\n * are the responder.\n */\n create(config) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\n // Useful for debugging\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0\n };\n var panHandlers = {\n onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n\n onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n\n onStartShouldSetResponderCapture(event) {\n // TODO: Actually, we should reinitialize the state any time\n // touches.length increases from 0 active to > 0 active.\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n\n gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n\n onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory; // Responder system incorrectly dispatches should* to current responder\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n\n interactionState.shouldCancelClick = true;\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n } // TODO: t7467124 investigate if this can be removed\n\n\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n\n onResponderMove(event) {\n var touchHistory = event.touchHistory; // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n } // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n\n\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n\n onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n\n // We do not want to trigger 'click' activated gestures or native behaviors\n // on any pan target that is under a mouse cursor when it is released.\n // Browsers will natively cancel 'click' events on a target if a non-mouse\n // active pointer moves.\n onClickCapture: event => {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers,\n\n getInteractionHandle() {\n return interactionState.handle;\n }\n\n };\n }\n\n};\n\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n\n if (callback) {\n callback(event, gestureState);\n }\n}\n\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\n\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\n\nexport default PanResponder;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/41f4628ad1101f9088df91eaf91c5a97.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/41f4628ad1101f9088df91eaf91c5a97.json new file mode 100644 index 00000000..e65ba5de --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/41f4628ad1101f9088df91eaf91c5a97.json @@ -0,0 +1 @@ +{"ast":null,"code":"import React from \"react\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function TopBar() {\n var insets = useSafeAreaInsets();\n var statusBarHeight = insets.top;\n return _jsx(View, {\n style: {\n width: '100%',\n backgroundColor: '#E9967A',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-evenly',\n marginTop: statusBarHeight\n },\n children: _jsx(Text, {\n style: TopBarStyle.title,\n children: \"La Super M\\xE9t\\xE9o\"\n })\n });\n}\nvar TopBarStyle = StyleSheet.create({\n title: {\n fontSize: 30,\n fontWeigh: 'bold',\n color: '#B6D0E2'\n }\n});","map":{"version":3,"names":["React","useSafeAreaInsets","TopBar","insets","statusBarHeight","top","width","backgroundColor","alignItems","flexDirection","justifyContent","marginTop","TopBarStyle","title","StyleSheet","create","fontSize","fontWeigh","color"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/components/TopBar.tsx"],"sourcesContent":["import React from \"react\"\nimport { View, Text, StyleSheet, Platform } from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nexport function TopBar(){\nconst insets = useSafeAreaInsets();\nconst statusBarHeight = insets.top;\n return (\n \n La Super Météo\n \n );\n}\n\nconst TopBarStyle = StyleSheet.create({\n title : {\n fontSize : 30,\n fontWeigh : 'bold',\n color : '#B6D0E2'\n }\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAAA;AAAA;AAAA;AAEzB,SAASC,iBAAiB,QAAQ,gCAAgC;AAAC;AAEnE,OAAO,SAASC,MAAM,GAAE;EACxB,IAAMC,MAAM,GAAGF,iBAAiB,EAAE;EAClC,IAAMG,eAAe,GAAGD,MAAM,CAACE,GAAG;EAC9B,OACI,KAAC,IAAI;IAAC,KAAK,EAAE;MAACC,KAAK,EAAG,MAAM;MAC5BC,eAAe,EAAG,SAAS;MAC3BC,UAAU,EAAG,QAAQ;MACrBC,aAAa,EAAG,KAAK;MACrBC,cAAc,EAAG,cAAc;MAC/BC,SAAS,EAAGP;IAAe,CAAE;IAAA,UACzB,KAAC,IAAI;MAAC,KAAK,EAAEQ,WAAW,CAACC,KAAM;MAAA,UAAC;IAAc;EAAO,EAClD;AAEf;AAEA,IAAMD,WAAW,GAAGE,UAAU,CAACC,MAAM,CAAC;EAClCF,KAAK,EAAG;IACJG,QAAQ,EAAG,EAAE;IACbC,SAAS,EAAG,MAAM;IAClBC,KAAK,EAAG;EACZ;AACJ,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/43cf32e1d66ecc8392b274c95f263a26.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/43cf32e1d66ecc8392b274c95f263a26.json new file mode 100644 index 00000000..6341ebd6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/43cf32e1d66ecc8392b274c95f263a26.json @@ -0,0 +1 @@ +{"ast":null,"code":"import AsyncStorage from \"./AsyncStorage\";\nexport function useAsyncStorage(key) {\n return {\n getItem: function getItem() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return AsyncStorage.getItem.apply(AsyncStorage, [key].concat(args));\n },\n setItem: function setItem() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return AsyncStorage.setItem.apply(AsyncStorage, [key].concat(args));\n },\n mergeItem: function mergeItem() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return AsyncStorage.mergeItem.apply(AsyncStorage, [key].concat(args));\n },\n removeItem: function removeItem() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return AsyncStorage.removeItem.apply(AsyncStorage, [key].concat(args));\n }\n };\n}","map":{"version":3,"sources":["hooks.ts"],"names":["AsyncStorage","useAsyncStorage","key","getItem","args","setItem","mergeItem","removeItem"],"mappings":"AAAA,OAAOA,YAAP;AAGA,OAAO,SAASC,eAAT,CAAyBC,GAAzB,EAAwD;EAC7D,OAAO;IACLC,OAAO,EAAE,mBAAA;MAAA,KAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAIC,IAAJ,GAAA,IAAA,KAAA,CAAA,IAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAA,EAAA,EAAA;QAAIA,IAAJ,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAA;MAAA;MAAA,OAAaJ,YAAY,CAACG,OAAbH,OAAAA,YAAY,GAASE,GAArBF,SAA6BI,IAA7BJ,EAAb;IAAA,CADJ;IAELK,OAAO,EAAE,mBAAA;MAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAID,IAAJ,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;QAAIA,IAAJ,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;MAAA;MAAA,OAAaJ,YAAY,CAACK,OAAbL,OAAAA,YAAY,GAASE,GAArBF,SAA6BI,IAA7BJ,EAAb;IAAA,CAFJ;IAGLM,SAAS,EAAE,qBAAA;MAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAIF,IAAJ,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;QAAIA,IAAJ,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;MAAA;MAAA,OAAaJ,YAAY,CAACM,SAAbN,OAAAA,YAAY,GAAWE,GAAvBF,SAA+BI,IAA/BJ,EAAb;IAAA,CAHN;IAILO,UAAU,EAAE,sBAAA;MAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAIH,IAAJ,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;QAAIA,IAAJ,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;MAAA;MAAA,OAAaJ,YAAY,CAACO,UAAbP,OAAAA,YAAY,GAAYE,GAAxBF,SAAgCI,IAAhCJ,EAAb;IAAA;EAJP,CAAP;AAMD","sourcesContent":["import AsyncStorage from './AsyncStorage';\nimport type { AsyncStorageHook } from './types';\n\nexport function useAsyncStorage(key: string): AsyncStorageHook {\n return {\n getItem: (...args) => AsyncStorage.getItem(key, ...args),\n setItem: (...args) => AsyncStorage.setItem(key, ...args),\n mergeItem: (...args) => AsyncStorage.mergeItem(key, ...args),\n removeItem: (...args) => AsyncStorage.removeItem(key, ...args),\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/441331f80e970e1fec07019208fb5c33.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/441331f80e970e1fec07019208fb5c33.json new file mode 100644 index 00000000..54e79290 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/441331f80e970e1fec07019208fb5c33.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { FETCH_FAVORITE_CITY } from \"../constants\";\nexport var setFavoriteCity = function setFavoriteCity(city) {\n return {\n type: FETCH_FAVORITE_CITY,\n payload: city\n };\n};","map":{"version":3,"names":["FETCH_FAVORITE_CITY","setFavoriteCity","city","type","payload"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/setFavoriteCity.ts"],"sourcesContent":["import { City } from '../../data/stub';\nimport {ADD_FAVORITE_CITY, FETCH_FAVORITE_CITY} from '../constants';\n\nexport const setFavoriteCity = (city: City | null) => {\n return {\n type: FETCH_FAVORITE_CITY,\n payload: city,\n };\n}"],"mappings":"AACA,SAA2BA,mBAAmB;AAE9C,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAIC,IAAiB,EAAK;EACpD,OAAO;IACLC,IAAI,EAAEH,mBAAmB;IACzBI,OAAO,EAAEF;EACX,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4566a55546cdfd106364d28a42a7788e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4566a55546cdfd106364d28a42a7788e.json new file mode 100644 index 00000000..6da6ab8d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4566a55546cdfd106364d28a42a7788e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import PooledClass from \"../../vendor/react-native/PooledClass\";\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;","map":{"version":3,"names":["PooledClass","twoArgumentPooler","BoundingDimensions","width","height","prototype","destructor","getPooledFromElement","element","getPooled","offsetWidth","offsetHeight","addPoolingTo"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\n\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\n\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\n\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\n\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;"],"mappings":"AASA,OAAOA,WAAW;AAClB,IAAIC,iBAAiB,GAAGD,WAAW,CAACC,iBAAiB;AAKrD,SAASC,kBAAkB,CAACC,KAAK,EAAEC,MAAM,EAAE;EACzC,IAAI,CAACD,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;AACtB;AAEAF,kBAAkB,CAACG,SAAS,CAACC,UAAU,GAAG,YAAY;EACpD,IAAI,CAACH,KAAK,GAAG,IAAI;EACjB,IAAI,CAACC,MAAM,GAAG,IAAI;AACpB,CAAC;AAEDF,kBAAkB,CAACK,oBAAoB,GAAG,UAAUC,OAAO,EAAE;EAC3D,OAAON,kBAAkB,CAACO,SAAS,CAACD,OAAO,CAACE,WAAW,EAAEF,OAAO,CAACG,YAAY,CAAC;AAChF,CAAC;AAEDX,WAAW,CAACY,YAAY,CAACV,kBAAkB,EAAED,iBAAiB,CAAC;AAC/D,eAAeC,kBAAkB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/462b99898173e0b46b67d7daf5a26565.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/462b99898173e0b46b67d7daf5a26565.json new file mode 100644 index 00000000..540773ea --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/462b99898173e0b46b67d7daf5a26565.json @@ -0,0 +1 @@ +{"ast":null,"code":"var LogBox = {\n ignoreLogs: function ignoreLogs() {},\n ignoreAllLogs: function ignoreAllLogs() {},\n uninstall: function uninstall() {},\n install: function install() {}\n};\nexport default LogBox;","map":{"version":3,"names":["LogBox","ignoreLogs","ignoreAllLogs","uninstall","install"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/LogBox/index.js"],"sourcesContent":["/**\n * Copyright (c) 2016-present, Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar LogBox = {\n ignoreLogs() {},\n\n ignoreAllLogs() {},\n\n uninstall() {},\n\n install() {}\n\n};\nexport default LogBox;"],"mappings":"AAQA,IAAIA,MAAM,GAAG;EACXC,UAAU,wBAAG,CAAC,CAAC;EAEfC,aAAa,2BAAG,CAAC,CAAC;EAElBC,SAAS,uBAAG,CAAC,CAAC;EAEdC,OAAO,qBAAG,CAAC;AAEb,CAAC;AACD,eAAeJ,MAAM"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/46ba51126b89c2f4e69cfbb55fceb909.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/46ba51126b89c2f4e69cfbb55fceb909.json new file mode 100644 index 00000000..47752c0e --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/46ba51126b89c2f4e69cfbb55fceb909.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as AntDesign } from \"./AntDesign\";\nexport { default as Entypo } from \"./Entypo\";\nexport { default as EvilIcons } from \"./EvilIcons\";\nexport { default as Feather } from \"./Feather\";\nexport { default as Fontisto } from \"./Fontisto\";\nexport { default as FontAwesome } from \"./FontAwesome\";\nexport { default as FontAwesome5 } from \"./FontAwesome5\";\nexport { default as Foundation } from \"./Foundation\";\nexport { default as Ionicons } from \"./Ionicons\";\nexport { default as MaterialCommunityIcons } from \"./MaterialCommunityIcons\";\nexport { default as MaterialIcons } from \"./MaterialIcons\";\nexport { default as Octicons } from \"./Octicons\";\nexport { default as SimpleLineIcons } from \"./SimpleLineIcons\";\nexport { default as Zocial } from \"./Zocial\";\nexport { default as createMultiStyleIconSet } from \"./createMultiStyleIconSet\";\nexport { default as createIconSet } from \"./createIconSet\";\nexport { default as createIconSetFromFontello } from \"./createIconSetFromFontello\";\nexport { default as createIconSetFromIcoMoon } from \"./createIconSetFromIcoMoon\";\nexport { default as createMu } from \"./createIconSetFromIcoMoon\";","map":{"version":3,"sources":["../src/Icons.ts"],"names":[],"mappings":"AAAA,SAAS,OAAO,IAAI,SAAS;AAC7B,SAAS,OAAO,IAAI,MAAM;AAC1B,SAAS,OAAO,IAAI,SAAS;AAC7B,SAAS,OAAO,IAAI,OAAO;AAC3B,SAAS,OAAO,IAAI,QAAQ;AAC5B,SAAS,OAAO,IAAI,WAAW;AAC/B,SAAS,OAAO,IAAI,YAAY;AAChC,SAAS,OAAO,IAAI,UAAU;AAC9B,SAAS,OAAO,IAAI,QAAQ;AAC5B,SAAS,OAAO,IAAI,sBAAsB;AAC1C,SAAS,OAAO,IAAI,aAAa;AACjC,SAAS,OAAO,IAAI,QAAQ;AAC5B,SAAS,OAAO,IAAI,eAAe;AACnC,SAAS,OAAO,IAAI,MAAM;AAC1B,SAAS,OAAO,IAAI,uBAAuB;AAC3C,SAAS,OAAO,IAAI,aAAa;AACjC,SAAS,OAAO,IAAI,yBAAyB;AAC7C,SAAS,OAAO,IAAI,wBAAwB;AAC5C,SAAS,OAAO,IAAI,QAAQ","sourcesContent":["export { default as AntDesign } from \"./AntDesign\";\nexport { default as Entypo } from \"./Entypo\";\nexport { default as EvilIcons } from \"./EvilIcons\";\nexport { default as Feather } from \"./Feather\";\nexport { default as Fontisto } from \"./Fontisto\";\nexport { default as FontAwesome } from \"./FontAwesome\";\nexport { default as FontAwesome5 } from \"./FontAwesome5\";\nexport { default as Foundation } from \"./Foundation\";\nexport { default as Ionicons } from \"./Ionicons\";\nexport { default as MaterialCommunityIcons } from \"./MaterialCommunityIcons\";\nexport { default as MaterialIcons } from \"./MaterialIcons\";\nexport { default as Octicons } from \"./Octicons\";\nexport { default as SimpleLineIcons } from \"./SimpleLineIcons\";\nexport { default as Zocial } from \"./Zocial\";\nexport { default as createMultiStyleIconSet } from \"./createMultiStyleIconSet\";\nexport { default as createIconSet } from \"./createIconSet\";\nexport { default as createIconSetFromFontello } from \"./createIconSetFromFontello\";\nexport { default as createIconSetFromIcoMoon } from \"./createIconSetFromIcoMoon\";\nexport { default as createMu } from \"./createIconSetFromIcoMoon\";\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/478a42a377518ba99ddcc215b6366733.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/478a42a377518ba99ddcc215b6366733.json new file mode 100644 index 00000000..bc5fa428 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/478a42a377518ba99ddcc215b6366733.json @@ -0,0 +1 @@ +{"ast":null,"code":"import URL from 'url-parse';\nexport function getFilename(url) {\n var _URL = new URL(url, {}),\n pathname = _URL.pathname;\n return pathname.substring(pathname.lastIndexOf('/') + 1);\n}\nexport function getFileExtension(url) {\n var filename = getFilename(url);\n var dotIndex = filename.lastIndexOf('.');\n return dotIndex > 0 ? filename.substring(dotIndex) : '';\n}\nexport function getManifestBaseUrl(manifestUrl) {\n var urlObject = new URL(manifestUrl, {});\n if (urlObject.protocol === 'exp:') {\n urlObject.set('protocol', 'http:');\n } else if (urlObject.protocol === 'exps:') {\n urlObject.set('protocol', 'https:');\n }\n var directory = urlObject.pathname.substring(0, urlObject.pathname.lastIndexOf('/') + 1);\n urlObject.set('pathname', directory);\n urlObject.set('query', '');\n urlObject.set('hash', '');\n return urlObject.href;\n}","map":{"version":3,"sources":["../src/AssetUris.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,WAAW;AAE3B,OAAM,SAAU,WAAW,CAAC,GAAW,EAAA;EACrC,WAAqB,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC;IAA7B,QAAQ,QAAR,QAAQ;EAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D;AAEA,OAAM,SAAU,gBAAgB,CAAC,GAAW,EAAA;EAC1C,IAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC;EACjC,IAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;EAE1C,OAAO,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE;AACzD;AAaA,OAAM,SAAU,kBAAkB,CAAC,WAAmB,EAAA;EACpD,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAA,CAAE,CAAC;EAG1C,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,EAAE;IACjC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC;GACnC,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,OAAO,EAAE;IACzC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;EACpC;EAGD,IAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC1F,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC;EACpC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1B,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;EAEzB,OAAO,SAAS,CAAC,IAAI;AACvB","sourcesContent":["import URL from 'url-parse';\n\nexport function getFilename(url: string): string {\n const { pathname } = new URL(url, {});\n return pathname.substring(pathname.lastIndexOf('/') + 1);\n}\n\nexport function getFileExtension(url: string): string {\n const filename = getFilename(url);\n const dotIndex = filename.lastIndexOf('.');\n // Ignore leading dots for hidden files\n return dotIndex > 0 ? filename.substring(dotIndex) : '';\n}\n\n/**\n * Returns the base URL from a manifest's URL. For example, given a manifest hosted at\n * https://example.com/app/manifest.json, the base URL would be https://example.com/app/. Query\n * parameters and fragments also are removed.\n *\n * For an Expo-hosted project with a manifest hosted at https://exp.host/@user/project/index.exp, the\n * base URL would be https://exp.host/@user/project.\n *\n * We also normalize the \"exp\" protocol to \"http\" to handle internal URLs with the Expo schemes used\n * to tell the OS to open the URLs in the the Expo client.\n */\nexport function getManifestBaseUrl(manifestUrl: string): string {\n const urlObject = new URL(manifestUrl, {});\n\n // Change the scheme to http(s) if it is exp(s)\n if (urlObject.protocol === 'exp:') {\n urlObject.set('protocol', 'http:');\n } else if (urlObject.protocol === 'exps:') {\n urlObject.set('protocol', 'https:');\n }\n\n // Trim filename, query parameters, and fragment, if any\n const directory = urlObject.pathname.substring(0, urlObject.pathname.lastIndexOf('/') + 1);\n urlObject.set('pathname', directory);\n urlObject.set('query', '');\n urlObject.set('hash', '');\n\n return urlObject.href;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4b9e055a0fc2acee19f1c562dd579504.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4b9e055a0fc2acee19f1c562dd579504.json new file mode 100644 index 00000000..18086e32 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4b9e055a0fc2acee19f1c562dd579504.json @@ -0,0 +1 @@ +{"ast":null,"code":"var conversions = require(\"./conversions\");\nfunction buildGraph() {\n var graph = {};\n var models = Object.keys(conversions);\n for (var len = models.length, i = 0; i < len; i++) {\n graph[models[i]] = {\n distance: -1,\n parent: null\n };\n }\n return graph;\n}\nfunction deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel];\n graph[fromModel].distance = 0;\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions[current]);\n for (var len = adjacents.length, i = 0; i < len; i++) {\n var adjacent = adjacents[i];\n var node = graph[adjacent];\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n return graph;\n}\nfunction link(from, to) {\n return function (args) {\n return to(from(args));\n };\n}\nfunction wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n fn.conversion = path;\n return fn;\n}\nmodule.exports = function (fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n for (var len = models.length, i = 0; i < len; i++) {\n var toModel = models[i];\n var node = graph[toModel];\n if (node.parent === null) {\n continue;\n }\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n return conversion;\n};","map":{"version":3,"names":["conversions","require","buildGraph","graph","models","Object","keys","len","length","i","distance","parent","deriveBFS","fromModel","queue","current","pop","adjacents","adjacent","node","unshift","link","from","to","args","wrapConversion","toModel","path","fn","cur","conversion","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@react-navigation/stack/node_modules/color-convert/route.js"],"sourcesContent":["const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n"],"mappings":"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"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4c33417390015d688aa1651e7a45ba70.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4c33417390015d688aa1651e7a45ba70.json new file mode 100644 index 00000000..7ce0ed00 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4c33417390015d688aa1651e7a45ba70.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport deepMap from \"./deep-map\";\nvar validScaleSheetRegex = /^(\\-?\\d+(?:\\.\\d{1,3})?)@(mv?s(\\d+(?:\\.\\d{1,2})?)?|s|vs)r?$/;\nvar scaleByAnnotation = function scaleByAnnotation(scale, verticalScale, moderateScale, moderateVerticalScale) {\n return function (value) {\n if (!validScaleSheetRegex.test(value)) {\n return value;\n }\n var regexExecResult = validScaleSheetRegex.exec(value);\n var size = parseFloat(regexExecResult[1]);\n var scaleFunc = regexExecResult[2];\n var scaleFactor = regexExecResult[3];\n if (scaleFactor) scaleFunc = scaleFunc.slice(0, -scaleFactor.length);\n var shouldRound = value.endsWith('r');\n var result;\n switch (scaleFunc) {\n case 's':\n result = scale(size);\n break;\n case 'vs':\n result = verticalScale(size);\n break;\n case 'ms':\n result = moderateScale(size, scaleFactor);\n break;\n case 'mvs':\n result = moderateVerticalScale(size, scaleFactor);\n break;\n }\n return shouldRound ? Math.round(result) : result;\n };\n};\nvar scaledSheetCreator = function scaledSheetCreator(scale, verticalScale, moderateScale, moderateVerticalScale) {\n var scaleFunc = scaleByAnnotation(scale, verticalScale, moderateScale, moderateVerticalScale);\n return {\n create: function create(styleSheet) {\n return StyleSheet.create(deepMap(styleSheet, scaleFunc));\n }\n };\n};\nexport default scaledSheetCreator;","map":{"version":3,"names":["deepMap","validScaleSheetRegex","scaleByAnnotation","scale","verticalScale","moderateScale","moderateVerticalScale","value","test","regexExecResult","exec","size","parseFloat","scaleFunc","scaleFactor","slice","length","shouldRound","endsWith","result","Math","round","scaledSheetCreator","create","styleSheet","StyleSheet"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-size-matters/lib/ScaledSheet.js"],"sourcesContent":["import { StyleSheet } from 'react-native';\nimport deepMap from './deep-map';\n\n// Groups Size Func Factor\n// 1 2 3\nconst validScaleSheetRegex = /^(\\-?\\d+(?:\\.\\d{1,3})?)@(mv?s(\\d+(?:\\.\\d{1,2})?)?|s|vs)r?$/;\n\nconst scaleByAnnotation = (scale, verticalScale, moderateScale, moderateVerticalScale) => (value) => {\n if (!validScaleSheetRegex.test(value)) {\n return value;\n }\n\n const regexExecResult = validScaleSheetRegex.exec(value);\n\n const size = parseFloat(regexExecResult[1]);\n let scaleFunc = regexExecResult[2];\n const scaleFactor = regexExecResult[3]; // string or undefined\n\n if (scaleFactor)\n scaleFunc = scaleFunc.slice(0, - scaleFactor.length); // Remove the factor from it\n\n const shouldRound = value.endsWith('r');\n\n let result;\n\n switch (scaleFunc) {\n case 's':\n result = scale(size);\n break;\n case 'vs':\n result = verticalScale(size);\n break;\n case 'ms':\n result = moderateScale(size, scaleFactor);\n break;\n case 'mvs':\n result = moderateVerticalScale(size, scaleFactor);\n break;\n }\n\n return shouldRound ? Math.round(result) : result;\n};\n\nconst scaledSheetCreator = (scale, verticalScale, moderateScale, moderateVerticalScale) => {\n const scaleFunc = scaleByAnnotation(scale, verticalScale, moderateScale, moderateVerticalScale);\n return {\n create: styleSheet => StyleSheet.create(deepMap(styleSheet, scaleFunc))\n };\n};\n\nexport default scaledSheetCreator;"],"mappings":";AACA,OAAOA,OAAO;AAId,IAAMC,oBAAoB,GAAG,4DAA4D;AAEzF,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,KAAK,EAAEC,aAAa,EAAEC,aAAa,EAAEC,qBAAqB;EAAA,OAAK,UAACC,KAAK,EAAK;IACjG,IAAI,CAACN,oBAAoB,CAACO,IAAI,CAACD,KAAK,CAAC,EAAE;MACnC,OAAOA,KAAK;IAChB;IAEA,IAAME,eAAe,GAAGR,oBAAoB,CAACS,IAAI,CAACH,KAAK,CAAC;IAExD,IAAMI,IAAI,GAAGC,UAAU,CAACH,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAII,SAAS,GAAGJ,eAAe,CAAC,CAAC,CAAC;IAClC,IAAMK,WAAW,GAAGL,eAAe,CAAC,CAAC,CAAC;IAEtC,IAAIK,WAAW,EACXD,SAAS,GAAGA,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE,CAAED,WAAW,CAACE,MAAM,CAAC;IAExD,IAAMC,WAAW,GAAGV,KAAK,CAACW,QAAQ,CAAC,GAAG,CAAC;IAEvC,IAAIC,MAAM;IAEV,QAAQN,SAAS;MACb,KAAK,GAAG;QACJM,MAAM,GAAGhB,KAAK,CAACQ,IAAI,CAAC;QACpB;MACJ,KAAK,IAAI;QACLQ,MAAM,GAAGf,aAAa,CAACO,IAAI,CAAC;QAC5B;MACJ,KAAK,IAAI;QACLQ,MAAM,GAAGd,aAAa,CAACM,IAAI,EAAEG,WAAW,CAAC;QACzC;MACJ,KAAK,KAAK;QACNK,MAAM,GAAGb,qBAAqB,CAACK,IAAI,EAAEG,WAAW,CAAC;QACjD;IAAM;IAGd,OAAOG,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACF,MAAM,CAAC,GAAGA,MAAM;EACpD,CAAC;AAAA;AAED,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkB,CAAInB,KAAK,EAAEC,aAAa,EAAEC,aAAa,EAAEC,qBAAqB,EAAK;EACvF,IAAMO,SAAS,GAAGX,iBAAiB,CAACC,KAAK,EAAEC,aAAa,EAAEC,aAAa,EAAEC,qBAAqB,CAAC;EAC/F,OAAO;IACHiB,MAAM,EAAE,gBAAAC,UAAU;MAAA,OAAIC,UAAU,CAACF,MAAM,CAACvB,OAAO,CAACwB,UAAU,EAAEX,SAAS,CAAC,CAAC;IAAA;EAC3E,CAAC;AACL,CAAC;AAED,eAAeS,kBAAkB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4d41e29567a45917414b47fd4c3f7c00.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4d41e29567a45917414b47fd4c3f7c00.json new file mode 100644 index 00000000..fb0efe3a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4d41e29567a45917414b47fd4c3f7c00.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/AntDesign.json\";\nvar iconSet = createIconSet(glyphMap, 'anticon', 'AntDesign.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/AntDesign.js"],"sourcesContent":["/**\n * AntDesign icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/AntDesign.json';\n\nconst iconSet = createIconSet(glyphMap, 'anticon', 'AntDesign.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC;AAEnE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4e14e7f1c57a7417038008fbf2963d7b.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4e14e7f1c57a7417038008fbf2963d7b.json new file mode 100644 index 00000000..cc0648bd --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4e14e7f1c57a7417038008fbf2963d7b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { City, Weather } from \"../../data/stub\";\nimport { setWeather } from \"./setWeather\";\nexport var getWeather = function getWeather(city) {\n return function () {\n var _ref = _asyncToGenerator(function* (dispatch) {\n try {\n var promise = yield fetch('https://iut-weather-api.azurewebsites.net/weather/city/name/' + city.name);\n var weatherJson = yield promise.json();\n var weather = new Weather(weatherJson[\"at\"], weatherJson[\"visibility\"], weatherJson[\"weatherType\"], weatherJson[\"weatherDescription\"], weatherJson[\"temperature\"], weatherJson[\"temperatureFeelsLike\"], weatherJson[\"humidity\"], weatherJson[\"windSpeed\"], weatherJson[\"pressure\"], new City(weatherJson[\"city\"][\"name\"], weatherJson[\"city\"][\"latitude\"], weatherJson[\"city\"][\"longitude\"]));\n console.log(weather);\n dispatch(setWeather(weather));\n } catch (error) {\n console.log('Error---------', error);\n }\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n};","map":{"version":3,"names":["City","Weather","setWeather","getWeather","city","dispatch","promise","fetch","name","weatherJson","json","weather","console","log","error"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/getWeather.ts"],"sourcesContent":["import { getFavoriteCityStorage } from \"../../asyncStorange/getFavoriteCityStorage\";\nimport { City, Weather } from \"../../data/stub\";\nimport { setFavoriteCity } from \"./setFavoriteCity\";\nimport { setWeather } from \"./setWeather\";\n\nexport const getWeather = (city: City) => {\n return async dispatch => {\n try {\n \n const promise = await fetch('https://iut-weather-api.azurewebsites.net/weather/city/name/'+city.name);\n const weatherJson = await promise.json();\n \n const weather = new Weather(weatherJson[\"at\"], weatherJson[\"visibility\"], weatherJson[\"weatherType\"], weatherJson[\"weatherDescription\"], weatherJson[\"temperature\"], weatherJson[\"temperatureFeelsLike\"], weatherJson[\"humidity\"], weatherJson[\"windSpeed\"], weatherJson[\"pressure\"], new City(weatherJson[\"city\"][\"name\"], weatherJson[\"city\"][\"latitude\"], weatherJson[\"city\"][\"longitude\"]));\n \n console.log(weather)\n dispatch(setWeather(weather));\n\n } catch (error) {\n console.log('Error---------', error);\n //You can dispatch to another action if you want to display an error message in the application\n //dispatch(fetchDataRejected(error))\n }\n }\n }"],"mappings":";AACA,SAASA,IAAI,EAAEC,OAAO;AAEtB,SAASC,UAAU;AAEnB,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAIC,IAAU,EAAK;EACtC;IAAA,6BAAO,WAAMC,QAAQ,EAAI;MACvB,IAAI;QAEE,IAAMC,OAAO,SAASC,KAAK,CAAC,8DAA8D,GAACH,IAAI,CAACI,IAAI,CAAC;QACrG,IAAMC,WAAW,SAASH,OAAO,CAACI,IAAI,EAAE;QAExC,IAAMC,OAAO,GAAG,IAAIV,OAAO,CAACQ,WAAW,CAAC,IAAI,CAAC,EAAEA,WAAW,CAAC,YAAY,CAAC,EAAEA,WAAW,CAAC,aAAa,CAAC,EAAEA,WAAW,CAAC,oBAAoB,CAAC,EAAEA,WAAW,CAAC,aAAa,CAAC,EAAEA,WAAW,CAAC,sBAAsB,CAAC,EAAEA,WAAW,CAAC,UAAU,CAAC,EAAEA,WAAW,CAAC,WAAW,CAAC,EAAEA,WAAW,CAAC,UAAU,CAAC,EAAE,IAAIT,IAAI,CAACS,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAEA,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAEA,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAE/XG,OAAO,CAACC,GAAG,CAACF,OAAO,CAAC;QACpBN,QAAQ,CAACH,UAAU,CAACS,OAAO,CAAC,CAAC;MAEnC,CAAC,CAAC,OAAOG,KAAK,EAAE;QACdF,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEC,KAAK,CAAC;MAGtC;IACF,CAAC;IAAA;MAAA;IAAA;EAAA;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/4e4aa8c0097680279e817d3e310227c9.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/4e4aa8c0097680279e817d3e310227c9.json new file mode 100644 index 00000000..48d13267 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/4e4aa8c0097680279e817d3e310227c9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport * as Font from \"expo-font\";\nimport React from \"react\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport createIconSet from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nimport createIconButtonComponent from \"./vendor/react-native-vector-icons/lib/icon-button\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport { DEFAULT_ICON_COLOR, DEFAULT_ICON_SIZE } from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nexport default function (glyphMap, fontName, expoAssetId, fontStyle) {\n var _a;\n var font = _defineProperty({}, fontName, expoAssetId);\n var RNVIconComponent = createIconSet(glyphMap, fontName, null, fontStyle);\n return _a = function (_React$Component) {\n _inherits(Icon, _React$Component);\n var _super = _createSuper(Icon);\n function Icon() {\n var _this;\n _classCallCheck(this, Icon);\n _this = _super.apply(this, arguments);\n _this._mounted = false;\n _this.state = {\n fontIsLoaded: Font.isLoaded(fontName)\n };\n return _this;\n }\n _createClass(Icon, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator(function* () {\n this._mounted = true;\n if (!this.state.fontIsLoaded) {\n yield Font.loadAsync(font);\n this._mounted && this.setState({\n fontIsLoaded: true\n });\n }\n });\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n return componentDidMount;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._mounted = false;\n }\n }, {\n key: \"setNativeProps\",\n value: function setNativeProps(props) {\n if (this._icon) {\n this._icon.setNativeProps(props);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (__DEV__ && this.props.name && !(this.props.name in glyphMap)) {\n console.warn(\"\\\"\" + this.props.name + \"\\\" is not a valid icon name for family \\\"\" + fontName + \"\\\"\");\n }\n if (!this.state.fontIsLoaded) {\n return _jsx(Text, {});\n }\n return _jsx(RNVIconComponent, _objectSpread({\n ref: function ref(view) {\n _this2._icon = view;\n }\n }, this.props));\n }\n }]);\n return Icon;\n }(React.Component), _a.defaultProps = RNVIconComponent.defaultProps, _a.Button = createIconButtonComponent(_a), _a.glyphMap = glyphMap, _a.getRawGlyphMap = function () {\n return glyphMap;\n }, _a.getFontFamily = function () {\n return fontName;\n }, _a.loadFont = function () {\n return Font.loadAsync(font);\n }, _a.font = font, _a;\n}","map":{"version":3,"sources":["../src/createIconSet.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,IAAI,MAAM,WAAW;AACjC,OAAO,KAAyB,MAAM,OAAO;AAAC;AAW9C,OAAO,aAAa;AACpB,OAAO,yBAAyB;AAA2D;AAE3F,SACE,kBAAkB,EAClB,iBAAiB;AAqFnB,eAAc,UACZ,QAAqB,EACrB,QAAY,EACZ,WAAW,EACX,SAAe,EAAA;;EAEf,IAAM,IAAI,uBAAM,QAAQ,EAAG,WAAW,CAAE;EACxC,IAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC;EAE3E,OAAA,EAAA;IAAA;IAAA;IAAO,gBAAA;MAAA;MAAA;;MASL,MAAA,QAAQ,GAAG,KAAK;MAGhB,MAAA,KAAK,GAAG;QACN,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;OACrC;MAAC;IAwCJ;IAAC;MAAA;MAAA;QAAA,2CAtCC,aAAuB;UACrB,IAAI,CAAC,QAAQ,GAAG,IAAI;UACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;cAAE,YAAY,EAAE;YAAI,CAAE,CAAC;UACvD;QACH,CAAC;QAAA;UAAA;QAAA;QAAA;MAAA;IAAA;MAAA;MAAA,OAED,gCAAoB;QAClB,IAAI,CAAC,QAAQ,GAAG,KAAK;MACvB;IAAC;MAAA;MAAA,OAED,wBAAe,KAAK,EAAA;QAClB,IAAI,IAAI,CAAC,KAAK,EAAE;UACd,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;QACjC;MACH;IAAC;MAAA;MAAA,OAED,kBAAM;QAAA;QACJ,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE;UAChE,OAAO,CAAC,IAAI,QACN,IAAI,CAAC,KAAK,CAAC,IAAI,iDAA0C,QAAQ,QACtE;QACF;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;UAC5B,OAAO,KAAC,IAAI,KAAG;QAChB;QAED,OACE,KAAC,gBAAgB;UACf,GAAG,EAAE,aAAC,IAAI,EAAI;YACZ,MAAI,CAAC,KAAK,GAAG,IAAI;UACnB;QAAE,GACE,IAAI,CAAC,KAAK,EACd;MAEN;IAAC;IAAA;EAAA,EArDuB,KAAK,CAAC,SAAuB,CAsDtD,EArDQ,EAAA,CAAA,YAAY,GAAG,gBAAgB,CAAC,YAAa,EAC7C,EAAA,CAAA,MAAM,GAAG,yBAAyB,CAAC,EAAI,CAAE,EACzC,EAAA,CAAA,QAAQ,GAAG,QAAS,EACpB,EAAA,CAAA,cAAc,GAAG;IAAA,OAAM,QAAS;EAAA,GAChC,EAAA,CAAA,aAAa,GAAG;IAAA,OAAM,QAAS;EAAA,GAC/B,EAAA,CAAA,QAAQ,GAAG;IAAA,OAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE;EAAA,GACtC,EAAA,CAAA,IAAI,GAAG,IAAK,E,EA+CnB;AACJ","sourcesContent":["import * as Font from \"expo-font\";\nimport React, { ComponentClass } from \"react\";\nimport {\n Text,\n TextProps,\n TouchableHighlightProps,\n ViewProps,\n OpaqueColorValue,\n TextStyle,\n ViewStyle,\n} from \"react-native\";\n\nimport createIconSet from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nimport createIconButtonComponent from \"./vendor/react-native-vector-icons/lib/icon-button\";\n\nexport {\n DEFAULT_ICON_COLOR,\n DEFAULT_ICON_SIZE,\n} from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\n\nexport interface IconProps extends TextProps {\n /**\n * Size of the icon, can also be passed as fontSize in the style object.\n *\n * @default 12\n */\n size?: number;\n\n /**\n * Name of the icon to show\n *\n * See Icon Explorer app\n * {@link https://expo.github.io/vector-icons/}\n */\n name: GLYPHS;\n\n /**\n * Color of the icon. Can be a string or OpaqueColorValue (returned from\n * PlatformColor(..))\n *\n */\n color?: string | OpaqueColorValue;\n}\n\nexport interface IconButtonProps\n extends IconProps,\n ViewProps,\n TouchableHighlightProps {\n /**\n * Text and icon color\n * Use iconStyle or nest a Text component if you need different colors.\n * Can be a string or OpaqueColorValue (returned from PlatformColor(..))\n *\n * @default 'white'\n */\n color?: string | OpaqueColorValue;\n\n /**\n * Border radius of the button\n * Set to 0 to disable.\n *\n * @default 5\n */\n borderRadius?: number;\n\n /**\n * Styles applied to the icon only\n * Good for setting margins or a different color.\n *\n * @default {marginRight: 10}\n */\n iconStyle?: TextStyle;\n\n /**\n * Style prop inherited from TextProps and TouchableWithoutFeedbackProperties\n * Only exist here so we can have ViewStyle or TextStyle\n *\n */\n style?: ViewStyle | TextStyle;\n\n /**\n * Background color of the button. Can be a string or OpaqueColorValue (returned from\n * PlatformColor(..))\n *\n * @default '#007AFF'\n */\n backgroundColor?: string | OpaqueColorValue;\n}\n\nexport type GlyphMap = { [K in G]: number | string };\n\nexport interface Icon {\n defaultProps: any;\n Button: ComponentClass>;\n glyphMap: GlyphMap;\n getRawGlyphMap: () => GlyphMap;\n getFontFamily: () => FN;\n loadFont: () => Promise;\n font: { [x: string]: any };\n new (props: IconProps): React.Component>;\n}\n\nexport default function (\n glyphMap: GlyphMap,\n fontName: FN,\n expoAssetId,\n fontStyle?: any\n): Icon {\n const font = { [fontName]: expoAssetId };\n const RNVIconComponent = createIconSet(glyphMap, fontName, null, fontStyle);\n\n return class Icon extends React.Component> {\n static defaultProps = RNVIconComponent.defaultProps;\n static Button = createIconButtonComponent(Icon);\n static glyphMap = glyphMap;\n static getRawGlyphMap = () => glyphMap;\n static getFontFamily = () => fontName;\n static loadFont = () => Font.loadAsync(font);\n static font = font;\n\n _mounted = false;\n _icon?: any;\n\n state = {\n fontIsLoaded: Font.isLoaded(fontName),\n };\n\n async componentDidMount() {\n this._mounted = true;\n if (!this.state.fontIsLoaded) {\n await Font.loadAsync(font);\n this._mounted && this.setState({ fontIsLoaded: true });\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n setNativeProps(props) {\n if (this._icon) {\n this._icon.setNativeProps(props);\n }\n }\n\n render() {\n if (__DEV__ && this.props.name && !(this.props.name in glyphMap)) {\n console.warn(\n `\"${this.props.name}\" is not a valid icon name for family \"${fontName}\"`\n );\n }\n\n if (!this.state.fontIsLoaded) {\n return ;\n }\n\n return (\n {\n this._icon = view;\n }}\n {...this.props}\n />\n );\n }\n };\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/513e109dba1dd3772e7c735869fb1519.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/513e109dba1dd3772e7c735869fb1519.json new file mode 100644 index 00000000..faee58a7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/513e109dba1dd3772e7c735869fb1519.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./create-icon-set\";\nexport default function createIconSetFromFontello(config, fontFamilyArg, fontFile) {\n var glyphMap = {};\n config.glyphs.forEach(function (glyph) {\n glyphMap[glyph.css] = glyph.code;\n });\n var fontFamily = fontFamilyArg || config.name || 'fontello';\n return createIconSet(glyphMap, fontFamily, fontFile || fontFamily + \".ttf\");\n}","map":{"version":3,"names":["createIconSet","createIconSetFromFontello","config","fontFamilyArg","fontFile","glyphMap","glyphs","forEach","glyph","css","code","fontFamily","name"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-set-from-fontello.js"],"sourcesContent":["import createIconSet from './create-icon-set';\n\nexport default function createIconSetFromFontello(\n config,\n fontFamilyArg,\n fontFile\n) {\n const glyphMap = {};\n config.glyphs.forEach(glyph => {\n glyphMap[glyph.css] = glyph.code;\n });\n\n const fontFamily = fontFamilyArg || config.name || 'fontello';\n\n return createIconSet(glyphMap, fontFamily, fontFile || `${fontFamily}.ttf`);\n}\n"],"mappings":"AAAA,OAAOA,aAAa;AAEpB,eAAe,SAASC,yBAAyB,CAC/CC,MAAM,EACNC,aAAa,EACbC,QAAQ,EACR;EACA,IAAMC,QAAQ,GAAG,CAAC,CAAC;EACnBH,MAAM,CAACI,MAAM,CAACC,OAAO,CAAC,UAAAC,KAAK,EAAI;IAC7BH,QAAQ,CAACG,KAAK,CAACC,GAAG,CAAC,GAAGD,KAAK,CAACE,IAAI;EAClC,CAAC,CAAC;EAEF,IAAMC,UAAU,GAAGR,aAAa,IAAID,MAAM,CAACU,IAAI,IAAI,UAAU;EAE7D,OAAOZ,aAAa,CAACK,QAAQ,EAAEM,UAAU,EAAEP,QAAQ,IAAOO,UAAU,SAAM,CAAC;AAC7E"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/52ecc8fe5168e7a444cd9cf42a8d6825.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/52ecc8fe5168e7a444cd9cf42a8d6825.json new file mode 100644 index 00000000..1e5c6248 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/52ecc8fe5168e7a444cd9cf42a8d6825.json @@ -0,0 +1 @@ +{"ast":null,"code":"var deepMap = function deepMap(obj, fn) {\n var deepMapper = function deepMapper(val) {\n return isObject(val) ? deepMap(val, fn) : fn(val);\n };\n if (Array.isArray(obj)) {\n return obj.map(deepMapper);\n }\n if (isObject(obj)) {\n return mapObject(obj, deepMapper);\n }\n return obj;\n};\nvar mapObject = function mapObject(obj, fn) {\n return Object.keys(obj).reduce(function (res, key) {\n res[key] = fn(obj[key]);\n return res;\n }, {});\n};\nvar isObject = function isObject(myVar) {\n return myVar && typeof myVar === 'object';\n};\nexport default deepMap;","map":{"version":3,"names":["deepMap","obj","fn","deepMapper","val","isObject","Array","isArray","map","mapObject","Object","keys","reduce","res","key","myVar"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-size-matters/lib/deep-map.js"],"sourcesContent":["const deepMap = (obj, fn) => {\n const deepMapper = val => (isObject(val)) ? deepMap(val, fn) : fn(val);\n if (Array.isArray(obj)) {\n return obj.map(deepMapper);\n }\n if (isObject(obj)) {\n return mapObject(obj, deepMapper);\n }\n return obj;\n};\n\nconst mapObject = (obj, fn) => Object.keys(obj).reduce(\n (res, key) => {\n res[key] = fn(obj[key]);\n return res;\n }, {});\n\nconst isObject = myVar => myVar && typeof myVar === 'object';\n\nexport default deepMap;\n"],"mappings":"AAAA,IAAMA,OAAO,GAAG,SAAVA,OAAO,CAAIC,GAAG,EAAEC,EAAE,EAAK;EACzB,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAGC,GAAG;IAAA,OAAKC,QAAQ,CAACD,GAAG,CAAC,GAAIJ,OAAO,CAACI,GAAG,EAAEF,EAAE,CAAC,GAAGA,EAAE,CAACE,GAAG,CAAC;EAAA;EACtE,IAAIE,KAAK,CAACC,OAAO,CAACN,GAAG,CAAC,EAAE;IACpB,OAAOA,GAAG,CAACO,GAAG,CAACL,UAAU,CAAC;EAC9B;EACA,IAAIE,QAAQ,CAACJ,GAAG,CAAC,EAAE;IACf,OAAOQ,SAAS,CAACR,GAAG,EAAEE,UAAU,CAAC;EACrC;EACA,OAAOF,GAAG;AACd,CAAC;AAED,IAAMQ,SAAS,GAAG,SAAZA,SAAS,CAAIR,GAAG,EAAEC,EAAE;EAAA,OAAKQ,MAAM,CAACC,IAAI,CAACV,GAAG,CAAC,CAACW,MAAM,CAClD,UAACC,GAAG,EAAEC,GAAG,EAAK;IACVD,GAAG,CAACC,GAAG,CAAC,GAAGZ,EAAE,CAACD,GAAG,CAACa,GAAG,CAAC,CAAC;IACvB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA;AAEV,IAAMR,QAAQ,GAAG,SAAXA,QAAQ,CAAGU,KAAK;EAAA,OAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ;AAAA;AAE5D,eAAef,OAAO"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/53a673449c5a216d9e1ec006e811b5ef.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/53a673449c5a216d9e1ec006e811b5ef.json new file mode 100644 index 00000000..1a37fbc9 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/53a673449c5a216d9e1ec006e811b5ef.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/FontAwesome.json\";\nvar iconSet = createIconSet(glyphMap, 'FontAwesome', 'FontAwesome.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/FontAwesome.js"],"sourcesContent":["/**\n * FontAwesome icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/FontAwesome.json';\n\nconst iconSet = createIconSet(glyphMap, 'FontAwesome', 'FontAwesome.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,aAAa,EAAE,iBAAiB,CAAC;AAEzE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/53c30023b53dfef24f6f7d05b1684239.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/53c30023b53dfef24f6f7d05b1684239.json new file mode 100644 index 00000000..bd5cad20 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/53c30023b53dfef24f6f7d05b1684239.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"name\", \"size\", \"color\", \"style\", \"children\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport React, { PureComponent } from 'react';\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport PixelRatio from \"react-native-web/dist/exports/PixelRatio\";\nimport processColor from \"react-native-web/dist/exports/processColor\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport ensureNativeModuleAvailable from \"./ensure-native-module-available\";\nimport createIconSourceCache from \"./create-icon-source-cache\";\nimport createIconButtonComponent from \"./icon-button\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var NativeIconAPI = NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\nexport var DEFAULT_ICON_SIZE = 12;\nexport var DEFAULT_ICON_COLOR = 'black';\nexport default function createIconSet(glyphMap, fontFamily, fontFile, fontStyle) {\n var fontBasename = fontFile ? fontFile.replace(/\\.(otf|ttf)$/, '') : fontFamily;\n var fontReference = Platform.select({\n windows: \"/Assets/\" + fontFile + \"#\" + fontFamily,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily\n });\n var Icon = function (_PureComponent) {\n _inherits(Icon, _PureComponent);\n var _super = _createSuper(Icon);\n function Icon() {\n var _this;\n _classCallCheck(this, Icon);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.root = null;\n _this.handleRef = function (ref) {\n _this.root = ref;\n };\n return _this;\n }\n _createClass(Icon, [{\n key: \"setNativeProps\",\n value: function setNativeProps(nativeProps) {\n if (this.root) {\n this.root.setNativeProps(nativeProps);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n name = _this$props.name,\n size = _this$props.size,\n color = _this$props.color,\n style = _this$props.style,\n children = _this$props.children,\n props = _objectWithoutProperties(_this$props, _excluded);\n var glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n var styleDefaults = {\n fontSize: size,\n color: color\n };\n var styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal'\n };\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n props.ref = this.handleRef;\n return _jsxs(Text, _objectSpread(_objectSpread({\n selectable: false\n }, props), {}, {\n children: [glyph, children]\n }));\n }\n }]);\n return Icon;\n }(PureComponent);\n Icon.defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false\n };\n var imageSourceCache = createIconSourceCache();\n function resolveGlyph(name) {\n var glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n function getImageSourceSync(name) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;\n var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;\n ensureNativeModuleAvailable();\n var glyph = resolveGlyph(name);\n var processedColor = processColor(color);\n var cacheKey = glyph + \":\" + size + \":\" + processedColor;\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n var imagePath = NativeIconAPI.getImageForFontSync(fontReference, glyph, size, processedColor);\n var value = {\n uri: imagePath,\n scale: PixelRatio.get()\n };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n function getImageSource(_x) {\n return _getImageSource.apply(this, arguments);\n }\n function _getImageSource() {\n _getImageSource = _asyncToGenerator(function* (name) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;\n var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;\n ensureNativeModuleAvailable();\n var glyph = resolveGlyph(name);\n var processedColor = processColor(color);\n var cacheKey = glyph + \":\" + size + \":\" + processedColor;\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n var imagePath = yield NativeIconAPI.getImageForFont(fontReference, glyph, size, processedColor);\n var value = {\n uri: imagePath,\n scale: PixelRatio.get()\n };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n });\n return _getImageSource.apply(this, arguments);\n }\n function loadFont() {\n return _loadFont.apply(this, arguments);\n }\n function _loadFont() {\n _loadFont = _asyncToGenerator(function* () {\n var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : fontFile;\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n yield NativeIconAPI.loadFontWithFileName.apply(NativeIconAPI, _toConsumableArray(file.split('.')));\n }\n });\n return _loadFont.apply(this, arguments);\n }\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n function getRawGlyphMap() {\n return glyphMap;\n }\n function getFontFamily() {\n return fontReference;\n }\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n return Icon;\n}","map":{"version":3,"names":["React","PureComponent","ensureNativeModuleAvailable","createIconSourceCache","createIconButtonComponent","NativeIconAPI","NativeModules","RNVectorIconsManager","RNVectorIconsModule","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","createIconSet","glyphMap","fontFamily","fontFile","fontStyle","fontBasename","replace","fontReference","Platform","select","windows","android","web","default","Icon","root","handleRef","ref","nativeProps","setNativeProps","props","name","size","color","style","children","glyph","String","fromCodePoint","styleDefaults","fontSize","styleOverrides","fontWeight","defaultProps","allowFontScaling","imageSourceCache","resolveGlyph","getImageSourceSync","processedColor","processColor","cacheKey","has","get","imagePath","getImageForFontSync","value","uri","scale","PixelRatio","setValue","error","setError","getImageSource","getImageForFont","loadFont","file","OS","Error","loadFontWithFileName","split","hasIcon","Object","prototype","hasOwnProperty","call","getRawGlyphMap","getFontFamily","Button"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-set.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {\n NativeModules,\n Platform,\n PixelRatio,\n processColor,\n Text,\n} from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\n\nexport const NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n glyphMap,\n fontFamily,\n fontFile,\n fontStyle\n) {\n // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n const fontBasename = fontFile\n ? fontFile.replace(/\\.(otf|ttf)$/, '')\n : fontFamily;\n\n const fontReference = Platform.select({\n windows: `/Assets/${fontFile}#${fontFamily}`,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily,\n });\n\n class Icon extends PureComponent {\n root = null;\n\n static defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false,\n };\n\n setNativeProps(nativeProps) {\n if (this.root) {\n this.root.setNativeProps(nativeProps);\n }\n }\n\n handleRef = ref => {\n this.root = ref;\n };\n\n render() {\n const { name, size, color, style, children, ...props } = this.props;\n\n let glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n\n const styleDefaults = {\n fontSize: size,\n color,\n };\n\n const styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal',\n };\n\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n props.ref = this.handleRef;\n\n return (\n \n {glyph}\n {children}\n \n );\n }\n }\n\n const imageSourceCache = createIconSourceCache();\n\n function resolveGlyph(name) {\n const glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n\n function getImageSourceSync(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = NativeIconAPI.getImageForFontSync(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = await NativeIconAPI.getImageForFont(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function loadFont(file = fontFile) {\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n }\n }\n\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n\n function getRawGlyphMap() {\n return glyphMap;\n }\n\n function getFontFamily() {\n return fontReference;\n }\n\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n\n return Icon;\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/5476a3d50d83a77622c10858402e23d3.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/5476a3d50d83a77622c10858402e23d3.json new file mode 100644 index 00000000..0be80dec --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/5476a3d50d83a77622c10858402e23d3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport AsyncStorage from '@react-native-async-storage/async-storage';\nexport var getFavoriteCityStorage = function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n var cityJson = yield AsyncStorage.getItem('favorite_city');\n return cityJson != null ? JSON.parse(cityJson) : null;\n } catch (e) {\n console.log(\"An error occurred\", e);\n }\n });\n return function getFavoriteCityStorage() {\n return _ref.apply(this, arguments);\n };\n}();","map":{"version":3,"names":["AsyncStorage","getFavoriteCityStorage","cityJson","getItem","JSON","parse","e","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/asyncStorange/getFavoriteCityStorage.ts"],"sourcesContent":["import AsyncStorage from '@react-native-async-storage/async-storage';\nimport { City } from '../data/stub';\nimport {FETCH_FAVORITE_CITY} from '../redux/constants';\n\nexport const getFavoriteCityStorage = async () => {\n try {\n const cityJson = await AsyncStorage.getItem('favorite_city')\n return cityJson != null ? JSON.parse(cityJson) : null;\n } catch(e) {\n console.log(\"An error occurred\", e);\n }\n}"],"mappings":";AAAA,OAAOA,YAAY,MAAM,2CAA2C;AAIpE,OAAO,IAAMC,sBAAsB;EAAA,6BAAG,aAAY;IAChD,IAAI;MACF,IAAMC,QAAQ,SAASF,YAAY,CAACG,OAAO,CAAC,eAAe,CAAC;MAC5D,OAAOD,QAAQ,IAAI,IAAI,GAAGE,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC,GAAG,IAAI;IACvD,CAAC,CAAC,OAAMI,CAAC,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,CAAC,CAAC;IACrC;EACF,CAAC;EAAA,gBAPYL,sBAAsB;IAAA;EAAA;AAAA,GAOlC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/575ef9db3f9db8cf35db201e92f2298f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/575ef9db3f9db8cf35db201e92f2298f.json new file mode 100644 index 00000000..bfd498f0 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/575ef9db3f9db8cf35db201e92f2298f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"style\", \"iconStyle\", \"children\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport React, { PureComponent } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport TouchableHighlight from \"react-native-web/dist/exports/TouchableHighlight\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { pick, omit } from \"./object-utils\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8\n },\n touchable: {\n overflow: 'hidden'\n },\n icon: {\n marginRight: 10\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent'\n }\n});\nvar IOS7_BLUE = '#007AFF';\nvar TEXT_PROP_NAMES = ['ellipsizeMode', 'numberOfLines', 'textBreakStrategy', 'selectable', 'suppressHighlighting', 'allowFontScaling', 'adjustsFontSizeToFit', 'minimumFontScale'];\nvar TOUCHABLE_PROP_NAMES = ['accessible', 'accessibilityLabel', 'accessibilityHint', 'accessibilityComponentType', 'accessibilityRole', 'accessibilityStates', 'accessibilityTraits', 'onFocus', 'onBlur', 'disabled', 'onPress', 'onPressIn', 'onPressOut', 'onLayout', 'onLongPress', 'nativeID', 'testID', 'delayPressIn', 'delayPressOut', 'delayLongPress', 'activeOpacity', 'underlayColor', 'selectionColor', 'onShowUnderlay', 'onHideUnderlay', 'hasTVPreferredFocus', 'tvParallaxProperties'];\nexport default function createIconButtonComponent(Icon) {\n var _class;\n return _class = function (_PureComponent) {\n _inherits(IconButton, _PureComponent);\n var _super = _createSuper(IconButton);\n function IconButton() {\n _classCallCheck(this, IconButton);\n return _super.apply(this, arguments);\n }\n _createClass(IconButton, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n style = _this$props.style,\n iconStyle = _this$props.iconStyle,\n children = _this$props.children,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var iconProps = pick(restProps, TEXT_PROP_NAMES, 'style', 'name', 'size', 'color');\n var touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n var props = omit(restProps, Object.keys(iconProps), Object.keys(touchableProps), 'iconStyle', 'borderRadius', 'backgroundColor');\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n var colorStyle = pick(this.props, 'color');\n var blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n return _jsx(TouchableHighlight, _objectSpread(_objectSpread({\n style: [styles.touchable, blockStyle]\n }, touchableProps), {}, {\n children: _jsxs(View, _objectSpread(_objectSpread({\n style: [styles.container, blockStyle, style]\n }, props), {}, {\n children: [_jsx(Icon, _objectSpread({}, iconProps)), typeof children === 'string' ? _jsx(Text, {\n style: [styles.text, colorStyle],\n selectable: false,\n children: children\n }) : children]\n }))\n }));\n }\n }]);\n return IconButton;\n }(PureComponent), _class.defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20\n }, _class;\n}","map":{"version":3,"names":["React","PureComponent","pick","omit","styles","StyleSheet","create","container","flexDirection","justifyContent","alignItems","padding","touchable","overflow","icon","marginRight","text","fontWeight","backgroundColor","IOS7_BLUE","TEXT_PROP_NAMES","TOUCHABLE_PROP_NAMES","createIconButtonComponent","Icon","props","style","iconStyle","children","restProps","iconProps","touchableProps","Object","keys","colorStyle","blockStyle","defaultProps","borderRadius","color","size"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/icon-button.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport { pick, omit } from './object-utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8,\n },\n touchable: {\n overflow: 'hidden',\n },\n icon: {\n marginRight: 10,\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent',\n },\n});\n\nconst IOS7_BLUE = '#007AFF';\n\nconst TEXT_PROP_NAMES = [\n 'ellipsizeMode',\n 'numberOfLines',\n 'textBreakStrategy',\n 'selectable',\n 'suppressHighlighting',\n 'allowFontScaling',\n 'adjustsFontSizeToFit',\n 'minimumFontScale',\n];\n\nconst TOUCHABLE_PROP_NAMES = [\n 'accessible',\n 'accessibilityLabel',\n 'accessibilityHint',\n 'accessibilityComponentType',\n 'accessibilityRole',\n 'accessibilityStates',\n 'accessibilityTraits',\n 'onFocus',\n 'onBlur',\n 'disabled',\n 'onPress',\n 'onPressIn',\n 'onPressOut',\n 'onLayout',\n 'onLongPress',\n 'nativeID',\n 'testID',\n 'delayPressIn',\n 'delayPressOut',\n 'delayLongPress',\n 'activeOpacity',\n 'underlayColor',\n 'selectionColor',\n 'onShowUnderlay',\n 'onHideUnderlay',\n 'hasTVPreferredFocus',\n 'tvParallaxProperties',\n];\n\nexport default function createIconButtonComponent(Icon) {\n return class IconButton extends PureComponent {\n static defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20,\n };\n\n render() {\n const { style, iconStyle, children, ...restProps } = this.props;\n\n const iconProps = pick(\n restProps,\n TEXT_PROP_NAMES,\n 'style',\n 'name',\n 'size',\n 'color'\n );\n const touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n const props = omit(\n restProps,\n Object.keys(iconProps),\n Object.keys(touchableProps),\n 'iconStyle',\n 'borderRadius',\n 'backgroundColor'\n );\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n\n const colorStyle = pick(this.props, 'color');\n const blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n\n return (\n \n \n \n {typeof children === 'string' ? (\n \n {children}\n \n ) : (\n children\n )}\n \n \n );\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAAC;AAAA;AAAA;AAAA;AAE7C,SAASC,IAAI,EAAEC,IAAI;AAAyB;AAAA;AAE5C,IAAMC,MAAM,GAAGC,UAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,YAAY;IAC5BC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAE;IACTC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJC,WAAW,EAAE;EACf,CAAC;EACDC,IAAI,EAAE;IACJC,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAEF,IAAMC,SAAS,GAAG,SAAS;AAE3B,IAAMC,eAAe,GAAG,CACtB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,CACnB;AAED,IAAMC,oBAAoB,GAAG,CAC3B,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,CACvB;AAED,eAAe,SAASC,yBAAyB,CAACC,IAAI,EAAE;EAAA;EACtD;IAAA;IAAA;IAAA;MAAA;MAAA;IAAA;IAAA;MAAA;MAAA,OAQE,kBAAS;QACP,kBAAqD,IAAI,CAACC,KAAK;UAAvDC,KAAK,eAALA,KAAK;UAAEC,SAAS,eAATA,SAAS;UAAEC,QAAQ,eAARA,QAAQ;UAAKC,SAAS;QAEhD,IAAMC,SAAS,GAAG3B,IAAI,CACpB0B,SAAS,EACTR,eAAe,EACf,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,CACR;QACD,IAAMU,cAAc,GAAG5B,IAAI,CAAC0B,SAAS,EAAEP,oBAAoB,CAAC;QAC5D,IAAMG,KAAK,GAAGrB,IAAI,CAChByB,SAAS,EACTG,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,EACtBE,MAAM,CAACC,IAAI,CAACF,cAAc,CAAC,EAC3B,WAAW,EACX,cAAc,EACd,iBAAiB,CAClB;QACDD,SAAS,CAACJ,KAAK,GAAGC,SAAS,GAAG,CAACtB,MAAM,CAACU,IAAI,EAAEY,SAAS,CAAC,GAAGtB,MAAM,CAACU,IAAI;QAEpE,IAAMmB,UAAU,GAAG/B,IAAI,CAAC,IAAI,CAACsB,KAAK,EAAE,OAAO,CAAC;QAC5C,IAAMU,UAAU,GAAGhC,IAAI,CAAC,IAAI,CAACsB,KAAK,EAAE,iBAAiB,EAAE,cAAc,CAAC;QAEtE,OACE,KAAC,kBAAkB;UACjB,KAAK,EAAE,CAACpB,MAAM,CAACQ,SAAS,EAAEsB,UAAU;QAAE,GAClCJ,cAAc;UAAA,UAElB,MAAC,IAAI;YAAC,KAAK,EAAE,CAAC1B,MAAM,CAACG,SAAS,EAAE2B,UAAU,EAAET,KAAK;UAAE,GAAKD,KAAK;YAAA,WAC3D,KAAC,IAAI,oBAAKK,SAAS,EAAI,EACtB,OAAOF,QAAQ,KAAK,QAAQ,GAC3B,KAAC,IAAI;cAAC,KAAK,EAAE,CAACvB,MAAM,CAACY,IAAI,EAAEiB,UAAU,CAAE;cAAC,UAAU,EAAE,KAAM;cAAA,UACvDN;YAAQ,EACJ,GAEPA,QACD;UAAA;QACI,GACY;MAEzB;IAAC;IAAA;EAAA,EAlD6B1B,aAAa,UACpCkC,YAAY,GAAG;IACpBjB,eAAe,EAAEC,SAAS;IAC1BiB,YAAY,EAAE,CAAC;IACfC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE;EACR,CAAC;AA8CL"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/5b3cc6ed9a03b583c062b0a6222152f8.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/5b3cc6ed9a03b583c062b0a6222152f8.json new file mode 100644 index 00000000..216b38e6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/5b3cc6ed9a03b583c062b0a6222152f8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import React from 'react';\nimport UnimplementedView from \"../../modules/UnimplementedView\";\nfunction YellowBox(props) {\n return React.createElement(UnimplementedView, props);\n}\nYellowBox.ignoreWarnings = function () {};\nexport default YellowBox;","map":{"version":3,"names":["React","UnimplementedView","YellowBox","props","createElement","ignoreWarnings"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/YellowBox/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\n\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\n\nYellowBox.ignoreWarnings = () => {};\n\nexport default YellowBox;"],"mappings":"AASA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB;AAExB,SAASC,SAAS,CAACC,KAAK,EAAE;EACxB,OAAoBH,KAAK,CAACI,aAAa,CAACH,iBAAiB,EAAEE,KAAK,CAAC;AACnE;AAEAD,SAAS,CAACG,cAAc,GAAG,YAAM,CAAC,CAAC;AAEnC,eAAeH,SAAS"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/5de3a6b198dc260d11430fd4d7eeb448.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/5de3a6b198dc260d11430fd4d7eeb448.json new file mode 100644 index 00000000..fcf6ff20 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/5de3a6b198dc260d11430fd4d7eeb448.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Feather.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Feather.json\";\nexport default createIconSet(glyphMap, 'feather', font);","map":{"version":3,"sources":["../src/Feather.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Feather.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Feather.json';\n\nexport default createIconSet(glyphMap, 'feather', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/63aa00dd76cef39c63c226a09113d519.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/63aa00dd76cef39c63c226a09113d519.json new file mode 100644 index 00000000..b684e751 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/63aa00dd76cef39c63c226a09113d519.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Octicons.json\";\nvar iconSet = createIconSet(glyphMap, 'Octicons', 'Octicons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Octicons.js"],"sourcesContent":["/**\n * Octicons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Octicons.json';\n\nconst iconSet = createIconSet(glyphMap, 'Octicons', 'Octicons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC;AAEnE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6544470f6fc28c17d6732fe10248c13f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6544470f6fc28c17d6732fe10248c13f.json new file mode 100644 index 00000000..1f9e0829 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6544470f6fc28c17d6732fe10248c13f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { TopBar } from \"../components/TopBar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport React, { useEffect } from \"react\";\nimport { getFavoriteCity } from \"../redux/actions/getFavoriteCity\";\nimport { Details } from \"../components/Details\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Home(navigation) {\n var insets = useSafeAreaInsets();\n var statusBarHeight = insets.top;\n var favoriteCity = useSelector(function (state) {\n return state.appReducer.favoriteCity;\n });\n var weather = useSelector(function (state) {\n return state.appReducer.favoriteWeather;\n });\n var dispatch = useDispatch();\n useEffect(function () {\n var loadFavoriteCity = function () {\n var _ref = _asyncToGenerator(function* () {\n yield dispatch(getFavoriteCity());\n });\n return function loadFavoriteCity() {\n return _ref.apply(this, arguments);\n };\n }();\n loadFavoriteCity();\n }, [dispatch]);\n return _jsxs(View, {\n style: {\n alignItems: \"center\",\n width: \"100%\"\n },\n children: [_jsx(TopBar, {}), function () {\n if (weather != null) {\n return _jsx(Details, {\n weather: weather\n });\n } else {\n return _jsx(Text, {\n style: leStyle.text,\n children: \"Pas de city\"\n });\n }\n }()]\n });\n}\nvar leStyle = StyleSheet.create({\n container: {\n alignItems: 'center'\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n marginLeft: 7\n }\n});","map":{"version":3,"names":["useSafeAreaInsets","TopBar","useDispatch","useSelector","React","useEffect","getFavoriteCity","Details","Home","navigation","insets","statusBarHeight","top","favoriteCity","state","appReducer","weather","favoriteWeather","dispatch","loadFavoriteCity","alignItems","width","leStyle","text","StyleSheet","create","container","fontWeight","fontStyle","fontSize","alignSelf","marginLeft"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/screens/Home.tsx"],"sourcesContent":["import { View, Text, StyleSheet, ImageBackground } from \"react-native\"\nimport { FlatList } from \"react-native-gesture-handler\"\nimport { City, Weather } from \"../data/stub\"\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { VilleCompopo } from \"../components/VilleCompopo\";\nimport { TopBar } from \"../components/TopBar\";\nimport CityDetails from \"./CityDetails\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport React, { useEffect } from \"react\";\nimport { getFavoriteCity } from \"../redux/actions/getFavoriteCity\";\nimport { Details } from \"../components/Details\";\nimport { getWeather } from \"../redux/actions/getWeather\";\n\n\nexport default function Home(navigation){\n\n \n const insets = useSafeAreaInsets();\n const statusBarHeight = insets.top;\n\n const favoriteCity: City | null = useSelector(state => state.appReducer.favoriteCity);\n const weather: Weather | null = useSelector(state => state.appReducer.favoriteWeather);\n\n\n const dispatch = useDispatch();\n \n useEffect(() => {\n const loadFavoriteCity = async () => {\n await dispatch(getFavoriteCity());\n };\n loadFavoriteCity();\n }, [dispatch]);\n\n return (\n \n \n {(() => {\n if (weather != null){\n return (\n
\n )\n }\n else{\n return(\n Pas de city\n )\n }\n })()}\n \n )\n}\n\n\nconst leStyle = StyleSheet.create({\n container: {\n alignItems: 'center',\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n marginLeft: 7\n },\n});"],"mappings":";;;;AAGA,SAASA,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,MAAM;AAEf,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,eAAe;AACxB,SAASC,OAAO;AAAgC;AAAA;AAIhD,eAAe,SAASC,IAAI,CAACC,UAAU,EAAC;EAGpC,IAAMC,MAAM,GAAGV,iBAAiB,EAAE;EAClC,IAAMW,eAAe,GAAGD,MAAM,CAACE,GAAG;EAElC,IAAMC,YAAyB,GAAGV,WAAW,CAAC,UAAAW,KAAK;IAAA,OAAIA,KAAK,CAACC,UAAU,CAACF,YAAY;EAAA,EAAC;EACrF,IAAMG,OAAuB,GAAGb,WAAW,CAAC,UAAAW,KAAK;IAAA,OAAIA,KAAK,CAACC,UAAU,CAACE,eAAe;EAAA,EAAC;EAGtF,IAAMC,QAAQ,GAAGhB,WAAW,EAAE;EAE9BG,SAAS,CAAC,YAAM;IACd,IAAMc,gBAAgB;MAAA,6BAAG,aAAY;QACnC,MAAMD,QAAQ,CAACZ,eAAe,EAAE,CAAC;MACnC,CAAC;MAAA,gBAFKa,gBAAgB;QAAA;MAAA;IAAA,GAErB;IACDA,gBAAgB,EAAE;EACpB,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;EAEd,OACI,MAAC,IAAI;IAAC,KAAK,EAAE;MAACE,UAAU,EAAE,QAAQ;MAAEC,KAAK,EAAE;IAAM,CAAE;IAAA,WAC/C,KAAC,MAAM,KAAE,EACP,YAAM;MACN,IAAIL,OAAO,IAAI,IAAI,EAAC;QAClB,OACI,KAAC,OAAO;UAAC,OAAO,EAAEA;QAAQ,EAAE;MAElC,CAAC,MACG;QACF,OACI,KAAC,IAAI;UAAC,KAAK,EAAEM,OAAO,CAACC,IAAK;UAAA,UAAC;QAAW,EAAO;MAEnD;IACF,CAAC,EAAG;EAAA,EACD;AAEf;AAGA,IAAMD,OAAO,GAAGE,UAAU,CAACC,MAAM,CAAC;EAC9BC,SAAS,EAAE;IACPN,UAAU,EAAE;EAChB,CAAC;EACDG,IAAI,EAAE;IACJI,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EAChB;AACF,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/675ec9dd67837a172260711e3c84f16d.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/675ec9dd67837a172260711e3c84f16d.json new file mode 100644 index 00000000..c9053379 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/675ec9dd67837a172260711e3c84f16d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/MaterialCommunityIcons.json\";\nexport default createIconSet(glyphMap, 'material-community', font);","map":{"version":3,"sources":["../src/MaterialCommunityIcons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/MaterialCommunityIcons.json';\n\nexport default createIconSet(glyphMap, 'material-community', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6870afe4b037bff58bc0ac1e19042319.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6870afe4b037bff58bc0ac1e19042319.json new file mode 100644 index 00000000..9081e91b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6870afe4b037bff58bc0ac1e19042319.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from 'react';\nimport { Asset } from \"./Asset\";\nexport function useAssets(moduleIds) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n assets = _useState2[0],\n setAssets = _useState2[1];\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n useEffect(function () {\n Asset.loadAsync(moduleIds).then(setAssets).catch(setError);\n }, []);\n return [assets, error];\n}","map":{"version":3,"sources":["../src/AssetHooks.ts"],"names":[],"mappings":";AAAA,SAAS,SAAS,EAAE,QAAQ,QAAQ,OAAO;AAE3C,SAAS,KAAK;AAuBd,OAAM,SAAU,SAAS,CAAC,SAA4B,EAAA;EACpD,gBAA4B,QAAQ,EAAW;IAAA;IAAxC,MAAM;IAAE,SAAS;EACxB,iBAA0B,QAAQ,EAAS;IAAA;IAApC,KAAK;IAAE,QAAQ;EAEtB,SAAS,CAAC,YAAK;IACb,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;EAC5D,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACxB","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { Asset } from './Asset';\n\n// @needsAudit\n/**\n * Downloads and stores one or more assets locally.\n * After the assets are loaded, this hook returns a list of asset instances.\n * If something went wrong when loading the assets, an error is returned.\n *\n * > Note, the assets are not \"reloaded\" when you dynamically change the asset list.\n *\n * @return Returns an array containing:\n * - on the first position, a list of all loaded assets. If they aren't loaded yet, this value is\n * `undefined`.\n * - on the second position, an error which encountered when loading the assets. If there was no\n * error, this value is `undefined`.\n *\n * @example\n * ```tsx\n * const [assets, error] = useAssets([require('path/to/asset.jpg'), require('path/to/other.png')]);\n *\n * return assets ? : null;\n * ```\n */\nexport function useAssets(moduleIds: number | number[]): [Asset[] | undefined, Error | undefined] {\n const [assets, setAssets] = useState();\n const [error, setError] = useState();\n\n useEffect(() => {\n Asset.loadAsync(moduleIds).then(setAssets).catch(setError);\n }, []);\n\n return [assets, error];\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6a6272612ae4600a3aa01f370d39c44a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6a6272612ae4600a3aa01f370d39c44a.json new file mode 100644 index 00000000..20ed58c2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6a6272612ae4600a3aa01f370d39c44a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getFilename } from \"./AssetUris\";\nexport function isImageType(type) {\n return /^(jpeg|jpg|gif|png|bmp|webp|heic)$/i.test(type);\n}\nexport function getImageInfoAsync(url) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onerror = reject;\n img.onload = function () {\n resolve({\n name: getFilename(url),\n width: img.naturalWidth,\n height: img.naturalHeight\n });\n };\n img.src = url;\n });\n}","map":{"version":3,"sources":["../src/ImageAssets.ts"],"names":[],"mappings":"AACA,SAAS,WAAW;AAQpB,OAAM,SAAU,WAAW,CAAC,IAAY,EAAA;EACtC,OAAO,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD;AAEA,OAAM,SAAU,iBAAiB,CAAC,GAAW,EAAA;EAC3C,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM,EAAI;IACrC,IAAM,GAAG,GAAG,IAAI,KAAK,EAAE;IACvB,GAAG,CAAC,OAAO,GAAG,MAAM;IACpB,GAAG,CAAC,MAAM,GAAG,YAAK;MAChB,OAAO,CAAC;QACN,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,GAAG,CAAC,YAAY;QACvB,MAAM,EAAE,GAAG,CAAC;OACb,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,GAAG,GAAG,GAAG;EACf,CAAC,CAAC;AACJ","sourcesContent":["/* eslint-env browser */\nimport { getFilename } from './AssetUris';\n\ntype ImageInfo = {\n name: string;\n width: number;\n height: number;\n};\n\nexport function isImageType(type: string): boolean {\n return /^(jpeg|jpg|gif|png|bmp|webp|heic)$/i.test(type);\n}\n\nexport function getImageInfoAsync(url: string): Promise {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onerror = reject;\n img.onload = () => {\n resolve({\n name: getFilename(url),\n width: img.naturalWidth,\n height: img.naturalHeight,\n });\n };\n img.src = url;\n });\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6b4f5ac6f90dddb5a0f54d06e0e9b884.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6b4f5ac6f90dddb5a0f54d06e0e9b884.json new file mode 100644 index 00000000..1980dc2a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6b4f5ac6f90dddb5a0f54d06e0e9b884.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default {};","map":{"version":3,"names":[],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Systrace/index.js"],"sourcesContent":["export default {};"],"mappings":"AAAA,eAAe,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6cb78e4e519bbbfd0ef3ed7f8b4510de.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6cb78e4e519bbbfd0ef3ed7f8b4510de.json new file mode 100644 index 00000000..5ad00393 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6cb78e4e519bbbfd0ef3ed7f8b4510de.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nvar NativeIconAPI = NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n if (Platform.OS === 'android') {\n throw new Error('RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.');\n }\n throw new Error('RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.');\n }\n}","map":{"version":3,"names":["NativeIconAPI","NativeModules","RNVectorIconsManager","RNVectorIconsModule","ensureNativeModuleAvailable","Platform","OS","Error"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/ensure-native-module-available.js"],"sourcesContent":["import { Platform, NativeModules } from 'react-native';\n\nconst NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n if (Platform.OS === 'android') {\n throw new Error(\n 'RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n throw new Error(\n 'RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n}\n"],"mappings":";;AAEA,IAAMA,aAAa,GACjBC,aAAa,CAACC,oBAAoB,IAAID,aAAa,CAACE,mBAAmB;AAEzE,eAAe,SAASC,2BAA2B,GAAG;EACpD,IAAI,CAACJ,aAAa,EAAE;IAClB,IAAIK,QAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM,IAAIC,KAAK,CACb,sJAAsJ,CACvJ;IACH;IACA,MAAM,IAAIA,KAAK,CACb,0LAA0L,CAC3L;EACH;AACF"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6d20b71ffb33e93f6abd71a72a778321.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6d20b71ffb33e93f6abd71a72a778321.json new file mode 100644 index 00000000..cf4f350e --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6d20b71ffb33e93f6abd71a72a778321.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\nimport * as React from 'react';\nimport View from \"../View\";\nimport StyleSheet from \"../StyleSheet\";\nimport canUseDOM from \"../../modules/canUseDom\";\nvar ModalContent = React.forwardRef(function (props, forwardedRef) {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n React.useEffect(function () {\n if (canUseDOM) {\n var closeOnEscape = function closeOnEscape(e) {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return function () {\n return document.removeEventListener('keyup', closeOnEscape, false);\n };\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(function () {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return React.createElement(View, _extends({}, rest, {\n accessibilityModal: true,\n accessibilityRole: active ? 'dialog' : null,\n ref: forwardedRef,\n style: style\n }), React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","View","StyleSheet","canUseDOM","ModalContent","forwardRef","props","forwardedRef","active","children","onRequestClose","transparent","rest","useEffect","closeOnEscape","e","key","stopPropagation","document","addEventListener","removeEventListener","style","useMemo","styles","modal","modalTransparent","modalOpaque","createElement","accessibilityModal","accessibilityRole","ref","container","create","position","top","right","bottom","left","backgroundColor","flex"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Modal/ModalContent.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport View from '../View';\nimport StyleSheet from '../StyleSheet';\nimport canUseDOM from '../../modules/canUseDom';\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n accessibilityModal: true,\n accessibilityRole: active ? 'dialog' : null,\n ref: forwardedRef,\n style: style\n }), /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC;AAWvE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI;AACX,OAAOC,UAAU;AACjB,OAAOC,SAAS;AAChB,IAAIC,YAAY,GAAgBJ,KAAK,CAACK,UAAU,CAAC,UAACC,KAAK,EAAEC,YAAY,EAAK;EACxE,IAAIC,MAAM,GAAGF,KAAK,CAACE,MAAM;IACrBC,QAAQ,GAAGH,KAAK,CAACG,QAAQ;IACzBC,cAAc,GAAGJ,KAAK,CAACI,cAAc;IACrCC,WAAW,GAAGL,KAAK,CAACK,WAAW;IAC/BC,IAAI,GAAGd,6BAA6B,CAACQ,KAAK,EAAEP,SAAS,CAAC;EAE1DC,KAAK,CAACa,SAAS,CAAC,YAAM;IACpB,IAAIV,SAAS,EAAE;MACb,IAAIW,aAAa,GAAG,SAAhBA,aAAa,CAAGC,CAAC,EAAI;QACvB,IAAIP,MAAM,IAAIO,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;UAChCD,CAAC,CAACE,eAAe,EAAE;UAEnB,IAAIP,cAAc,EAAE;YAClBA,cAAc,EAAE;UAClB;QACF;MACF,CAAC;MAEDQ,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEL,aAAa,EAAE,KAAK,CAAC;MACxD,OAAO;QAAA,OAAMI,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEN,aAAa,EAAE,KAAK,CAAC;MAAA;IAC1E;EACF,CAAC,EAAE,CAACN,MAAM,EAAEE,cAAc,CAAC,CAAC;EAC5B,IAAIW,KAAK,GAAGrB,KAAK,CAACsB,OAAO,CAAC,YAAM;IAC9B,OAAO,CAACC,MAAM,CAACC,KAAK,EAAEb,WAAW,GAAGY,MAAM,CAACE,gBAAgB,GAAGF,MAAM,CAACG,WAAW,CAAC;EACnF,CAAC,EAAE,CAACf,WAAW,CAAC,CAAC;EACjB,OAAoBX,KAAK,CAAC2B,aAAa,CAAC1B,IAAI,EAAEJ,QAAQ,CAAC,CAAC,CAAC,EAAEe,IAAI,EAAE;IAC/DgB,kBAAkB,EAAE,IAAI;IACxBC,iBAAiB,EAAErB,MAAM,GAAG,QAAQ,GAAG,IAAI;IAC3CsB,GAAG,EAAEvB,YAAY;IACjBc,KAAK,EAAEA;EACT,CAAC,CAAC,EAAerB,KAAK,CAAC2B,aAAa,CAAC1B,IAAI,EAAE;IACzCoB,KAAK,EAAEE,MAAM,CAACQ;EAChB,CAAC,EAAEtB,QAAQ,CAAC,CAAC;AACf,CAAC,CAAC;AACF,IAAIc,MAAM,GAAGrB,UAAU,CAAC8B,MAAM,CAAC;EAC7BR,KAAK,EAAE;IACLS,QAAQ,EAAE,OAAO;IACjBC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE;EACR,CAAC;EACDZ,gBAAgB,EAAE;IAChBa,eAAe,EAAE;EACnB,CAAC;EACDZ,WAAW,EAAE;IACXY,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTG,GAAG,EAAE,CAAC;IACNK,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AACF,eAAenC,YAAY"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/6fcf749cc9ae44677ac6ef6dd91a4d92.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/6fcf749cc9ae44677ac6ef6dd91a4d92.json new file mode 100644 index 00000000..3547cdb3 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/6fcf749cc9ae44677ac6ef6dd91a4d92.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from \"../../modules/AccessibilityUtil\";\nimport BoundingDimensions from \"./BoundingDimensions\";\nimport findNodeHandle from \"../findNodeHandle\";\nimport normalizeColor from 'normalize-css-color';\nimport Position from \"./Position\";\nimport React from 'react';\nimport UIManager from \"../UIManager\";\nimport View from \"../View\";\nvar extractSingleTouch = function extractSingleTouch(nativeEvent) {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;\n};\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n ERROR: 'ERROR'\n};\nvar baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false\n};\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\nvar Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'\n};\nvar Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER\n }\n};\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar LONG_PRESS_ALLOWED_MOVEMENT = 10;\nvar TouchableMixin = {\n componentDidMount: function componentDidMount() {\n var _this = this;\n this._touchableNode = findNodeHandle(this);\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableBlurListener = function (e) {\n if (_this._isTouchableKeyboardActive) {\n if (_this.state.touchable.touchState && _this.state.touchable.touchState !== States.NOT_RESPONDER) {\n _this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n _this._isTouchableKeyboardActive = false;\n }\n };\n this._touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n componentWillUnmount: function componentWillUnmount() {\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\n this._touchableNode = null;\n },\n touchableGetInitialState: function touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n responderID: null\n }\n };\n },\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var dispatchID = e.currentTarget;\n e.persist();\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n var curState = this.state.touchable.touchState;\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\n },\n touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\n },\n _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n if (tag == null) {\n return;\n }\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate && BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY);\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX: pageX,\n pageY: pageY,\n locationX: locationX,\n locationY: locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n var newIsHighlight = this._isHighlight(nextState);\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (!hasLongPressHandler || !this.touchableLongPressCancelsPress());\n var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n this._endHighlight(e);\n }\n this.touchableHandlePress(e);\n }\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n var _this2 = this;\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(function () {\n _this2.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n e.stopPropagation();\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n renderDebugView: function renderDebugView(_ref) {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n var normalizedColor = normalizeColor(color);\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;","map":{"version":3,"names":["_objectWithoutPropertiesLoose","_objectSpread","AccessibilityUtil","BoundingDimensions","findNodeHandle","normalizeColor","Position","React","UIManager","View","extractSingleTouch","nativeEvent","touches","changedTouches","hasTouches","length","hasChangedTouches","States","NOT_RESPONDER","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","ERROR","baseStatesConditions","IsActive","IsPressingIn","IsLongPressingIn","Signals","DELAY","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","LONG_PRESS_DETECTED","Transitions","error","HIGHLIGHT_DELAY_MS","PRESS_EXPAND_PX","LONG_PRESS_THRESHOLD","LONG_PRESS_DELAY_MS","LONG_PRESS_ALLOWED_MOVEMENT","TouchableMixin","componentDidMount","_touchableNode","addEventListener","_touchableBlurListener","e","_isTouchableKeyboardActive","state","touchable","touchState","touchableHandleResponderTerminate","componentWillUnmount","removeEventListener","touchableDelayTimeout","clearTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","undefined","touchableHandleResponderTerminationRequest","props","rejectResponderTermination","touchableHandleStartShouldSetResponder","disabled","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","currentTarget","persist","_receiveSignal","delayMS","touchableGetHighlightDelayMS","Math","max","isNaN","setTimeout","_handleDelay","bind","longDelayMS","touchableGetLongPressDelayMS","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","left","right","top","bottom","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","touch","pageX","pageY","movedDistance","_getDistanceBetweenPoints","_cancelLongPressDelayTimeout","isTouchWithinActive","width","height","prevState","curState","touchableHandleFocus","onFocus","touchableHandleBlur","onBlur","_remeasureMetricsOnActivation","tag","measure","_handleQueryLayout","l","t","w","h","globalX","globalY","release","getPooled","console","signal","nextState","Error","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","locationX","locationY","aX","aY","bX","bY","deltaX","deltaY","sqrt","curIsHighlight","newIsHighlight","isFinalSignal","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","onLongPress","pressIsLongButStillCallOnPress","shouldInvokePress","touchableHandlePress","_playTouchSound","playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","type","key","stopPropagation","propsToAriaRole","preventDefault","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","_ref","color","process","env","NODE_ENV","debugHitSlopStyle","normalizedColor","hexColor","toString","substr","createElement","pointerEvents","style","position","borderColor","slice","borderWidth","borderStyle","backgroundColor"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Touchable/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport BoundingDimensions from './BoundingDimensions';\nimport findNodeHandle from '../findNodeHandle';\nimport normalizeColor from 'normalize-css-color';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\n\nvar extractSingleTouch = nativeEvent => {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;\n};\n/**\n * `Touchable`: Taps done right.\n *\n * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`\n * will measure time/geometry and tells you when to give feedback to the user.\n *\n * ====================== Touchable Tutorial ===============================\n * The `Touchable` mixin helps you handle the \"press\" interaction. It analyzes\n * the geometry of elements, and observes when another responder (scroll view\n * etc) has stolen the touch lock. It notifies your component when it should\n * give feedback to the user. (bouncing/highlighting/unhighlighting).\n *\n * - When a touch was activated (typically you highlight)\n * - When a touch was deactivated (typically you unhighlight)\n * - When a touch was \"pressed\" - a touch ended while still within the geometry\n * of the element, and no other element (like scroller) has \"stolen\" touch\n * lock (\"responder\") (Typically you bounce the element).\n *\n * A good tap interaction isn't as simple as you might think. There should be a\n * slight delay before showing a highlight when starting a touch. If a\n * subsequent touch move exceeds the boundary of the element, it should\n * unhighlight, but if that same touch is brought back within the boundary, it\n * should rehighlight again. A touch can move in and out of that boundary\n * several times, each time toggling highlighting, but a \"press\" is only\n * triggered if that touch ends while within the element's boundary and no\n * scroller (or anything else) has stolen the lock on touches.\n *\n * To create a new type of component that handles interaction using the\n * `Touchable` mixin, do the following:\n *\n * - Initialize the `Touchable` state.\n *\n * getInitialState: function() {\n * return merge(this.touchableGetInitialState(), yourComponentState);\n * }\n *\n * - Choose the rendered component who's touches should start the interactive\n * sequence. On that rendered node, forward all `Touchable` responder\n * handlers. You can choose any rendered node you like. Choose a node whose\n * hit target you'd like to instigate the interaction sequence:\n *\n * // In render function:\n * return (\n * \n * \n * Even though the hit detection/interactions are triggered by the\n * wrapping (typically larger) node, we usually end up implementing\n * custom logic that highlights this inner one.\n * \n * \n * );\n *\n * - You may set up your own handlers for each of these events, so long as you\n * also invoke the `touchable*` handlers inside of your custom handler.\n *\n * - Implement the handlers on your component class in order to provide\n * feedback to the user. See documentation for each of these class methods\n * that you should implement.\n *\n * touchableHandlePress: function() {\n * this.performBounceAnimation(); // or whatever you want to do.\n * },\n * touchableHandleActivePressIn: function() {\n * this.beginHighlighting(...); // Whatever you like to convey activation\n * },\n * touchableHandleActivePressOut: function() {\n * this.endHighlighting(...); // Whatever you like to convey deactivation\n * },\n *\n * - There are more advanced methods you can implement (see documentation below):\n * touchableGetHighlightDelayMS: function() {\n * return 20;\n * }\n * // In practice, *always* use a predeclared constant (conserve memory).\n * touchableGetPressRectOffset: function() {\n * return {top: 20, left: 20, right: 20, bottom: 100};\n * }\n */\n\n/**\n * Touchable states.\n */\n\n\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR'\n};\n\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\nvar baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false\n};\n\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\n/**\n * Quick lookup for states that are considered to be \"pressing\" and are\n * therefore eligible to result in a \"selection\" if the press stops.\n */\n\n\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n/**\n * Inputs to the state machine.\n */\n\n\nvar Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'\n};\n\n/**\n * Mapping from States x Signals => States\n */\nvar Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER\n }\n}; // ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\n\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar LONG_PRESS_ALLOWED_MOVEMENT = 10; // Default amount \"active\" region protrudes beyond box\n\n/**\n * By convention, methods prefixed with underscores are meant to be @private,\n * and not @protected. Mixers shouldn't access them - not even to provide them\n * as callback handlers.\n *\n *\n * ========== Geometry =========\n * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * +--------------------------+\n * | | - \"Start\" events in `HitRect` cause `HitRect`\n * | +--------------------+ | to become the responder.\n * | | +--------------+ | | - `HitRect` is typically expanded around\n * | | | | | | the `VisualRect`, but shifted downward.\n * | | | VisualRect | | | - After pressing down, after some delay,\n * | | | | | | and before letting up, the Visual React\n * | | +--------------+ | | will become \"active\". This makes it eligible\n * | | HitRect | | for being highlighted (so long as the\n * | +--------------------+ | press remains in the `PressRect`).\n * | PressRect o |\n * +----------------------|---+\n * Out Region |\n * +-----+ This gap between the `HitRect` and\n * `PressRect` allows a touch to move far away\n * from the original hit rect, and remain\n * highlighted, and eligible for a \"Press\".\n * Customize this via\n * `touchableGetPressRectOffset()`.\n *\n *\n *\n * ======= State Machine =======\n *\n * +-------------+ <---+ RESPONDER_RELEASE\n * |NOT_RESPONDER|\n * +-------------+ <---+ RESPONDER_TERMINATED\n * +\n * | RESPONDER_GRANT (HitRect)\n * v\n * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+\n * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|\n * +---------------------------+ +-------------------------+ +------------------------------+\n * + ^ + ^ + ^\n * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_\n * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT\n * | | | | | |\n * v + v + v +\n * +----------------------------+ DELAY +--------------------------+ +-------------------------------+\n * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|\n * +----------------------------+ +--------------------------+ +-------------------------------+\n *\n * T + DELAY => LONG_PRESS_DELAY_MS + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the `touchableHandlePress` abstract method invocation that occurs\n * when a responder is released while in either of the \"Press\" states.\n *\n * The other important side effects are the highlight abstract method\n * invocations (internal callbacks) to be implemented by the mixer.\n *\n *\n * @lends Touchable.prototype\n */\n\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n this._touchableNode = findNodeHandle(this);\n\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableBlurListener = e => {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n\n this._isTouchableKeyboardActive = false;\n }\n };\n\n this._touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); // Clear DOM nodes\n\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\n this._touchableNode = null;\n },\n\n /**\n * It's prefer that mixins determine state in this way, having the class\n * explicitly mix the state in the one and only `getInitialState` method.\n *\n * @return {object} State object to be placed inside of\n * `this.state.touchable`.\n */\n touchableGetInitialState: function touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n responderID: null\n }\n };\n },\n // ==== Hooks to Gesture Responder system ====\n\n /**\n * Must return true if embedded in a native platform scroll view.\n */\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n\n /**\n * Must return true to start the process of `Touchable`.\n */\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {SyntheticEvent} e Synthetic event from event system.\n *\n */\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var dispatchID = e.currentTarget; // Since e is used in a callback invoked on another event loop\n // (as in setTimeout etc), we need to call e.persist() on the\n // event to make sure it doesn't get reused in the event object pool.\n\n e.persist();\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\n\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n\n var curState = this.state.touchable.touchState;\n\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\n // fix for t7967420\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n\n /**\n * Invoked when the item receives focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * currently has the focus. Most platforms only support a single element being\n * focused at a time, in which case there may have been a previously focused\n * element that was blurred just prior to this. This can be overridden when\n * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\n },\n\n /**\n * Invoked when the item loses focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * no longer has focus. Most platforms only support a single element being\n * focused at a time, in which case the focus may have moved to another.\n * This can be overridden when using\n * `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\n },\n // ==== Abstract Application Callbacks ====\n\n /**\n * Invoked when the item should be highlighted. Mixers should implement this\n * to visually distinguish the `VisualRect` so that the user knows that\n * releasing a touch will result in a \"selection\" (analog to click).\n *\n * @abstract\n * touchableHandleActivePressIn: function,\n */\n\n /**\n * Invoked when the item is \"active\" (in that it is still eligible to become\n * a \"select\") but the touch has left the `PressRect`. Usually the mixer will\n * want to unhighlight the `VisualRect`. If the user (while pressing) moves\n * back into the `PressRect` `touchableHandleActivePressIn` will be invoked\n * again and the mixer should probably highlight the `VisualRect` again. This\n * event will not fire on an `touchEnd/mouseUp` event, only move events while\n * the user is depressing the mouse/touch.\n *\n * @abstract\n * touchableHandleActivePressOut: function\n */\n\n /**\n * Invoked when the item is \"selected\" - meaning the interaction ended by\n * letting up while the item was either in the state\n * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.\n *\n * @abstract\n * touchableHandlePress: function\n */\n\n /**\n * Invoked when the item is long pressed - meaning the interaction ended by\n * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If\n * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will\n * be called as it normally is. If `touchableHandleLongPress` is provided, by\n * default any `touchableHandlePress` callback will not be invoked. To\n * override this default behavior, override `touchableLongPressCancelsPress`\n * to return false. As a result, `touchableHandlePress` will be called when\n * lifting up, even if `touchableHandleLongPress` has also been called.\n *\n * @abstract\n * touchableHandleLongPress: function\n */\n\n /**\n * Returns the number of millis to wait before triggering a highlight.\n *\n * @abstract\n * touchableGetHighlightDelayMS: function\n */\n\n /**\n * Returns the amount to extend the `HitRect` into the `PressRect`. Positive\n * numbers mean the size expands outwards.\n *\n * @abstract\n * touchableGetPressRectOffset: function\n */\n // ==== Internal Logic ====\n\n /**\n * Measures the `HitRect` node on activation. The Bounding rectangle is with\n * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`\n * should result in points that are in the same coordinate system as an\n * event's `globalX/globalY` data values.\n *\n * - Consider caching this for the lifetime of the component, or possibly\n * being able to share this cache between any `ScrollMap` view.\n *\n * @sideeffects\n * @private\n */\n _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n\n if (tag == null) {\n return;\n }\n\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\n //don't do anything UIManager failed to measure node\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n\n this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate && // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY); // $FlowFixMe\n\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n *\n * @param {Signals} signal State machine signal.\n * @throws Error if invalid state transition or unrecognized signal.\n * @sideeffects\n */\n _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX,\n pageY,\n locationX,\n locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n\n /**\n * Will perform a transition between touchable states, and identify any\n * highlighting or unhighlighting that must be performed for this particular\n * transition.\n *\n * @param {States} curState Current Touchable state.\n * @param {States} nextState Next Touchable state.\n * @param {Signal} signal Signal that triggered the transition.\n * @param {Event} e Native event.\n * @sideeffects\n */\n _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n\n var newIsHighlight = this._isHighlight(nextState);\n\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && ( // We *are* long pressing.. // But either has no long handler\n !hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n // we never highlighted because of delay, but we should highlight now\n this._startHighlight(e);\n\n this._endHighlight(e);\n }\n\n this.touchableHandlePress(e);\n }\n }\n\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n // HACK (part 2): basic support for touchable interactions using a keyboard (including\n // delays and longPress)\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n\n e.stopPropagation(); // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\n/**\n * Provide an optional version of the mixin where `touchableHandleFocus` and\n * `touchableHandleBlur` can be overridden. This allows appropriate defaults to\n * be set on TV platforms, without breaking existing implementations of\n * `Touchable`.\n */\n\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\n\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\n\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: _ref => {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n\n var normalizedColor = normalizeColor(color);\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n // More opaque\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/718a8f80e33ac69a5c4ecb72c81260d4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/718a8f80e33ac69a5c4ecb72c81260d4.json new file mode 100644 index 00000000..c19fec45 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/718a8f80e33ac69a5c4ecb72c81260d4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { FETCH_WEATHER_SEARCHED } from \"../constants\";\nexport var setWeatherSearched = function setWeatherSearched(weather) {\n return {\n type: FETCH_WEATHER_SEARCHED,\n payload: weather\n };\n};","map":{"version":3,"names":["FETCH_WEATHER_SEARCHED","setWeatherSearched","weather","type","payload"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/setWeatherSearched.ts"],"sourcesContent":["import { Weather } from \"../../data/stub\";\nimport { FETCH_WEATHER, FETCH_WEATHER_SEARCHED } from \"../constants\";\n\nexport const setWeatherSearched = (weather: Weather[]) => {\n return {\n type: FETCH_WEATHER_SEARCHED,\n payload: weather,\n };\n }"],"mappings":"AACA,SAAwBA,sBAAsB;AAE9C,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,OAAkB,EAAK;EACtD,OAAO;IACLC,IAAI,EAAEH,sBAAsB;IAC5BI,OAAO,EAAEF;EACX,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/72fdd1d7e6cdc09ca461733efd19c635.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/72fdd1d7e6cdc09ca461733efd19c635.json new file mode 100644 index 00000000..51a93567 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/72fdd1d7e6cdc09ca461733efd19c635.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Foundation.json\";\nvar iconSet = createIconSet(glyphMap, 'fontcustom', 'Foundation.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Foundation.js"],"sourcesContent":["/**\n * Foundation icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Foundation.json';\n\nconst iconSet = createIconSet(glyphMap, 'fontcustom', 'Foundation.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC;AAEvE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/76508089246c415583b824cdc00bfee4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/76508089246c415583b824cdc00bfee4.json new file mode 100644 index 00000000..75f2f5f7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/76508089246c415583b824cdc00bfee4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/MaterialCommunityIcons.json\";\nvar iconSet = createIconSet(glyphMap, 'Material Design Icons', 'MaterialCommunityIcons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/MaterialCommunityIcons.js"],"sourcesContent":["/**\n * MaterialCommunityIcons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/MaterialCommunityIcons.json';\n\nconst iconSet = createIconSet(glyphMap, 'Material Design Icons', 'MaterialCommunityIcons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,uBAAuB,EAAE,4BAA4B,CAAC;AAE9F,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/7668fae12588c0f1e7da21eba8d7b2db.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/7668fae12588c0f1e7da21eba8d7b2db.json new file mode 100644 index 00000000..36f54817 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/7668fae12588c0f1e7da21eba8d7b2db.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React from \"react\";\nimport View from \"react-native-web/dist/exports/View\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport TouchableHighlight from \"react-native-web/dist/exports/TouchableHighlight\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { useDispatch } from \"react-redux\";\nimport { addFavoriteCity } from \"../redux/actions/addFavoriteCity\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function VilleCompopo(props) {\n var dispatch = useDispatch();\n function changeFavoriteCity(_x, _x2) {\n return _changeFavoriteCity.apply(this, arguments);\n }\n function _changeFavoriteCity() {\n _changeFavoriteCity = _asyncToGenerator(function* (city, already) {\n if (already) {\n city = null;\n }\n dispatch(addFavoriteCity(city));\n });\n return _changeFavoriteCity.apply(this, arguments);\n }\n var isFavorite = props.fav != null && props.weather.city.longitude === props.fav.longitude && props.weather.city.latitude === props.fav.latitude;\n return _jsx(View, {\n style: styles.container,\n children: _jsxs(View, {\n style: {\n flex: 1,\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n },\n children: [_jsxs(View, {\n style: styles.bothtext,\n children: [_jsx(Text, {\n style: styles.title,\n children: props.weather.city.name\n }), _jsxs(Text, {\n children: [props.weather.city.latitude, \" - \", props.weather.city.longitude]\n })]\n }), _jsxs(View, {\n style: {\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n children: [_jsx(Text, {\n style: styles.title,\n children: props.weather.temperature\n }), _jsx(TouchableHighlight, {\n onPress: function onPress() {\n return changeFavoriteCity(props.weather.city, isFavorite);\n },\n children: _jsx(Image, {\n source: isFavorite ? require(\"../assets/yellowstar.png\") : require(\"../assets/blackstar.png\"),\n style: styles.button\n })\n })]\n })]\n })\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: \"darksalmon\",\n marginVertical: 5,\n borderRadius: 15,\n width: \"90%\",\n alignSelf: 'center'\n },\n title: {\n fontWeight: \"bold\",\n fontSize: 18\n },\n bothtext: {\n margin: 10\n },\n temperature: {\n marginTop: 20,\n fontSize: 18,\n fontWeight: \"bold\"\n },\n button: {\n height: 30,\n width: 30,\n alignSelf: \"flex-end\",\n marginRight: \"5%\",\n marginLeft: \"10%\"\n }\n});","map":{"version":3,"names":["React","useDispatch","addFavoriteCity","VilleCompopo","props","dispatch","changeFavoriteCity","city","already","isFavorite","fav","weather","longitude","latitude","styles","container","flex","flexDirection","justifyContent","bothtext","title","name","alignItems","temperature","require","button","StyleSheet","create","backgroundColor","marginVertical","borderRadius","width","alignSelf","fontWeight","fontSize","margin","marginTop","height","marginRight","marginLeft"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/components/VilleCompopo.tsx"],"sourcesContent":["import React, { useEffect, useState, useSyncExternalStore } from \"react\";\nimport { View, StyleSheet, Text, Button, TouchableHighlight, Image } from \"react-native\";\nimport { useDispatch } from \"react-redux\";\nimport { City, FAVORITE_CITY_DATA, getCurrentWeather, Weather } from \"../data/stub\";\nimport { addFavoriteCity } from \"../redux/actions/addFavoriteCity\";\n\n\ntype VilleProps = {\n weather: Weather,\n fav: City | null\n}\n\n\nexport function VilleCompopo(props: VilleProps){\n const dispatch = useDispatch();\n\n\n async function changeFavoriteCity(city: City | null, already: boolean) {\n if (already){\n city = null\n }\n dispatch(addFavoriteCity(city))\n }\n\n const isFavorite = props.fav != null && props.weather.city.longitude===props.fav.longitude && props.weather.city.latitude===props.fav.latitude\n\n return (\n \n \n \n {props.weather.city.name}\n {props.weather.city.latitude} - {props.weather.city.longitude}\n \n \n {props.weather.temperature}\n changeFavoriteCity(props.weather.city, isFavorite)}>\n \n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: \"darksalmon\",\n marginVertical: 5,\n borderRadius: 15,\n width: \"90%\",\n alignSelf: 'center'\n },\n title: {\n fontWeight: \"bold\",\n fontSize: 18\n },\n bothtext: {\n margin: 10\n },\n temperature: {\n marginTop: 20,\n fontSize: 18,\n fontWeight: \"bold\"\n },\n button: {\n height: 30,\n width: 30,\n alignSelf: \"flex-end\",\n marginRight: \"5%\",\n marginLeft: \"10%\"\n },\n\n});"],"mappings":";AAAA,OAAOA,KAAK,MAAqD,OAAO;AAAC;AAAA;AAAA;AAAA;AAAA;AAEzE,SAASC,WAAW,QAAQ,aAAa;AAEzC,SAASC,eAAe;AAA2C;AAAA;AASnE,OAAO,SAASC,YAAY,CAACC,KAAiB,EAAC;EAC7C,IAAMC,QAAQ,GAAGJ,WAAW,EAAE;EAAC,SAGhBK,kBAAkB;IAAA;EAAA;EAAA;IAAA,wCAAjC,WAAkCC,IAAiB,EAAEC,OAAgB,EAAE;MACrE,IAAIA,OAAO,EAAC;QACVD,IAAI,GAAG,IAAI;MACb;MACAF,QAAQ,CAACH,eAAe,CAACK,IAAI,CAAC,CAAC;IACjC,CAAC;IAAA;EAAA;EAED,IAAME,UAAU,GAAGL,KAAK,CAACM,GAAG,IAAI,IAAI,IAAIN,KAAK,CAACO,OAAO,CAACJ,IAAI,CAACK,SAAS,KAAGR,KAAK,CAACM,GAAG,CAACE,SAAS,IAAIR,KAAK,CAACO,OAAO,CAACJ,IAAI,CAACM,QAAQ,KAAGT,KAAK,CAACM,GAAG,CAACG,QAAQ;EAE9I,OACI,KAAC,IAAI;IAAC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAA,UAC5B,MAAC,IAAI;MAAC,KAAK,EAAE;QAACC,IAAI,EAAE,CAAC;QAAEC,aAAa,EAAE,KAAK;QAAEC,cAAc,EAAE;MAAe,CAAE;MAAA,WAC5E,MAAC,IAAI;QAAC,KAAK,EAAEJ,MAAM,CAACK,QAAS;QAAA,WAC3B,KAAC,IAAI;UAAC,KAAK,EAAEL,MAAM,CAACM,KAAM;UAAA,UAAEhB,KAAK,CAACO,OAAO,CAACJ,IAAI,CAACc;QAAI,EAAQ,EAC3D,MAAC,IAAI;UAAA,WAAEjB,KAAK,CAACO,OAAO,CAACJ,IAAI,CAACM,QAAQ,EAAC,KAAG,EAACT,KAAK,CAACO,OAAO,CAACJ,IAAI,CAACK,SAAS;QAAA,EAAQ;MAAA,EACtE,EACP,MAAC,IAAI;QAAC,KAAK,EAAE;UAACK,aAAa,EAAE,KAAK;UAAEK,UAAU,EAAE;QAAQ,CAAE;QAAA,WACxD,KAAC,IAAI;UAAC,KAAK,EAAER,MAAM,CAACM,KAAM;UAAA,UAAEhB,KAAK,CAACO,OAAO,CAACY;QAAW,EAAQ,EAC7D,KAAC,kBAAkB;UAAC,OAAO,EAAE;YAAA,OAAMjB,kBAAkB,CAACF,KAAK,CAACO,OAAO,CAACJ,IAAI,EAAEE,UAAU,CAAC;UAAA,CAAC;UAAA,UACpF,KAAC,KAAK;YAAC,MAAM,EAAGA,UAAU,GAAGe,OAAO,4BAA4B,GAAGA,OAAO,2BAA4B;YAAC,KAAK,EAAEV,MAAM,CAACW;UAAO;QAAE,EAC3G;MAAA,EAChB;IAAA;EACF,EACF;AAEb;AAEA,IAAMX,MAAM,GAAGY,UAAU,CAACC,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTC,IAAI,EAAE,CAAC;IACPY,eAAe,EAAE,YAAY;IAC7BC,cAAc,EAAE,CAAC;IACjBC,YAAY,EAAE,EAAE;IAChBC,KAAK,EAAE,KAAK;IACZC,SAAS,EAAE;EACb,CAAC;EACDZ,KAAK,EAAE;IACLa,UAAU,EAAE,MAAM;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDf,QAAQ,EAAE;IACRgB,MAAM,EAAE;EACV,CAAC;EACDZ,WAAW,EAAE;IACXa,SAAS,EAAE,EAAE;IACbF,QAAQ,EAAE,EAAE;IACZD,UAAU,EAAE;EACd,CAAC;EACDR,MAAM,EAAE;IACNY,MAAM,EAAE,EAAE;IACVN,KAAK,EAAE,EAAE;IACTC,SAAS,EAAE,UAAU;IACrBM,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE;EACd;AAEF,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/78295d449e8d0708bed1b8bab54920a4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/78295d449e8d0708bed1b8bab54920a4.json new file mode 100644 index 00000000..72584956 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/78295d449e8d0708bed1b8bab54920a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import scaledSheetCreator from \"./lib/ScaledSheet\";\nimport { scale, verticalScale, moderateScale, moderateVerticalScale } from \"./lib/scaling-utils\";\nexport var ScaledSheet = scaledSheetCreator(scale, verticalScale, moderateScale, moderateVerticalScale);\nexport * from \"./lib/scaling-utils\";","map":{"version":3,"names":["scaledSheetCreator","scale","verticalScale","moderateScale","moderateVerticalScale","ScaledSheet"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-size-matters/index.js"],"sourcesContent":["import scaledSheetCreator from './lib/ScaledSheet';\nimport { scale, verticalScale, moderateScale, moderateVerticalScale } from './lib/scaling-utils';\n\nexport const ScaledSheet = scaledSheetCreator(scale, verticalScale, moderateScale, moderateVerticalScale);\nexport * from './lib/scaling-utils';"],"mappings":"AAAA,OAAOA,kBAAkB;AACzB,SAASC,KAAK,EAAEC,aAAa,EAAEC,aAAa,EAAEC,qBAAqB;AAEnE,OAAO,IAAMC,WAAW,GAAGL,kBAAkB,CAACC,KAAK,EAAEC,aAAa,EAAEC,aAAa,EAAEC,qBAAqB,CAAC;AACzG"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/7a2ea4bdba833821a10681cbaa4f98ec.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/7a2ea4bdba833821a10681cbaa4f98ec.json new file mode 100644 index 00000000..3c49615d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/7a2ea4bdba833821a10681cbaa4f98ec.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nvar Alert = function () {\n function Alert() {\n _classCallCheck(this, Alert);\n }\n _createClass(Alert, null, [{\n key: \"alert\",\n value: function alert() {}\n }]);\n return Alert;\n}();\nexport default Alert;","map":{"version":3,"names":["Alert"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Alert/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nclass Alert {\n static alert() {}\n\n}\n\nexport default Alert;"],"mappings":";;IAQMA,KAAK;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OACT,iBAAe,CAAC;EAAC;EAAA;AAAA;AAInB,eAAeA,KAAK"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/7d9cdb94ebdc9d2d2517609eb2e0a7dd.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/7d9cdb94ebdc9d2d2517609eb2e0a7dd.json new file mode 100644 index 00000000..a4f97c4a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/7d9cdb94ebdc9d2d2517609eb2e0a7dd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nvar clipboardAvailable;\nvar Clipboard = function () {\n function Clipboard() {\n _classCallCheck(this, Clipboard);\n }\n _createClass(Clipboard, null, [{\n key: \"isAvailable\",\n value: function isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n return clipboardAvailable;\n }\n }, {\n key: \"getString\",\n value: function getString() {\n return Promise.resolve('');\n }\n }, {\n key: \"setString\",\n value: function setString(text) {\n var success = false;\n var body = document.body;\n if (body) {\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node);\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {}\n selection.removeAllRanges();\n body.removeChild(node);\n }\n return success;\n }\n }]);\n return Clipboard;\n}();\nexport { Clipboard as default };","map":{"version":3,"names":["clipboardAvailable","Clipboard","undefined","document","queryCommandSupported","Promise","resolve","text","success","body","node","createElement","textContent","style","opacity","position","whiteSpace","userSelect","appendChild","selection","window","getSelection","removeAllRanges","range","createRange","selectNodeContents","addRange","execCommand","e","removeChild"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Clipboard/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar clipboardAvailable;\nexport default class Clipboard {\n static isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n\n return clipboardAvailable;\n }\n\n static getString() {\n return Promise.resolve('');\n }\n\n static setString(text) {\n var success = false;\n var body = document.body;\n\n if (body) {\n // add the text to a hidden node\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node); // select the text\n\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range); // attempt to copy\n\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {} // remove selection and node\n\n\n selection.removeAllRanges();\n body.removeChild(node);\n }\n\n return success;\n }\n\n}"],"mappings":";;AASA,IAAIA,kBAAkB;AAAC,IACFC,SAAS;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA,OAC5B,uBAAqB;MACnB,IAAID,kBAAkB,KAAKE,SAAS,EAAE;QACpCF,kBAAkB,GAAG,OAAOG,QAAQ,CAACC,qBAAqB,KAAK,UAAU,IAAID,QAAQ,CAACC,qBAAqB,CAAC,MAAM,CAAC;MACrH;MAEA,OAAOJ,kBAAkB;IAC3B;EAAC;IAAA;IAAA,OAED,qBAAmB;MACjB,OAAOK,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;IAC5B;EAAC;IAAA;IAAA,OAED,mBAAiBC,IAAI,EAAE;MACrB,IAAIC,OAAO,GAAG,KAAK;MACnB,IAAIC,IAAI,GAAGN,QAAQ,CAACM,IAAI;MAExB,IAAIA,IAAI,EAAE;QAER,IAAIC,IAAI,GAAGP,QAAQ,CAACQ,aAAa,CAAC,MAAM,CAAC;QACzCD,IAAI,CAACE,WAAW,GAAGL,IAAI;QACvBG,IAAI,CAACG,KAAK,CAACC,OAAO,GAAG,GAAG;QACxBJ,IAAI,CAACG,KAAK,CAACE,QAAQ,GAAG,UAAU;QAChCL,IAAI,CAACG,KAAK,CAACG,UAAU,GAAG,UAAU;QAClCN,IAAI,CAACG,KAAK,CAACI,UAAU,GAAG,MAAM;QAC9BR,IAAI,CAACS,WAAW,CAACR,IAAI,CAAC;QAEtB,IAAIS,SAAS,GAAGC,MAAM,CAACC,YAAY,EAAE;QACrCF,SAAS,CAACG,eAAe,EAAE;QAC3B,IAAIC,KAAK,GAAGpB,QAAQ,CAACqB,WAAW,EAAE;QAClCD,KAAK,CAACE,kBAAkB,CAACf,IAAI,CAAC;QAC9BS,SAAS,CAACO,QAAQ,CAACH,KAAK,CAAC;QAEzB,IAAI;UACFpB,QAAQ,CAACwB,WAAW,CAAC,MAAM,CAAC;UAC5BnB,OAAO,GAAG,IAAI;QAChB,CAAC,CAAC,OAAOoB,CAAC,EAAE,CAAC;QAGbT,SAAS,CAACG,eAAe,EAAE;QAC3Bb,IAAI,CAACoB,WAAW,CAACnB,IAAI,CAAC;MACxB;MAEA,OAAOF,OAAO;IAChB;EAAC;EAAA;AAAA;AAAA,SA5CkBP,SAAS"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/7e89482568eed32a831141adcbc6492f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/7e89482568eed32a831141adcbc6492f.json new file mode 100644 index 00000000..fabb06c9 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/7e89482568eed32a831141adcbc6492f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nexport default function (config, expoFontName, expoAssetId) {\n var glyphMap = {};\n config.icons.forEach(function (icon) {\n icon.properties.name.split(/\\s*,\\s*/g).forEach(function (name) {\n glyphMap[name] = icon.properties.code;\n });\n });\n var fontFamily = expoFontName || config.preferences.fontPref.metadata.fontFamily;\n return createIconSet(glyphMap, fontFamily, expoAssetId || fontFamily + \".ttf\");\n}","map":{"version":3,"sources":["../src/createIconSetFromIcoMoon.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AAEpB,eAAc,UAAW,MAAM,EAAE,YAAY,EAAE,WAAW,EAAA;EACxD,IAAM,QAAQ,GAAG,CAAA,CAAE;EACnB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,EAAG;IAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI,EAAG;MACpD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAM,UAAU,GACd,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU;EAEjE,OAAO,aAAa,CAClB,QAAQ,EACR,UAAU,EACV,WAAW,IAAO,UAAU,SAAM,CACnC;AACH","sourcesContent":["import createIconSet from \"./createIconSet\";\n\nexport default function (config, expoFontName, expoAssetId) {\n const glyphMap = {};\n config.icons.forEach(icon => {\n icon.properties.name.split(/\\s*,\\s*/g).forEach(name => {\n glyphMap[name] = icon.properties.code;\n });\n });\n\n const fontFamily =\n expoFontName || config.preferences.fontPref.metadata.fontFamily;\n\n return createIconSet(\n glyphMap,\n fontFamily,\n expoAssetId || `${fontFamily}.ttf`\n );\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/7ee2ef746345830883c4f058ab974daf.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/7ee2ef746345830883c4f058ab974daf.json new file mode 100644 index 00000000..9e079903 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/7ee2ef746345830883c4f058ab974daf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { Asset } from 'expo-asset';\nimport { CodedError } from 'expo-modules-core';\nimport ExpoFontLoader from \"./ExpoFontLoader\";\nimport { FontDisplay } from \"./Font\";\nfunction uriFromFontSource(asset) {\n if (typeof asset === 'string') {\n return asset || null;\n } else if (typeof asset === 'object') {\n return asset.uri || asset.localUri || asset.default || null;\n } else if (typeof asset === 'number') {\n return uriFromFontSource(Asset.fromModule(asset));\n }\n return null;\n}\nfunction displayFromFontSource(asset) {\n return asset.display || FontDisplay.AUTO;\n}\nexport function fontFamilyNeedsScoping(name) {\n return false;\n}\nexport function getAssetForSource(source) {\n var uri = uriFromFontSource(source);\n var display = displayFromFontSource(source);\n if (!uri || typeof uri !== 'string') {\n throwInvalidSourceError(uri);\n }\n return {\n uri: uri,\n display: display\n };\n}\nfunction throwInvalidSourceError(source) {\n var type = typeof source;\n if (type === 'object') type = JSON.stringify(source, null, 2);\n throw new CodedError(\"ERR_FONT_SOURCE\", \"Expected font asset of type `string | FontResource | Asset` instead got: \" + type);\n}\nexport function loadSingleFontAsync(_x, _x2) {\n return _loadSingleFontAsync.apply(this, arguments);\n}\nfunction _loadSingleFontAsync() {\n _loadSingleFontAsync = _asyncToGenerator(function* (name, input) {\n if (typeof input !== 'object' || typeof input.uri !== 'string' || input.downloadAsync) {\n throwInvalidSourceError(input);\n }\n yield ExpoFontLoader.loadAsync(name, input);\n });\n return _loadSingleFontAsync.apply(this, arguments);\n}\nexport function getNativeFontName(name) {\n return name;\n}","map":{"version":3,"sources":["../src/FontLoader.web.ts"],"names":[],"mappings":";AAAA,SAAS,KAAK,QAAQ,YAAY;AAClC,SAAS,UAAU,QAAQ,mBAAmB;AAE9C,OAAO,cAAc;AACrB,SAAS,WAAW;AAGpB,SAAS,iBAAiB,CAAC,KAAU,EAAA;EACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK,IAAI,IAAI;GACrB,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;GAC5D,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;EAClD;EACD,OAAO,IAAI;AACb;AAEA,SAAS,qBAAqB,CAAC,KAAU,EAAA;EACvC,OAAO,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI;AAC1C;AAEA,OAAM,SAAU,sBAAsB,CAAC,IAAY,EAAA;EACjD,OAAO,KAAK;AACd;AAEA,OAAM,SAAU,iBAAiB,CAAC,MAAkB,EAAA;EAClD,IAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC;EACrC,IAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC;EAE7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IACnC,uBAAuB,CAAC,GAAG,CAAC;EAC7B;EAED,OAAO;IACL,GAAG,EAAE,GAAI;IACT,OAAO,EAAP;GACD;AACH;AAEA,SAAS,uBAAuB,CAAC,MAAW,EAAA;EAC1C,IAAI,IAAI,GAAW,OAAO,MAAM;EAChC,IAAI,IAAI,KAAK,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;EAC7D,MAAM,IAAI,UAAU,kGAE4D,IAAI,CACnF;AACH;AAEA,gBAAsB,mBAAmB;EAAA;AAAA;AASxC;EAAA,yCATM,WACL,IAAY,EACZ,KAA2B,EAAA;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAK,KAAa,CAAC,aAAa,EAAE;MAC9F,uBAAuB,CAAC,KAAK,CAAC;IAC/B;IAED,MAAM,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;EAC7C,CAAC;EAAA;AAAA;AAED,OAAM,SAAU,iBAAiB,CAAC,IAAY,EAAA;EAC5C,OAAO,IAAI;AACb","sourcesContent":["import { Asset } from 'expo-asset';\nimport { CodedError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontDisplay } from './Font';\nimport { FontResource, FontSource } from './Font.types';\n\nfunction uriFromFontSource(asset: any): string | null {\n if (typeof asset === 'string') {\n return asset || null;\n } else if (typeof asset === 'object') {\n return asset.uri || asset.localUri || asset.default || null;\n } else if (typeof asset === 'number') {\n return uriFromFontSource(Asset.fromModule(asset));\n }\n return null;\n}\n\nfunction displayFromFontSource(asset: any): FontDisplay | undefined {\n return asset.display || FontDisplay.AUTO;\n}\n\nexport function fontFamilyNeedsScoping(name: string): boolean {\n return false;\n}\n\nexport function getAssetForSource(source: FontSource): Asset | FontResource {\n const uri = uriFromFontSource(source);\n const display = displayFromFontSource(source);\n\n if (!uri || typeof uri !== 'string') {\n throwInvalidSourceError(uri);\n }\n\n return {\n uri: uri!,\n display,\n };\n}\n\nfunction throwInvalidSourceError(source: any): never {\n let type: string = typeof source;\n if (type === 'object') type = JSON.stringify(source, null, 2);\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Expected font asset of type \\`string | FontResource | Asset\\` instead got: ${type}`\n );\n}\n\nexport async function loadSingleFontAsync(\n name: string,\n input: Asset | FontResource\n): Promise {\n if (typeof input !== 'object' || typeof input.uri !== 'string' || (input as any).downloadAsync) {\n throwInvalidSourceError(input);\n }\n\n await ExpoFontLoader.loadAsync(name, input);\n}\n\nexport function getNativeFontName(name: string): string {\n return name;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8286b7895c73e66512a7b9d043c3c022.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8286b7895c73e66512a7b9d043c3c022.json new file mode 100644 index 00000000..28b0bd50 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8286b7895c73e66512a7b9d043c3c022.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport useMergeRefs from \"../../modules/useMergeRefs\";\nimport usePlatformMethods from \"../../modules/usePlatformMethods\";\nimport PickerItem from \"./PickerItem\";\nimport StyleSheet from \"../StyleSheet\";\nvar Picker = React.forwardRef(function (props, forwardedRef) {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = React.useRef(null);\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n }\n var supportedProps = _objectSpread({\n children: children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID: testID,\n value: selectedValue\n }, other);\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n});\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;","map":{"version":3,"names":["_objectSpread","_objectWithoutPropertiesLoose","_excluded","React","createElement","useMergeRefs","usePlatformMethods","PickerItem","StyleSheet","Picker","forwardRef","props","forwardedRef","children","enabled","onValueChange","selectedValue","style","testID","itemStyle","mode","prompt","other","hostRef","useRef","handleChange","e","_e$target","target","selectedIndex","value","supportedProps","disabled","undefined","onChange","styles","initial","platformMethodsRef","setRef","ref","Item","create","fontFamily","fontSize","margin"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Picker/index.js"],"sourcesContent":["import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport PickerItem from './PickerItem';\nimport StyleSheet from '../StyleSheet';\nvar Picker = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hostRef = React.useRef(null);\n\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n } // $FlowFixMe\n\n\n var supportedProps = _objectSpread({\n children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID,\n value: selectedValue\n }, other);\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n}); // $FlowFixMe\n\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;"],"mappings":"AAAA,OAAOA,aAAa,MAAM,sCAAsC;AAChE,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;AAW3H,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,aAAa;AACpB,OAAOC,YAAY;AACnB,OAAOC,kBAAkB;AACzB,OAAOC,UAAU;AACjB,OAAOC,UAAU;AACjB,IAAIC,MAAM,GAAgBN,KAAK,CAACO,UAAU,CAAC,UAACC,KAAK,EAAEC,YAAY,EAAK;EAClE,IAAIC,QAAQ,GAAGF,KAAK,CAACE,QAAQ;IACzBC,OAAO,GAAGH,KAAK,CAACG,OAAO;IACvBC,aAAa,GAAGJ,KAAK,CAACI,aAAa;IACnCC,aAAa,GAAGL,KAAK,CAACK,aAAa;IACnCC,KAAK,GAAGN,KAAK,CAACM,KAAK;IACnBC,MAAM,GAAGP,KAAK,CAACO,MAAM;IACrBC,SAAS,GAAGR,KAAK,CAACQ,SAAS;IAC3BC,IAAI,GAAGT,KAAK,CAACS,IAAI;IACjBC,MAAM,GAAGV,KAAK,CAACU,MAAM;IACrBC,KAAK,GAAGrB,6BAA6B,CAACU,KAAK,EAAET,SAAS,CAAC;EAE3D,IAAIqB,OAAO,GAAGpB,KAAK,CAACqB,MAAM,CAAC,IAAI,CAAC;EAEhC,SAASC,YAAY,CAACC,CAAC,EAAE;IACvB,IAAIC,SAAS,GAAGD,CAAC,CAACE,MAAM;MACpBC,aAAa,GAAGF,SAAS,CAACE,aAAa;MACvCC,KAAK,GAAGH,SAAS,CAACG,KAAK;IAE3B,IAAIf,aAAa,EAAE;MACjBA,aAAa,CAACe,KAAK,EAAED,aAAa,CAAC;IACrC;EACF;EAGA,IAAIE,cAAc,GAAG/B,aAAa,CAAC;IACjCa,QAAQ,EAARA,QAAQ;IACRmB,QAAQ,EAAElB,OAAO,KAAK,KAAK,GAAG,IAAI,GAAGmB,SAAS;IAC9CC,QAAQ,EAAET,YAAY;IACtBR,KAAK,EAAE,CAACkB,MAAM,CAACC,OAAO,EAAEnB,KAAK,CAAC;IAC9BC,MAAM,EAANA,MAAM;IACNY,KAAK,EAAEd;EACT,CAAC,EAAEM,KAAK,CAAC;EAET,IAAIe,kBAAkB,GAAG/B,kBAAkB,CAACyB,cAAc,CAAC;EAC3D,IAAIO,MAAM,GAAGjC,YAAY,CAACkB,OAAO,EAAEc,kBAAkB,EAAEzB,YAAY,CAAC;EACpEmB,cAAc,CAACQ,GAAG,GAAGD,MAAM;EAC3B,OAAOlC,aAAa,CAAC,QAAQ,EAAE2B,cAAc,CAAC;AAChD,CAAC,CAAC;AAEFtB,MAAM,CAAC+B,IAAI,GAAGjC,UAAU;AACxB,IAAI4B,MAAM,GAAG3B,UAAU,CAACiC,MAAM,CAAC;EAC7BL,OAAO,EAAE;IACPM,UAAU,EAAE,QAAQ;IACpBC,QAAQ,EAAE,SAAS;IACnBC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AACF,eAAenC,MAAM"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/82a6500cacc7125f7195b66ea317b30b.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/82a6500cacc7125f7195b66ea317b30b.json new file mode 100644 index 00000000..4895140c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/82a6500cacc7125f7195b66ea317b30b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { configureStore } from '@reduxjs/toolkit';\nimport appReducer from \"./reducers/appReducer\";\nvar reducer = {\n appReducer: appReducer\n};\nvar store = configureStore({\n reducer: reducer\n});\nexport default store;","map":{"version":3,"names":["configureStore","appReducer","reducer","store"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/store.ts"],"sourcesContent":["import {configureStore} from '@reduxjs/toolkit'\nimport appReducer from './reducers/appReducer';\n\n// Reference here all your application reducers\nconst reducer = {\n appReducer: appReducer,\n}\n\n// @ts-ignore\nconst store = configureStore({\n reducer,\n},);\n\nexport default store;"],"mappings":"AAAA,SAAQA,cAAc,QAAO,kBAAkB;AAC/C,OAAOC,UAAU;AAGjB,IAAMC,OAAO,GAAG;EACdD,UAAU,EAAEA;AACd,CAAC;AAGD,IAAME,KAAK,GAAGH,cAAc,CAAC;EACzBE,OAAO,EAAPA;AACJ,CAAC,CAAE;AAEH,eAAeC,KAAK"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8348b22700aff6e501fbc38e5c54ed2e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8348b22700aff6e501fbc38e5c54ed2e.json new file mode 100644 index 00000000..8ff83218 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8348b22700aff6e501fbc38e5c54ed2e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Fontisto.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Fontisto.json\";\nvar iconSet = createIconSet(glyphMap, \"Fontisto\", font);\nexport default iconSet;","map":{"version":3,"sources":["../src/Fontisto.ts"],"names":[],"mappings":"AAKA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,IAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;AAEzD,eAAe,OAAO","sourcesContent":["/**\n * Feather icon set component.\n * Usage: \n */\n\nimport createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Fontisto.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Fontisto.json\";\n\nconst iconSet = createIconSet(glyphMap, \"Fontisto\", font);\n\nexport default iconSet;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/84a180567d13da4288cbf7286912c03c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/84a180567d13da4288cbf7286912c03c.json new file mode 100644 index 00000000..9ccb8b9c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/84a180567d13da4288cbf7286912c03c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Fontisto.json\";\nvar iconSet = createIconSet(glyphMap, 'Fontisto', 'Fontisto.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Fontisto.js"],"sourcesContent":["/**\n * Fontisto icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Fontisto.json';\n\nconst iconSet = createIconSet(glyphMap, 'Fontisto', 'Fontisto.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC;AAEnE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/854e19772e5ec05975bfe904aed5855b.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/854e19772e5ec05975bfe904aed5855b.json new file mode 100644 index 00000000..ffc06a66 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/854e19772e5ec05975bfe904aed5855b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\nimport TabNavigation from \"./navigation/TabNavigation\";\nimport store from \"./redux/store\";\nimport { Provider } from 'react-redux';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function App() {\n return _jsx(Provider, {\n store: store,\n children: _jsx(SafeAreaProvider, {\n style: styles.container,\n children: _jsx(TabNavigation, {})\n })\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n height: \"100%\",\n backgroundColor: '#fff'\n }\n});","map":{"version":3,"names":["React","SafeAreaProvider","TabNavigation","store","Provider","App","styles","container","StyleSheet","create","flex","height","backgroundColor"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/App.tsx"],"sourcesContent":["import { StatusBar } from 'expo-status-bar';\nimport React from 'react';\nimport { SafeAreaView, StyleSheet, Text, View } from 'react-native';\nimport { useSafeAreaInsets, SafeAreaProvider } from 'react-native-safe-area-context';\nimport TabNavigation from './navigation/TabNavigation';\nimport CityList from './screens/CityList';\nimport store from \"./redux/store\";\nimport { Provider } from 'react-redux';\n\n\n\nexport default function App() {\n return (\n \n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n height: \"100%\",\n backgroundColor: '#fff',\n //alignItems: 'center',\n //justifyContent: 'center',\n },\n});\n"],"mappings":"AACA,OAAOA,KAAK,MAAM,OAAO;AAAC;AAE1B,SAA4BC,gBAAgB,QAAQ,gCAAgC;AACpF,OAAOC,aAAa;AAEpB,OAAOC,KAAK;AACZ,SAASC,QAAQ,QAAQ,aAAa;AAAC;AAIvC,eAAe,SAASC,GAAG,GAAG;EAC5B,OACE,KAAC,QAAQ;IAAC,KAAK,EAAEF,KAAM;IAAA,UACrB,KAAC,gBAAgB;MAAC,KAAK,EAAEG,MAAM,CAACC,SAAU;MAAA,UACxC,KAAC,aAAa;IAAE;EACC,EACV;AAEf;AAEA,IAAMD,MAAM,GAAGE,UAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,MAAM;IACdC,eAAe,EAAE;EAGnB;AACF,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8589d64768cfe9fae35c8ac1c5356777.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8589d64768cfe9fae35c8ac1c5356777.json new file mode 100644 index 00000000..6ed23398 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8589d64768cfe9fae35c8ac1c5356777.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport _ from \"lodash\";\nimport React, { useState, useEffect } from \"react\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Star from \"./components/Star\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar TapRating = function TapRating(props) {\n var _useState = useState(props.defaultRating),\n _useState2 = _slicedToArray(_useState, 2),\n position = _useState2[0],\n setPosition = _useState2[1];\n useEffect(function () {\n var defaultRating = props.defaultRating;\n if (defaultRating === null || defaultRating === undefined) {\n setPosition(3);\n } else {\n setPosition(defaultRating);\n }\n }, [props.defaultRating]);\n var renderStars = function renderStars(rating_array) {\n return _.map(rating_array, function (star) {\n return star;\n });\n };\n var _starSelectedInPosition = function starSelectedInPosition(position) {\n var onFinishRating = props.onFinishRating;\n if (typeof onFinishRating === \"function\") {\n onFinishRating(position);\n }\n setPosition(position);\n };\n var count = props.count,\n reviews = props.reviews,\n showRating = props.showRating,\n reviewColor = props.reviewColor,\n reviewSize = props.reviewSize;\n var rating_array = [];\n var starContainerStyle = [styles.starContainer];\n if (props.starContainerStyle) {\n starContainerStyle.push(props.starContainerStyle);\n }\n var ratingContainerStyle = [styles.ratingContainer];\n if (props.ratingContainerStyle) {\n ratingContainerStyle.push(props.ratingContainerStyle);\n }\n _.times(count, function (index) {\n rating_array.push(_jsx(Star, _objectSpread({\n position: index + 1,\n starSelectedInPosition: function starSelectedInPosition(value) {\n _starSelectedInPosition(value);\n },\n fill: position >= index + 1\n }, props), index));\n });\n return _jsxs(View, {\n style: ratingContainerStyle,\n children: [showRating && _jsx(Text, {\n style: [styles.reviewText, {\n fontSize: reviewSize,\n color: reviewColor\n }],\n children: reviews[position - 1]\n }), _jsx(View, {\n style: starContainerStyle,\n children: renderStars(rating_array)\n })]\n });\n};\nTapRating.defaultProps = {\n defaultRating: 3,\n reviews: [\"Terrible\", \"Bad\", \"Okay\", \"Good\", \"Great\"],\n count: 5,\n showRating: true,\n reviewColor: \"rgba(230, 196, 46, 1)\",\n reviewSize: 25\n};\nvar styles = StyleSheet.create({\n ratingContainer: {\n backgroundColor: \"transparent\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n reviewText: {\n fontWeight: \"bold\",\n margin: 10\n },\n starContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n});\nexport default TapRating;","map":{"version":3,"names":["_","React","useState","useEffect","Star","TapRating","props","defaultRating","position","setPosition","undefined","renderStars","rating_array","map","star","starSelectedInPosition","onFinishRating","count","reviews","showRating","reviewColor","reviewSize","starContainerStyle","styles","starContainer","push","ratingContainerStyle","ratingContainer","times","index","value","reviewText","fontSize","color","defaultProps","StyleSheet","create","backgroundColor","flexDirection","alignItems","justifyContent","fontWeight","margin"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-ratings/dist/TapRating.js"],"sourcesContent":["import _ from \"lodash\";\nimport React, { useState, useEffect } from \"react\";\nimport { StyleSheet, Text, View } from \"react-native\";\nimport Star from \"./components/Star\";\nconst TapRating = props => {\n const [position, setPosition] = useState(props.defaultRating);\n useEffect(() => {\n const { defaultRating } = props;\n if (defaultRating === null || defaultRating === undefined) {\n setPosition(3);\n }\n else {\n setPosition(defaultRating);\n }\n }, [props.defaultRating]);\n const renderStars = rating_array => {\n return _.map(rating_array, star => {\n return star;\n });\n };\n const starSelectedInPosition = position => {\n const { onFinishRating } = props;\n if (typeof onFinishRating === \"function\") {\n onFinishRating(position);\n }\n setPosition(position);\n };\n const { count, reviews, showRating, reviewColor, reviewSize } = props;\n const rating_array = [];\n const starContainerStyle = [styles.starContainer];\n if (props.starContainerStyle) {\n starContainerStyle.push(props.starContainerStyle);\n }\n const ratingContainerStyle = [styles.ratingContainer];\n if (props.ratingContainerStyle) {\n ratingContainerStyle.push(props.ratingContainerStyle);\n }\n _.times(count, index => {\n rating_array.push( {\n starSelectedInPosition(value);\n }} fill={position >= index + 1} {...props}/>);\n });\n return (\n {showRating &&\n \n {reviews[position - 1]}\n }\n {renderStars(rating_array)}\n );\n};\nTapRating.defaultProps = {\n defaultRating: 3,\n reviews: [\"Terrible\", \"Bad\", \"Okay\", \"Good\", \"Great\"],\n count: 5,\n showRating: true,\n reviewColor: \"rgba(230, 196, 46, 1)\",\n reviewSize: 25\n};\nconst styles = StyleSheet.create({\n ratingContainer: {\n backgroundColor: \"transparent\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n reviewText: {\n fontWeight: \"bold\",\n margin: 10\n },\n starContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n});\nexport default TapRating;\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/87a6c25589d8bcd75ddaddf103b514cb.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/87a6c25589d8bcd75ddaddf103b514cb.json new file mode 100644 index 00000000..0e2fcfce --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/87a6c25589d8bcd75ddaddf103b514cb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Zocial.json\";\nvar iconSet = createIconSet(glyphMap, 'zocial', 'Zocial.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Zocial.js"],"sourcesContent":["/**\n * Zocial icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Zocial.json';\n\nconst iconSet = createIconSet(glyphMap, 'zocial', 'Zocial.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;AAE/D,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8acd25fcb7066842fe41d575ae54423e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8acd25fcb7066842fe41d575ae54423e.json new file mode 100644 index 00000000..3fc2cc0f --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8acd25fcb7066842fe41d575ae54423e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from \"../../modules/canUseDom\";\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(function () {\n if (canUseDOM) {\n return function () {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? ReactDOM.createPortal(children, elementRef.current) : null;\n}\nexport default ModalPortal;","map":{"version":3,"names":["React","ReactDOM","canUseDOM","ModalPortal","props","children","elementRef","useRef","current","element","document","createElement","body","appendChild","useEffect","removeChild","createPortal"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Modal/ModalPortal.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n\n React.useEffect(() => {\n if (canUseDOM) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? /*#__PURE__*/ReactDOM.createPortal(children, elementRef.current) : null;\n}\n\nexport default ModalPortal;"],"mappings":"AASA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,SAAS;AAEhB,SAASC,WAAW,CAACC,KAAK,EAAE;EAC1B,IAAIC,QAAQ,GAAGD,KAAK,CAACC,QAAQ;EAC7B,IAAIC,UAAU,GAAGN,KAAK,CAACO,MAAM,CAAC,IAAI,CAAC;EAEnC,IAAIL,SAAS,IAAI,CAACI,UAAU,CAACE,OAAO,EAAE;IACpC,IAAIC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;IAE3C,IAAIF,OAAO,IAAIC,QAAQ,CAACE,IAAI,EAAE;MAC5BF,QAAQ,CAACE,IAAI,CAACC,WAAW,CAACJ,OAAO,CAAC;MAClCH,UAAU,CAACE,OAAO,GAAGC,OAAO;IAC9B;EACF;EAEAT,KAAK,CAACc,SAAS,CAAC,YAAM;IACpB,IAAIZ,SAAS,EAAE;MACb,OAAO,YAAM;QACX,IAAIQ,QAAQ,CAACE,IAAI,IAAIN,UAAU,CAACE,OAAO,EAAE;UACvCE,QAAQ,CAACE,IAAI,CAACG,WAAW,CAACT,UAAU,CAACE,OAAO,CAAC;UAC7CF,UAAU,CAACE,OAAO,GAAG,IAAI;QAC3B;MACF,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EACN,OAAOF,UAAU,CAACE,OAAO,IAAIN,SAAS,GAAgBD,QAAQ,CAACe,YAAY,CAACX,QAAQ,EAAEC,UAAU,CAACE,OAAO,CAAC,GAAG,IAAI;AAClH;AAEA,eAAeL,WAAW"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8d83f1749e65d590399a2100c439c8ac.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8d83f1749e65d590399a2100c439c8ac.json new file mode 100644 index 00000000..ea4b8187 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8d83f1749e65d590399a2100c439c8ac.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Entypo.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Entypo.json\";\nexport default createIconSet(glyphMap, 'entypo', font);","map":{"version":3,"sources":["../src/Entypo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Entypo.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Entypo.json';\n\nexport default createIconSet(glyphMap, 'entypo', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8e4a527d0b24c921b7b780c886fa357e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8e4a527d0b24c921b7b780c886fa357e.json new file mode 100644 index 00000000..f4b1222a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8e4a527d0b24c921b7b780c886fa357e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport Platform from \"../../../exports/Platform\";\nimport UIManager from \"../../../exports/UIManager\";\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {});\n }\n}\nfunction create(duration, type, property) {\n return {\n duration: duration,\n create: {\n type: type,\n property: property\n },\n update: {\n type: type\n },\n delete: {\n type: type,\n property: property\n }\n };\n}\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\n spring: {\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity'\n },\n update: {\n type: 'spring',\n springDamping: 0.4\n },\n delete: {\n type: 'linear',\n property: 'opacity'\n }\n }\n};\nvar LayoutAnimation = {\n configureNext: configureNext,\n create: create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard'\n }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n checkConfig: function checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n Presets: Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;","map":{"version":3,"names":["Platform","UIManager","__DEV__","process","env","NODE_ENV","configureNext","config","onAnimationDidEnd","isTesting","configureNextLayoutAnimation","create","duration","type","property","update","delete","Presets","easeInEaseOut","linear","spring","springDamping","LayoutAnimation","Types","Object","freeze","easeIn","easeOut","keyboard","Properties","opacity","scaleX","scaleY","scaleXY","checkConfig","console","error","bind"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {}\n /* unused onError */\n );\n }\n}\n\nfunction create(duration, type, property) {\n return {\n duration,\n create: {\n type,\n property\n },\n update: {\n type\n },\n delete: {\n type,\n property\n }\n };\n}\n\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\n spring: {\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity'\n },\n update: {\n type: 'spring',\n springDamping: 0.4\n },\n delete: {\n type: 'linear',\n property: 'opacity'\n }\n }\n};\n/**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n */\n\nvar LayoutAnimation = {\n /**\n * Schedules an animation to happen on the next layout.\n *\n * @param config Specifies animation properties:\n *\n * - `duration` in milliseconds\n * - `create`, `AnimationConfig` for animating in new views\n * - `update`, `AnimationConfig` for animating views that have been updated\n *\n * @param onAnimationDidEnd Called when the animation finished.\n * Only supported on iOS.\n * @param onError Called on error. Only supported on iOS.\n */\n configureNext,\n\n /**\n * Helper for creating a config for `configureNext`.\n */\n create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard'\n }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n\n checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n\n Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;"],"mappings":"AASA,YAAY;;AAEZ,OAAOA,QAAQ;AACf,OAAOC,SAAS;AAEhB,IAAIC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AAEnD,SAASC,aAAa,CAACC,MAAM,EAAEC,iBAAiB,EAAE;EAChD,IAAI,CAACR,QAAQ,CAACS,SAAS,EAAE;IACvBR,SAAS,CAACS,4BAA4B,CAACH,MAAM,EAAEC,iBAAiB,KAAK,IAAI,IAAIA,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAG,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAE7J;EACH;AACF;AAEA,SAASG,MAAM,CAACC,QAAQ,EAAEC,IAAI,EAAEC,QAAQ,EAAE;EACxC,OAAO;IACLF,QAAQ,EAARA,QAAQ;IACRD,MAAM,EAAE;MACNE,IAAI,EAAJA,IAAI;MACJC,QAAQ,EAARA;IACF,CAAC;IACDC,MAAM,EAAE;MACNF,IAAI,EAAJA;IACF,CAAC;IACDG,MAAM,EAAE;MACNH,IAAI,EAAJA,IAAI;MACJC,QAAQ,EAARA;IACF;EACF,CAAC;AACH;AAEA,IAAIG,OAAO,GAAG;EACZC,aAAa,EAAEP,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,CAAC;EACtDQ,MAAM,EAAER,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC;EACxCS,MAAM,EAAE;IACNR,QAAQ,EAAE,GAAG;IACbD,MAAM,EAAE;MACNE,IAAI,EAAE,QAAQ;MACdC,QAAQ,EAAE;IACZ,CAAC;IACDC,MAAM,EAAE;MACNF,IAAI,EAAE,QAAQ;MACdQ,aAAa,EAAE;IACjB,CAAC;IACDL,MAAM,EAAE;MACNH,IAAI,EAAE,QAAQ;MACdC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAYD,IAAIQ,eAAe,GAAG;EAcpBhB,aAAa,EAAbA,aAAa;EAKbK,MAAM,EAANA,MAAM;EACNY,KAAK,EAAEC,MAAM,CAACC,MAAM,CAAC;IACnBL,MAAM,EAAE,QAAQ;IAChBD,MAAM,EAAE,QAAQ;IAChBD,aAAa,EAAE,eAAe;IAC9BQ,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,SAAS;IAClBC,QAAQ,EAAE;EACZ,CAAC,CAAC;EACFC,UAAU,EAAEL,MAAM,CAACC,MAAM,CAAC;IACxBK,OAAO,EAAE,SAAS;IAClBC,MAAM,EAAE,QAAQ;IAChBC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE;EACX,CAAC,CAAC;EAEFC,WAAW,yBAAG;IACZC,OAAO,CAACC,KAAK,CAAC,qDAAqD,CAAC;EACtE,CAAC;EAEDnB,OAAO,EAAPA,OAAO;EACPC,aAAa,EAAEZ,aAAa,CAAC+B,IAAI,CAAC,IAAI,EAAEpB,OAAO,CAACC,aAAa,CAAC;EAC9DC,MAAM,EAAEb,aAAa,CAAC+B,IAAI,CAAC,IAAI,EAAEpB,OAAO,CAACE,MAAM,CAAC;EAChDC,MAAM,EAAEd,aAAa,CAAC+B,IAAI,CAAC,IAAI,EAAEpB,OAAO,CAACG,MAAM;AACjD,CAAC;AACD,eAAeE,eAAe"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/8eb3ea090c749b4bb391208351669135.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/8eb3ea090c749b4bb391208351669135.json new file mode 100644 index 00000000..ed775c90 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/8eb3ea090c749b4bb391208351669135.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { Platform, UnavailabilityError } from 'expo-modules-core';\nimport invariant from 'invariant';\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nfunction getBasePath(_ref) {\n var httpServerLocation = _ref.httpServerLocation;\n if (httpServerLocation[0] === '/') {\n return httpServerLocation.substr(1);\n }\n return httpServerLocation;\n}\nfunction getScale() {\n return Dimensions.get('window').scale;\n}\nfunction getScaledAssetPath(asset) {\n var scale = AssetSourceResolver.pickScale(asset.scales, getScale());\n var scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n var assetDir = getBasePath(asset);\n return assetDir + '/' + asset.name + scaleSuffix + (asset.type ? \".\" + asset.type : '');\n}\nvar AssetSourceResolver = function () {\n function AssetSourceResolver(serverUrl, jsbundleUrl, asset) {\n _classCallCheck(this, AssetSourceResolver);\n this.serverUrl = serverUrl;\n this.jsbundleUrl = jsbundleUrl;\n this.asset = asset;\n }\n _createClass(AssetSourceResolver, [{\n key: \"isLoadedFromServer\",\n value: function isLoadedFromServer() {\n return !!this.serverUrl;\n }\n }, {\n key: \"isLoadedFromFileSystem\",\n value: function isLoadedFromFileSystem() {\n return !!(this.jsbundleUrl && this.jsbundleUrl.startsWith('file://'));\n }\n }, {\n key: \"defaultAsset\",\n value: function defaultAsset() {\n if (this.isLoadedFromServer()) {\n return this.assetServerURL();\n }\n return this.scaledAssetURLNearBundle();\n }\n }, {\n key: \"assetServerURL\",\n value: function assetServerURL() {\n invariant(!!this.serverUrl, 'need server to load from');\n return this.fromSource(this.serverUrl + getScaledAssetPath(this.asset) + '?platform=' + Platform.OS + '&hash=' + this.asset.hash);\n }\n }, {\n key: \"scaledAssetPath\",\n value: function scaledAssetPath() {\n return this.fromSource(getScaledAssetPath(this.asset));\n }\n }, {\n key: \"scaledAssetURLNearBundle\",\n value: function scaledAssetURLNearBundle() {\n var path = this.jsbundleUrl || '';\n return this.fromSource(path + getScaledAssetPath(this.asset));\n }\n }, {\n key: \"resourceIdentifierWithoutScale\",\n value: function resourceIdentifierWithoutScale() {\n throw new UnavailabilityError('react-native', 'resourceIdentifierWithoutScale()');\n }\n }, {\n key: \"drawableFolderInBundle\",\n value: function drawableFolderInBundle() {\n throw new UnavailabilityError('react-native', 'drawableFolderInBundle()');\n }\n }, {\n key: \"fromSource\",\n value: function fromSource(source) {\n return {\n __packager_asset: true,\n width: this.asset.width,\n height: this.asset.height,\n uri: source,\n scale: AssetSourceResolver.pickScale(this.asset.scales, getScale())\n };\n }\n }], [{\n key: \"pickScale\",\n value: function pickScale(scales, deviceScale) {\n for (var i = 0; i < scales.length; i++) {\n if (scales[i] >= deviceScale) {\n return scales[i];\n }\n }\n return scales[scales.length - 1] || 1;\n }\n }]);\n return AssetSourceResolver;\n}();\nexport { AssetSourceResolver as default };","map":{"version":3,"sources":["../src/AssetSourceResolver.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform, UnavailabilityError } from 'expo-modules-core';\nimport invariant from 'invariant';\nimport { Dimensions } from 'react-native';\n\ntype PackagerAsset = {\n __packager_asset: boolean;\n fileSystemLocation: string;\n httpServerLocation: string;\n width?: number;\n height?: number;\n scales: number[];\n hash: string;\n name: string;\n type: string;\n};\n\nfunction getBasePath({ httpServerLocation }: PackagerAsset): string {\n if (httpServerLocation[0] === '/') {\n return httpServerLocation.substr(1);\n }\n return httpServerLocation;\n}\n\nexport type ResolvedAssetSource = {\n __packager_asset: boolean;\n width?: number;\n height?: number;\n uri: string;\n scale: number;\n};\n\nfunction getScale(): number {\n return Dimensions.get('window').scale;\n}\n\nfunction getScaledAssetPath(asset): string {\n const scale = AssetSourceResolver.pickScale(asset.scales, getScale());\n const scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n const assetDir = getBasePath(asset);\n return assetDir + '/' + asset.name + scaleSuffix + (asset.type ? `.${asset.type}` : '');\n}\n\nexport default class AssetSourceResolver {\n serverUrl?: string | null;\n // where the jsbundle is being run from\n jsbundleUrl?: string | null;\n // the asset to resolve\n asset: PackagerAsset;\n\n constructor(\n serverUrl: string | undefined | null,\n jsbundleUrl: string | undefined | null,\n asset: PackagerAsset\n ) {\n this.serverUrl = serverUrl;\n this.jsbundleUrl = jsbundleUrl;\n this.asset = asset;\n }\n isLoadedFromServer(): boolean {\n return !!this.serverUrl;\n }\n isLoadedFromFileSystem(): boolean {\n return !!(this.jsbundleUrl && this.jsbundleUrl.startsWith('file://'));\n }\n defaultAsset(): ResolvedAssetSource {\n if (this.isLoadedFromServer()) {\n return this.assetServerURL();\n }\n\n return this.scaledAssetURLNearBundle();\n }\n assetServerURL(): ResolvedAssetSource {\n invariant(!!this.serverUrl, 'need server to load from');\n return this.fromSource(\n this.serverUrl +\n getScaledAssetPath(this.asset) +\n '?platform=' +\n Platform.OS +\n '&hash=' +\n this.asset.hash\n );\n }\n scaledAssetPath(): ResolvedAssetSource {\n return this.fromSource(getScaledAssetPath(this.asset));\n }\n scaledAssetURLNearBundle(): ResolvedAssetSource {\n const path = this.jsbundleUrl || '';\n return this.fromSource(path + getScaledAssetPath(this.asset));\n }\n resourceIdentifierWithoutScale(): ResolvedAssetSource {\n throw new UnavailabilityError('react-native', 'resourceIdentifierWithoutScale()');\n }\n drawableFolderInBundle(): ResolvedAssetSource {\n throw new UnavailabilityError('react-native', 'drawableFolderInBundle()');\n }\n fromSource(source: string): ResolvedAssetSource {\n return {\n __packager_asset: true,\n width: this.asset.width,\n height: this.asset.height,\n uri: source,\n scale: AssetSourceResolver.pickScale(this.asset.scales, getScale()),\n };\n }\n\n static pickScale(scales: number[], deviceScale: number): number {\n for (let i = 0; i < scales.length; i++) {\n if (scales[i] >= deviceScale) {\n return scales[i];\n }\n }\n return scales[scales.length - 1] || 1;\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/9156f1f2a6a134179f7cc1ad1f3ad294.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/9156f1f2a6a134179f7cc1ad1f3ad294.json new file mode 100644 index 00000000..0419380e --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/9156f1f2a6a134179f7cc1ad1f3ad294.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { useLocaleContext } from \"../../modules/useLocale\";\nexport default useLocaleContext;","map":{"version":3,"names":["useLocaleContext"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/useLocaleContext/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { useLocaleContext } from '../../modules/useLocale';\nexport default useLocaleContext;"],"mappings":"AAQA,SAASA,gBAAgB;AACzB,eAAeA,gBAAgB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/92265e8b309da9177f5a0632a46bf965.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/92265e8b309da9177f5a0632a46bf965.json new file mode 100644 index 00000000..82855281 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/92265e8b309da9177f5a0632a46bf965.json @@ -0,0 +1 @@ +{"ast":null,"code":"import mergeOptions from 'merge-options';\nvar merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true\n});\nfunction mergeLocalStorageItem(key, value) {\n var oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n var oldObject = JSON.parse(oldValue);\n var newObject = JSON.parse(value);\n var nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\nfunction createPromise(getValue, callback) {\n return new Promise(function (resolve, reject) {\n try {\n var value = getValue();\n callback === null || callback === void 0 ? void 0 : callback(null, value);\n resolve(value);\n } catch (err) {\n callback === null || callback === void 0 ? void 0 : callback(err);\n reject(err);\n }\n });\n}\nfunction createPromiseAll(promises, callback, processResult) {\n return Promise.all(promises).then(function (result) {\n var _ref;\n var value = (_ref = processResult === null || processResult === void 0 ? void 0 : processResult(result)) != null ? _ref : null;\n callback === null || callback === void 0 ? void 0 : callback(null, value);\n return Promise.resolve(value);\n }, function (errors) {\n callback === null || callback === void 0 ? void 0 : callback(errors);\n return Promise.reject(errors);\n });\n}\nvar AsyncStorage = {\n getItem: function getItem(key, callback) {\n return createPromise(function () {\n return window.localStorage.getItem(key);\n }, callback);\n },\n setItem: function setItem(key, value, callback) {\n return createPromise(function () {\n return window.localStorage.setItem(key, value);\n }, callback);\n },\n removeItem: function removeItem(key, callback) {\n return createPromise(function () {\n return window.localStorage.removeItem(key);\n }, callback);\n },\n mergeItem: function mergeItem(key, value, callback) {\n return createPromise(function () {\n return mergeLocalStorageItem(key, value);\n }, callback);\n },\n clear: function clear(callback) {\n return createPromise(function () {\n return window.localStorage.clear();\n }, callback);\n },\n getAllKeys: function getAllKeys(callback) {\n return createPromise(function () {\n var numberOfKeys = window.localStorage.length;\n var keys = [];\n for (var i = 0; i < numberOfKeys; i += 1) {\n var key = window.localStorage.key(i) || '';\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n flushGetRequests: function flushGetRequests() {\n return undefined;\n },\n multiGet: function multiGet(keys, callback) {\n var promises = keys.map(function (key) {\n return AsyncStorage.getItem(key);\n });\n var processResult = function processResult(result) {\n return result.map(function (value, i) {\n return [keys[i], value];\n });\n };\n return createPromiseAll(promises, callback, processResult);\n },\n multiSet: function multiSet(keyValuePairs, callback) {\n var promises = keyValuePairs.map(function (item) {\n return AsyncStorage.setItem(item[0], item[1]);\n });\n return createPromiseAll(promises, callback);\n },\n multiRemove: function multiRemove(keys, callback) {\n var promises = keys.map(function (key) {\n return AsyncStorage.removeItem(key);\n });\n return createPromiseAll(promises, callback);\n },\n multiMerge: function multiMerge(keyValuePairs, callback) {\n var promises = keyValuePairs.map(function (item) {\n return AsyncStorage.mergeItem(item[0], item[1]);\n });\n return createPromiseAll(promises, callback);\n }\n};\nexport default AsyncStorage;","map":{"version":3,"sources":["AsyncStorage.ts"],"names":["mergeOptions","merge","bind","concatArrays","ignoreUndefined","mergeLocalStorageItem","key","value","oldValue","window","localStorage","getItem","oldObject","JSON","parse","newObject","nextValue","stringify","setItem","createPromise","getValue","callback","Promise","resolve","reject","err","createPromiseAll","promises","processResult","all","then","result","errors","AsyncStorage","removeItem","mergeItem","clear","getAllKeys","numberOfKeys","length","keys","i","push","flushGetRequests","undefined","multiGet","map","multiSet","keyValuePairs","item","multiRemove","multiMerge"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// @ts-ignore Cannot find module 'merge-options' or its corresponding type declarations\nimport mergeOptions from 'merge-options';\nimport type {\n AsyncStorageStatic,\n MultiCallback,\n MultiGetCallback,\n} from './types';\n\nconst merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true,\n});\n\nfunction mergeLocalStorageItem(key: string, value: string) {\n const oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n const oldObject = JSON.parse(oldValue);\n const newObject = JSON.parse(value);\n const nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\n\nfunction createPromise(\n getValue: () => Result,\n callback?: Callback\n): Promise {\n return new Promise((resolve, reject) => {\n try {\n const value = getValue();\n callback?.(null, value);\n resolve(value);\n } catch (err) {\n callback?.(err);\n reject(err);\n }\n });\n}\n\nfunction createPromiseAll(\n promises: Promise[],\n callback?: MultiCallback | MultiGetCallback,\n processResult?: ResultProcessor\n): Promise {\n return Promise.all(promises).then(\n (result) => {\n const value = processResult?.(result) ?? null;\n callback?.(null, value);\n return Promise.resolve(value);\n },\n (errors) => {\n callback?.(errors);\n return Promise.reject(errors);\n }\n );\n}\n\nconst AsyncStorage: AsyncStorageStatic = {\n /**\n * Fetches `key` value.\n */\n getItem: (key, callback) => {\n return createPromise(() => window.localStorage.getItem(key), callback);\n },\n\n /**\n * Sets `value` for `key`.\n */\n setItem: (key, value, callback) => {\n return createPromise(\n () => window.localStorage.setItem(key, value),\n callback\n );\n },\n\n /**\n * Removes a `key`\n */\n removeItem: (key, callback) => {\n return createPromise(() => window.localStorage.removeItem(key), callback);\n },\n\n /**\n * Merges existing value with input value, assuming they are stringified JSON.\n */\n mergeItem: (key, value, callback) => {\n return createPromise(() => mergeLocalStorageItem(key, value), callback);\n },\n\n /**\n * Erases *all* AsyncStorage for the domain.\n */\n clear: (callback) => {\n return createPromise(() => window.localStorage.clear(), callback);\n },\n\n /**\n * Gets *all* keys known to the app, for all callers, libraries, etc.\n */\n getAllKeys: (callback) => {\n return createPromise(() => {\n const numberOfKeys = window.localStorage.length;\n const keys: string[] = [];\n for (let i = 0; i < numberOfKeys; i += 1) {\n const key = window.localStorage.key(i) || '';\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n\n /**\n * (stub) Flushes any pending requests using a single batch call to get the data.\n */\n flushGetRequests: () => undefined,\n\n /**\n * multiGet resolves to an array of key-value pair arrays that matches the\n * input format of multiSet.\n *\n * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]\n */\n multiGet: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.getItem(key));\n const processResult = (result: string[]) =>\n result.map((value, i) => [keys[i], value]);\n return createPromiseAll(promises, callback, processResult);\n },\n\n /**\n * Takes an array of key-value array pairs.\n * multiSet([['k1', 'val1'], ['k2', 'val2']])\n */\n multiSet: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.setItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Delete all the keys in the `keys` array.\n */\n multiRemove: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.removeItem(key));\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Takes an array of key-value array pairs and merges them with existing\n * values, assuming they are stringified JSON.\n *\n * multiMerge([['k1', 'val1'], ['k2', 'val2']])\n */\n multiMerge: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.mergeItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n};\n\nexport default AsyncStorage;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/92ad368e5c8483651b39e313acd71074.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/92ad368e5c8483651b39e313acd71074.json new file mode 100644 index 00000000..f589a1c4 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/92ad368e5c8483651b39e313acd71074.json @@ -0,0 +1 @@ +{"ast":null,"code":"import canUseDOM from \"../../modules/canUseDom\";\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme: function getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener: function addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = function mappedListener(_ref) {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove: remove\n };\n }\n};\nexport default Appearance;","map":{"version":3,"names":["canUseDOM","getQuery","window","matchMedia","query","listenerMapping","WeakMap","Appearance","getColorScheme","matches","addChangeListener","listener","mappedListener","get","_ref","colorScheme","set","addListener","remove","removeListener","delete"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Appearance/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\n\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n\n listenerMapping.set(listener, mappedListener);\n }\n\n if (query) {\n query.addListener(mappedListener);\n }\n\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n\n listenerMapping.delete(listener);\n }\n\n return {\n remove\n };\n }\n\n};\nexport default Appearance;"],"mappings":"AASA,OAAOA,SAAS;AAEhB,SAASC,QAAQ,GAAG;EAClB,OAAOD,SAAS,IAAIE,MAAM,CAACC,UAAU,IAAI,IAAI,GAAGD,MAAM,CAACC,UAAU,CAAC,8BAA8B,CAAC,GAAG,IAAI;AAC1G;AAEA,IAAIC,KAAK,GAAGH,QAAQ,EAAE;AACtB,IAAII,eAAe,GAAG,IAAIC,OAAO,EAAE;AACnC,IAAIC,UAAU,GAAG;EACfC,cAAc,4BAAG;IACf,OAAOJ,KAAK,IAAIA,KAAK,CAACK,OAAO,GAAG,MAAM,GAAG,OAAO;EAClD,CAAC;EAEDC,iBAAiB,6BAACC,QAAQ,EAAE;IAC1B,IAAIC,cAAc,GAAGP,eAAe,CAACQ,GAAG,CAACF,QAAQ,CAAC;IAElD,IAAI,CAACC,cAAc,EAAE;MACnBA,cAAc,GAAG,wBAAAE,IAAI,EAAI;QACvB,IAAIL,OAAO,GAAGK,IAAI,CAACL,OAAO;QAC1BE,QAAQ,CAAC;UACPI,WAAW,EAAEN,OAAO,GAAG,MAAM,GAAG;QAClC,CAAC,CAAC;MACJ,CAAC;MAEDJ,eAAe,CAACW,GAAG,CAACL,QAAQ,EAAEC,cAAc,CAAC;IAC/C;IAEA,IAAIR,KAAK,EAAE;MACTA,KAAK,CAACa,WAAW,CAACL,cAAc,CAAC;IACnC;IAEA,SAASM,MAAM,GAAG;MAChB,IAAIN,cAAc,GAAGP,eAAe,CAACQ,GAAG,CAACF,QAAQ,CAAC;MAElD,IAAIP,KAAK,IAAIQ,cAAc,EAAE;QAC3BR,KAAK,CAACe,cAAc,CAACP,cAAc,CAAC;MACtC;MAEAP,eAAe,CAACe,MAAM,CAACT,QAAQ,CAAC;IAClC;IAEA,OAAO;MACLO,MAAM,EAANA;IACF,CAAC;EACH;AAEF,CAAC;AACD,eAAeX,UAAU"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/93e1687369b4f69695381ee7eca83133.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/93e1687369b4f69695381ee7eca83133.json new file mode 100644 index 00000000..5978678a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/93e1687369b4f69695381ee7eca83133.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport createMultiStyleIconSet from \"./create-multi-style-icon-set\";\nvar FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand'\n};\nfunction createFA5iconSet(glyphMap) {\n var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var pro = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var metadataKeys = Object.keys(metadata);\n var fontFamily = \"FontAwesome5\" + (pro ? 'Pro' : 'Free');\n function fallbackFamily(glyph) {\n for (var i = 0; i < metadataKeys.length; i += 1) {\n var family = metadataKeys[i];\n if (metadata[family].indexOf(glyph) !== -1) {\n return family === 'brands' ? 'brand' : family;\n }\n }\n return 'regular';\n }\n function glyphValidator(glyph, style) {\n var family = style === 'brand' ? 'brands' : style;\n if (metadataKeys.indexOf(family) === -1) return false;\n return metadata[family].indexOf(glyph) !== -1;\n }\n function createFontAwesomeStyle(style, fontWeight) {\n var family = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fontFamily;\n var styleName = style;\n var fontFile = \"FontAwesome5_\" + (pro ? \"Pro_\" + styleName : styleName) + \".ttf\";\n if (styleName === 'Brands') {\n styleName = 'Regular';\n fontFile = 'FontAwesome5_Brands.ttf';\n }\n return {\n fontFamily: family + \"-\" + styleName,\n fontFile: fontFile,\n fontStyle: Platform.select({\n ios: {\n fontWeight: fontWeight\n },\n default: {}\n }),\n glyphMap: glyphMap\n };\n }\n var brandIcons = createFontAwesomeStyle('Brands', '400', 'FontAwesome5Brands');\n var lightIcons = createFontAwesomeStyle('Light', '300');\n var regularIcons = createFontAwesomeStyle('Regular', '400');\n var solidIcons = createFontAwesomeStyle('Solid', '900');\n var Icon = createMultiStyleIconSet({\n brand: brandIcons,\n light: lightIcons,\n regular: regularIcons,\n solid: solidIcons\n }, {\n defaultStyle: 'regular',\n fallbackFamily: fallbackFamily,\n glyphValidator: glyphValidator\n });\n return Icon;\n}\nexport { createFA5iconSet, FA5Style };","map":{"version":3,"names":["createMultiStyleIconSet","FA5Style","regular","light","solid","brand","createFA5iconSet","glyphMap","metadata","pro","metadataKeys","Object","keys","fontFamily","fallbackFamily","glyph","i","length","family","indexOf","glyphValidator","style","createFontAwesomeStyle","fontWeight","styleName","fontFile","fontStyle","Platform","select","ios","default","brandIcons","lightIcons","regularIcons","solidIcons","Icon","defaultStyle"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/create-icon-set-from-fontawesome5.js"],"sourcesContent":["import { Platform } from 'react-native';\nimport createMultiStyleIconSet from './create-multi-style-icon-set';\n\nconst FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand',\n};\n\nfunction createFA5iconSet(glyphMap, metadata = {}, pro = false) {\n const metadataKeys = Object.keys(metadata);\n const fontFamily = `FontAwesome5${pro ? 'Pro' : 'Free'}`;\n\n function fallbackFamily(glyph) {\n for (let i = 0; i < metadataKeys.length; i += 1) {\n const family = metadataKeys[i];\n if (metadata[family].indexOf(glyph) !== -1) {\n return family === 'brands' ? 'brand' : family;\n }\n }\n\n return 'regular';\n }\n\n function glyphValidator(glyph, style) {\n const family = style === 'brand' ? 'brands' : style;\n if (metadataKeys.indexOf(family) === -1) return false;\n return metadata[family].indexOf(glyph) !== -1;\n }\n\n function createFontAwesomeStyle(style, fontWeight, family = fontFamily) {\n let styleName = style;\n let fontFile = `FontAwesome5_${pro ? `Pro_${styleName}` : styleName}.ttf`;\n\n if (styleName === 'Brands') {\n styleName = 'Regular';\n fontFile = 'FontAwesome5_Brands.ttf';\n }\n\n return {\n fontFamily: `${family}-${styleName}`,\n fontFile,\n fontStyle: Platform.select({\n ios: {\n fontWeight,\n },\n default: {},\n }),\n glyphMap,\n };\n }\n\n const brandIcons = createFontAwesomeStyle(\n 'Brands',\n '400',\n 'FontAwesome5Brands'\n );\n const lightIcons = createFontAwesomeStyle('Light', '300');\n const regularIcons = createFontAwesomeStyle('Regular', '400');\n const solidIcons = createFontAwesomeStyle('Solid', '900');\n const Icon = createMultiStyleIconSet(\n {\n brand: brandIcons,\n light: lightIcons,\n regular: regularIcons,\n solid: solidIcons,\n },\n {\n defaultStyle: 'regular',\n fallbackFamily,\n glyphValidator,\n }\n );\n\n return Icon;\n}\n\nexport { createFA5iconSet, FA5Style };\n"],"mappings":";AACA,OAAOA,uBAAuB;AAE9B,IAAMC,QAAQ,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC;AAED,SAASC,gBAAgB,CAACC,QAAQ,EAA8B;EAAA,IAA5BC,QAAQ,uEAAG,CAAC,CAAC;EAAA,IAAEC,GAAG,uEAAG,KAAK;EAC5D,IAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAAC;EAC1C,IAAMK,UAAU,qBAAkBJ,GAAG,GAAG,KAAK,GAAG,MAAM,CAAE;EAExD,SAASK,cAAc,CAACC,KAAK,EAAE;IAC7B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,CAACO,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MAC/C,IAAME,MAAM,GAAGR,YAAY,CAACM,CAAC,CAAC;MAC9B,IAAIR,QAAQ,CAACU,MAAM,CAAC,CAACC,OAAO,CAACJ,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;QAC1C,OAAOG,MAAM,KAAK,QAAQ,GAAG,OAAO,GAAGA,MAAM;MAC/C;IACF;IAEA,OAAO,SAAS;EAClB;EAEA,SAASE,cAAc,CAACL,KAAK,EAAEM,KAAK,EAAE;IACpC,IAAMH,MAAM,GAAGG,KAAK,KAAK,OAAO,GAAG,QAAQ,GAAGA,KAAK;IACnD,IAAIX,YAAY,CAACS,OAAO,CAACD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,KAAK;IACrD,OAAOV,QAAQ,CAACU,MAAM,CAAC,CAACC,OAAO,CAACJ,KAAK,CAAC,KAAK,CAAC,CAAC;EAC/C;EAEA,SAASO,sBAAsB,CAACD,KAAK,EAAEE,UAAU,EAAuB;IAAA,IAArBL,MAAM,uEAAGL,UAAU;IACpE,IAAIW,SAAS,GAAGH,KAAK;IACrB,IAAII,QAAQ,sBAAmBhB,GAAG,YAAUe,SAAS,GAAKA,SAAS,UAAM;IAEzE,IAAIA,SAAS,KAAK,QAAQ,EAAE;MAC1BA,SAAS,GAAG,SAAS;MACrBC,QAAQ,GAAG,yBAAyB;IACtC;IAEA,OAAO;MACLZ,UAAU,EAAKK,MAAM,SAAIM,SAAW;MACpCC,QAAQ,EAARA,QAAQ;MACRC,SAAS,EAAEC,QAAQ,CAACC,MAAM,CAAC;QACzBC,GAAG,EAAE;UACHN,UAAU,EAAVA;QACF,CAAC;QACDO,OAAO,EAAE,CAAC;MACZ,CAAC,CAAC;MACFvB,QAAQ,EAARA;IACF,CAAC;EACH;EAEA,IAAMwB,UAAU,GAAGT,sBAAsB,CACvC,QAAQ,EACR,KAAK,EACL,oBAAoB,CACrB;EACD,IAAMU,UAAU,GAAGV,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;EACzD,IAAMW,YAAY,GAAGX,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC;EAC7D,IAAMY,UAAU,GAAGZ,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;EACzD,IAAMa,IAAI,GAAGnC,uBAAuB,CAClC;IACEK,KAAK,EAAE0B,UAAU;IACjB5B,KAAK,EAAE6B,UAAU;IACjB9B,OAAO,EAAE+B,YAAY;IACrB7B,KAAK,EAAE8B;EACT,CAAC,EACD;IACEE,YAAY,EAAE,SAAS;IACvBtB,cAAc,EAAdA,cAAc;IACdM,cAAc,EAAdA;EACF,CAAC,CACF;EAED,OAAOe,IAAI;AACb;AAEA,SAAS7B,gBAAgB,EAAEL,QAAQ"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/9450a43f8252c9bee07535b895033913.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/9450a43f8252c9bee07535b895033913.json new file mode 100644 index 00000000..6f6abb21 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/9450a43f8252c9bee07535b895033913.json @@ -0,0 +1 @@ +{"ast":null,"code":"export * from 'react-native-web/dist/modules/AssetRegistry';","map":{"version":3,"sources":["../src/AssetRegistry.web.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C","sourcesContent":["export * from 'react-native-web/dist/modules/AssetRegistry';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/9625bf879b513bac505d655a8de5c4a4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/9625bf879b513bac505d655a8de5c4a4.json new file mode 100644 index 00000000..a3c41124 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/9625bf879b513bac505d655a8de5c4a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function findLastIndex(array, callback) {\n for (var i = array.length - 1; i >= 0; i--) {\n if (callback(array[i])) {\n return i;\n }\n }\n return -1;\n}","map":{"version":3,"sources":["utils/findLastIndex.tsx"],"names":["findLastIndex","array","callback","i","length"],"mappings":"AAAA,eAAe,SAASA,aAAa,CACnCC,KAAU,EACVC,QAA+B,EAC/B;EACA,KAAK,IAAIC,CAAC,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1C,IAAID,QAAQ,CAACD,KAAK,CAACE,CAAC,CAAC,CAAC,EAAE;MACtB,OAAOA,CAAC;IACV;EACF;EAEA,OAAO,CAAC,CAAC;AACX","sourceRoot":"../../../src","sourcesContent":["export default function findLastIndex(array, callback) {\n for (var i = array.length - 1; i >= 0; i--) {\n if (callback(array[i])) {\n return i;\n }\n }\n return -1;\n}\n//# sourceMappingURL=findLastIndex.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/962fd170354a35c591189491aa58f56a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/962fd170354a35c591189491aa58f56a.json new file mode 100644 index 00000000..04777d76 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/962fd170354a35c591189491aa58f56a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import AsyncStorage from \"./AsyncStorage\";\nexport { useAsyncStorage } from \"./hooks\";\nexport default AsyncStorage;","map":{"version":3,"sources":["index.ts"],"names":["AsyncStorage","useAsyncStorage"],"mappings":"AAAA,OAAOA,YAAP;AAEA,SAASC,eAAT;AAIA,eAAeD,YAAf","sourcesContent":["import AsyncStorage from './AsyncStorage';\n\nexport { useAsyncStorage } from './hooks';\n\nexport type { AsyncStorageStatic } from './types';\n\nexport default AsyncStorage;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/968eb48e38f2bc3834f7ef9782fb6e77.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/968eb48e38f2bc3834f7ef9782fb6e77.json new file mode 100644 index 00000000..acef4fb2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/968eb48e38f2bc3834f7ef9782fb6e77.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { deleteFavoriteCity } from \"../../asyncStorange/deleteFavoriteCityStorage\";\nimport { storeFavoriteCity } from \"../../asyncStorange/storeFavoriteCity\";\nimport { getWeather } from \"./getWeather\";\nimport { setFavoriteCity } from \"./setFavoriteCity\";\nimport { setWeather } from \"./setWeather\";\nexport var addFavoriteCity = function addFavoriteCity(city) {\n return function () {\n var _ref = _asyncToGenerator(function* (dispatch) {\n try {\n yield deleteFavoriteCity();\n yield storeFavoriteCity(city);\n dispatch(setFavoriteCity(city));\n if (city != null) {\n dispatch(getWeather(city));\n } else {\n dispatch(setWeather(null));\n }\n } catch (error) {\n console.log('Error---------', error);\n }\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n};","map":{"version":3,"names":["deleteFavoriteCity","storeFavoriteCity","getWeather","setFavoriteCity","setWeather","addFavoriteCity","city","dispatch","error","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/addFavoriteCity.ts"],"sourcesContent":["import { deleteFavoriteCity } from \"../../asyncStorange/deleteFavoriteCityStorage\";\nimport { storeFavoriteCity } from \"../../asyncStorange/storeFavoriteCity\";\nimport { City } from \"../../data/stub\";\nimport { getWeather } from \"./getWeather\";\nimport { setFavoriteCity } from \"./setFavoriteCity\";\nimport { setWeather } from \"./setWeather\";\n\nexport const addFavoriteCity = (city : City | null) => {\n return async dispatch => {\n try {\n await deleteFavoriteCity()\n await storeFavoriteCity(city)\n dispatch(setFavoriteCity(city))\n if (city != null){\n dispatch(getWeather(city))\n }\n else{\n dispatch(setWeather(null))\n }\n } catch (error) {\n console.log('Error---------', error);\n //You can dispatch to another action if you want to display an error message in the application\n //dispatch(fetchDataRejected(error))\n }\n }\n }"],"mappings":";AAAA,SAASA,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B,SAASC,UAAU;AACnB,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnB,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAIC,IAAkB,EAAK;EACnD;IAAA,6BAAO,WAAMC,QAAQ,EAAI;MACrB,IAAI;QACA,MAAMP,kBAAkB,EAAE;QAC1B,MAAMC,iBAAiB,CAACK,IAAI,CAAC;QAC7BC,QAAQ,CAACJ,eAAe,CAACG,IAAI,CAAC,CAAC;QAC/B,IAAIA,IAAI,IAAI,IAAI,EAAC;UACbC,QAAQ,CAACL,UAAU,CAACI,IAAI,CAAC,CAAC;QAC9B,CAAC,MACG;UACAC,QAAQ,CAACH,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B;MACJ,CAAC,CAAC,OAAOI,KAAK,EAAE;QACZC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEF,KAAK,CAAC;MAGxC;IACJ,CAAC;IAAA;MAAA;IAAA;EAAA;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/97654510ab720fc0a32046dd3e3d5f49.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/97654510ab720fc0a32046dd3e3d5f49.json new file mode 100644 index 00000000..4e13e368 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/97654510ab720fc0a32046dd3e3d5f49.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createElement from \"../createElement\";\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color: color\n };\n return createElement('option', {\n children: label,\n style: style,\n testID: testID,\n value: value\n });\n}","map":{"version":3,"names":["createElement","PickerItem","props","color","label","testID","value","style","children"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Picker/PickerItem.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createElement from '../createElement';\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color\n };\n return createElement('option', {\n children: label,\n style,\n testID,\n value\n });\n}"],"mappings":"AASA,OAAOA,aAAa;AACpB,eAAe,SAASC,UAAU,CAACC,KAAK,EAAE;EACxC,IAAIC,KAAK,GAAGD,KAAK,CAACC,KAAK;IACnBC,KAAK,GAAGF,KAAK,CAACE,KAAK;IACnBC,MAAM,GAAGH,KAAK,CAACG,MAAM;IACrBC,KAAK,GAAGJ,KAAK,CAACI,KAAK;EACvB,IAAIC,KAAK,GAAG;IACVJ,KAAK,EAALA;EACF,CAAC;EACD,OAAOH,aAAa,CAAC,QAAQ,EAAE;IAC7BQ,QAAQ,EAAEJ,KAAK;IACfG,KAAK,EAALA,KAAK;IACLF,MAAM,EAANA,MAAM;IACNC,KAAK,EAALA;EACF,CAAC,CAAC;AACJ"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/97f625f8584ddd10cdcc4984491d7d5c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/97f625f8584ddd10cdcc4984491d7d5c.json new file mode 100644 index 00000000..0a58797b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/97f625f8584ddd10cdcc4984491d7d5c.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as unstable_createElement } from \"./exports/createElement\";\nexport { default as findNodeHandle } from \"./exports/findNodeHandle\";\nexport { default as processColor } from \"./exports/processColor\";\nexport { default as render } from \"./exports/render\";\nexport { default as unmountComponentAtNode } from \"./exports/unmountComponentAtNode\";\nexport { default as NativeModules } from \"./exports/NativeModules\";\nexport { default as AccessibilityInfo } from \"./exports/AccessibilityInfo\";\nexport { default as Alert } from \"./exports/Alert\";\nexport { default as Animated } from \"./exports/Animated\";\nexport { default as Appearance } from \"./exports/Appearance\";\nexport { default as AppRegistry } from \"./exports/AppRegistry\";\nexport { default as AppState } from \"./exports/AppState\";\nexport { default as BackHandler } from \"./exports/BackHandler\";\nexport { default as Clipboard } from \"./exports/Clipboard\";\nexport { default as DeviceInfo } from \"./exports/DeviceInfo\";\nexport { default as Dimensions } from \"./exports/Dimensions\";\nexport { default as Easing } from \"./exports/Easing\";\nexport { default as I18nManager } from \"./exports/I18nManager\";\nexport { default as Keyboard } from \"./exports/Keyboard\";\nexport { default as InteractionManager } from \"./exports/InteractionManager\";\nexport { default as LayoutAnimation } from \"./exports/LayoutAnimation\";\nexport { default as Linking } from \"./exports/Linking\";\nexport { default as NativeEventEmitter } from \"./exports/NativeEventEmitter\";\nexport { default as PanResponder } from \"./exports/PanResponder\";\nexport { default as PixelRatio } from \"./exports/PixelRatio\";\nexport { default as Platform } from \"./exports/Platform\";\nexport { default as Share } from \"./exports/Share\";\nexport { default as StyleSheet } from \"./exports/StyleSheet\";\nexport { default as UIManager } from \"./exports/UIManager\";\nexport { default as Vibration } from \"./exports/Vibration\";\nexport { default as ActivityIndicator } from \"./exports/ActivityIndicator\";\nexport { default as Button } from \"./exports/Button\";\nexport { default as CheckBox } from \"./exports/CheckBox\";\nexport { default as FlatList } from \"./exports/FlatList\";\nexport { default as Image } from \"./exports/Image\";\nexport { default as ImageBackground } from \"./exports/ImageBackground\";\nexport { default as KeyboardAvoidingView } from \"./exports/KeyboardAvoidingView\";\nexport { default as Modal } from \"./exports/Modal\";\nexport { default as Picker } from \"./exports/Picker\";\nexport { default as Pressable } from \"./exports/Pressable\";\nexport { default as ProgressBar } from \"./exports/ProgressBar\";\nexport { default as RefreshControl } from \"./exports/RefreshControl\";\nexport { default as SafeAreaView } from \"./exports/SafeAreaView\";\nexport { default as ScrollView } from \"./exports/ScrollView\";\nexport { default as SectionList } from \"./exports/SectionList\";\nexport { default as StatusBar } from \"./exports/StatusBar\";\nexport { default as Switch } from \"./exports/Switch\";\nexport { default as Text } from \"./exports/Text\";\nexport { default as TextInput } from \"./exports/TextInput\";\nexport { default as Touchable } from \"./exports/Touchable\";\nexport { default as TouchableHighlight } from \"./exports/TouchableHighlight\";\nexport { default as TouchableNativeFeedback } from \"./exports/TouchableNativeFeedback\";\nexport { default as TouchableOpacity } from \"./exports/TouchableOpacity\";\nexport { default as TouchableWithoutFeedback } from \"./exports/TouchableWithoutFeedback\";\nexport { default as View } from \"./exports/View\";\nexport { default as VirtualizedList } from \"./exports/VirtualizedList\";\nexport { default as YellowBox } from \"./exports/YellowBox\";\nexport { default as LogBox } from \"./exports/LogBox\";\nexport { default as DrawerLayoutAndroid } from \"./exports/DrawerLayoutAndroid\";\nexport { default as InputAccessoryView } from \"./exports/InputAccessoryView\";\nexport { default as ToastAndroid } from \"./exports/ToastAndroid\";\nexport { default as PermissionsAndroid } from \"./exports/PermissionsAndroid\";\nexport { default as Settings } from \"./exports/Settings\";\nexport { default as Systrace } from \"./exports/Systrace\";\nexport { default as TVEventHandler } from \"./exports/TVEventHandler\";\nexport { default as DeviceEventEmitter } from \"./exports/DeviceEventEmitter\";\nexport { default as useColorScheme } from \"./exports/useColorScheme\";\nexport { default as useLocaleContext } from \"./exports/useLocaleContext\";\nexport { default as useWindowDimensions } from \"./exports/useWindowDimensions\";","map":{"version":3,"names":["default","unstable_createElement","findNodeHandle","processColor","render","unmountComponentAtNode","NativeModules","AccessibilityInfo","Alert","Animated","Appearance","AppRegistry","AppState","BackHandler","Clipboard","DeviceInfo","Dimensions","Easing","I18nManager","Keyboard","InteractionManager","LayoutAnimation","Linking","NativeEventEmitter","PanResponder","PixelRatio","Platform","Share","StyleSheet","UIManager","Vibration","ActivityIndicator","Button","CheckBox","FlatList","Image","ImageBackground","KeyboardAvoidingView","Modal","Picker","Pressable","ProgressBar","RefreshControl","SafeAreaView","ScrollView","SectionList","StatusBar","Switch","Text","TextInput","Touchable","TouchableHighlight","TouchableNativeFeedback","TouchableOpacity","TouchableWithoutFeedback","View","VirtualizedList","YellowBox","LogBox","DrawerLayoutAndroid","InputAccessoryView","ToastAndroid","PermissionsAndroid","Settings","Systrace","TVEventHandler","DeviceEventEmitter","useColorScheme","useLocaleContext","useWindowDimensions"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/index.js"],"sourcesContent":["export { default as unstable_createElement } from './exports/createElement';\nexport { default as findNodeHandle } from './exports/findNodeHandle';\nexport { default as processColor } from './exports/processColor';\nexport { default as render } from './exports/render';\nexport { default as unmountComponentAtNode } from './exports/unmountComponentAtNode';\nexport { default as NativeModules } from './exports/NativeModules'; // APIs\n\nexport { default as AccessibilityInfo } from './exports/AccessibilityInfo';\nexport { default as Alert } from './exports/Alert';\nexport { default as Animated } from './exports/Animated';\nexport { default as Appearance } from './exports/Appearance';\nexport { default as AppRegistry } from './exports/AppRegistry';\nexport { default as AppState } from './exports/AppState';\nexport { default as BackHandler } from './exports/BackHandler';\nexport { default as Clipboard } from './exports/Clipboard';\nexport { default as DeviceInfo } from './exports/DeviceInfo';\nexport { default as Dimensions } from './exports/Dimensions';\nexport { default as Easing } from './exports/Easing';\nexport { default as I18nManager } from './exports/I18nManager';\nexport { default as Keyboard } from './exports/Keyboard';\nexport { default as InteractionManager } from './exports/InteractionManager';\nexport { default as LayoutAnimation } from './exports/LayoutAnimation';\nexport { default as Linking } from './exports/Linking';\nexport { default as NativeEventEmitter } from './exports/NativeEventEmitter';\nexport { default as PanResponder } from './exports/PanResponder';\nexport { default as PixelRatio } from './exports/PixelRatio';\nexport { default as Platform } from './exports/Platform';\nexport { default as Share } from './exports/Share';\nexport { default as StyleSheet } from './exports/StyleSheet';\nexport { default as UIManager } from './exports/UIManager';\nexport { default as Vibration } from './exports/Vibration'; // components\n\nexport { default as ActivityIndicator } from './exports/ActivityIndicator';\nexport { default as Button } from './exports/Button';\nexport { default as CheckBox } from './exports/CheckBox';\nexport { default as FlatList } from './exports/FlatList';\nexport { default as Image } from './exports/Image';\nexport { default as ImageBackground } from './exports/ImageBackground';\nexport { default as KeyboardAvoidingView } from './exports/KeyboardAvoidingView';\nexport { default as Modal } from './exports/Modal';\nexport { default as Picker } from './exports/Picker';\nexport { default as Pressable } from './exports/Pressable';\nexport { default as ProgressBar } from './exports/ProgressBar';\nexport { default as RefreshControl } from './exports/RefreshControl';\nexport { default as SafeAreaView } from './exports/SafeAreaView';\nexport { default as ScrollView } from './exports/ScrollView';\nexport { default as SectionList } from './exports/SectionList';\nexport { default as StatusBar } from './exports/StatusBar';\nexport { default as Switch } from './exports/Switch';\nexport { default as Text } from './exports/Text';\nexport { default as TextInput } from './exports/TextInput';\nexport { default as Touchable } from './exports/Touchable';\nexport { default as TouchableHighlight } from './exports/TouchableHighlight';\nexport { default as TouchableNativeFeedback } from './exports/TouchableNativeFeedback';\nexport { default as TouchableOpacity } from './exports/TouchableOpacity';\nexport { default as TouchableWithoutFeedback } from './exports/TouchableWithoutFeedback';\nexport { default as View } from './exports/View';\nexport { default as VirtualizedList } from './exports/VirtualizedList';\nexport { default as YellowBox } from './exports/YellowBox';\nexport { default as LogBox } from './exports/LogBox'; // compat (components)\n\nexport { default as DrawerLayoutAndroid } from './exports/DrawerLayoutAndroid';\nexport { default as InputAccessoryView } from './exports/InputAccessoryView';\nexport { default as ToastAndroid } from './exports/ToastAndroid'; // compat (apis)\n\nexport { default as PermissionsAndroid } from './exports/PermissionsAndroid';\nexport { default as Settings } from './exports/Settings';\nexport { default as Systrace } from './exports/Systrace';\nexport { default as TVEventHandler } from './exports/TVEventHandler'; // plugins\n\nexport { default as DeviceEventEmitter } from './exports/DeviceEventEmitter'; // hooks\n\nexport { default as useColorScheme } from './exports/useColorScheme';\nexport { default as useLocaleContext } from './exports/useLocaleContext';\nexport { default as useWindowDimensions } from './exports/useWindowDimensions';"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/98cabee429c20026bf8dd2ea1356c92f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/98cabee429c20026bf8dd2ea1356c92f.json new file mode 100644 index 00000000..6c94d68c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/98cabee429c20026bf8dd2ea1356c92f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import PanResponder from \"../../vendor/react-native/PanResponder\";\nexport default PanResponder;","map":{"version":3,"names":["PanResponder"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/PanResponder/index.js"],"sourcesContent":["import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;"],"mappings":"AAAA,OAAOA,YAAY;AACnB,eAAeA,YAAY"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/998bf8ad9c9078ea76f83360d04df4f0.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/998bf8ad9c9078ea76f83360d04df4f0.json new file mode 100644 index 00000000..e2c18ae2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/998bf8ad9c9078ea76f83360d04df4f0.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default {};","map":{"version":3,"names":[],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/TVEventHandler/index.js"],"sourcesContent":["export default {};"],"mappings":"AAAA,eAAe,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/99b9d1121dd90bb1345ef297a04bbaaa.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/99b9d1121dd90bb1345ef297a04bbaaa.json new file mode 100644 index 00000000..f49e90e5 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/99b9d1121dd90bb1345ef297a04bbaaa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport { getAssetByID } from \"./AssetRegistry\";\nimport AssetSourceResolver from \"./AssetSourceResolver\";\nvar _customSourceTransformer;\nvar _serverURL;\nvar _sourceCodeScriptURL;\nfunction getSourceCodeScriptURL() {\n var _sourceCode;\n if (_sourceCodeScriptURL) {\n return _sourceCodeScriptURL;\n }\n var sourceCode = typeof nativeExtensions !== 'undefined' ? nativeExtensions.SourceCode : null;\n if (!sourceCode) {\n sourceCode = NativeModules == null ? void 0 : NativeModules.SourceCode;\n }\n _sourceCodeScriptURL = (_sourceCode = sourceCode) == null ? void 0 : _sourceCode.scriptURL;\n return _sourceCodeScriptURL;\n}\nfunction getDevServerURL() {\n if (_serverURL === undefined) {\n var sourceCodeScriptURL = getSourceCodeScriptURL();\n var match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n _serverURL = match[0];\n } else {\n _serverURL = null;\n }\n }\n return _serverURL;\n}\nexport function setCustomSourceTransformer(transformer) {\n _customSourceTransformer = transformer;\n}\nexport default function resolveAssetSource(source) {\n if (typeof source === 'object') {\n return source;\n }\n var asset = getAssetByID(source);\n if (!asset) {\n return undefined;\n }\n var resolver = new AssetSourceResolver(getDevServerURL(), null, asset);\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get: function get() {\n return setCustomSourceTransformer;\n }\n});\nvar pickScale = AssetSourceResolver.pickScale;\nexport { pickScale };","map":{"version":3,"sources":["../src/resolveAssetSource.web.ts"],"names":[],"mappings":";AAEA,SAAS,YAAY;AACrB,OAAO,mBAA4C;AAInD,IAAI,wBAAwB;AAC5B,IAAI,UAAqC;AACzC,IAAI,oBAA+C;AAEnD,SAAS,sBAAsB,GAAA;EAAA;EAC7B,IAAI,oBAAoB,EAAE;IACxB,OAAO,oBAAoB;EAC5B;EAED,IAAI,UAAU,GAAG,OAAO,gBAAgB,KAAK,WAAW,GAAG,gBAAgB,CAAC,UAAU,GAAG,IAAI;EAC7F,IAAI,CAAC,UAAU,EAAE;IACf,UAAU,GAAG,aAAa,oBAAb,aAAa,CAAE,UAAU;EACvC;EACD,oBAAoB,kBAAG,UAAU,qBAAV,YAAY,SAAS;EAC5C,OAAO,oBAAoB;AAC7B;AAEA,SAAS,eAAe,GAAA;EACtB,IAAI,UAAU,KAAK,SAAS,EAAE;IAC5B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE;IACpD,IAAM,KAAK,GAAG,mBAAmB,IAAI,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACnF,IAAI,KAAK,EAAE;MAET,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;KACtB,MAAM;MAEL,UAAU,GAAG,IAAI;IAClB;EACF;EACD,OAAO,UAAU;AACnB;AAEA,OAAM,SAAU,0BAA0B,CACxC,WAAmE,EAAA;EAEnE,wBAAwB,GAAG,WAAW;AACxC;AAMA,eAAc,SAAU,kBAAkB,CAAC,MAAW,EAAA;EACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO,MAAM;EACd;EAED,IAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;EAClC,IAAI,CAAC,KAAK,EAAE;IACV,OAAO,SAAS;EACjB;EAED,IAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;EACxE,IAAI,wBAAwB,EAAE;IAC5B,OAAO,wBAAwB,CAAC,QAAQ,CAAC;EAC1C;EACD,OAAO,QAAQ,CAAC,YAAY,EAAE;AAChC;AAEA,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,4BAA4B,EAAE;EACtE,GAAG,iBAAA;IACD,OAAO,0BAA0B;EACnC;CACD,CAAC;AAEK,IAAQ,SAAS,GAAK,mBAAmB,CAAjC,SAAS;AAAyB","sourcesContent":["import { NativeModules } from 'react-native';\n\nimport { getAssetByID } from './AssetRegistry';\nimport AssetSourceResolver, { ResolvedAssetSource } from './AssetSourceResolver';\n\ndeclare let nativeExtensions: { SourceCode?: { scriptURL: string } } | undefined;\n\nlet _customSourceTransformer;\nlet _serverURL: string | undefined | null;\nlet _sourceCodeScriptURL: string | undefined | null;\n\nfunction getSourceCodeScriptURL(): string | undefined | null {\n if (_sourceCodeScriptURL) {\n return _sourceCodeScriptURL;\n }\n\n let sourceCode = typeof nativeExtensions !== 'undefined' ? nativeExtensions.SourceCode : null;\n if (!sourceCode) {\n sourceCode = NativeModules?.SourceCode;\n }\n _sourceCodeScriptURL = sourceCode?.scriptURL;\n return _sourceCodeScriptURL;\n}\n\nfunction getDevServerURL(): string | null {\n if (_serverURL === undefined) {\n const sourceCodeScriptURL = getSourceCodeScriptURL();\n const match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n // jsBundle was loaded from network\n _serverURL = match[0];\n } else {\n // jsBundle was loaded from file\n _serverURL = null;\n }\n }\n return _serverURL;\n}\n\nexport function setCustomSourceTransformer(\n transformer: (resolver: AssetSourceResolver) => ResolvedAssetSource\n): void {\n _customSourceTransformer = transformer;\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '' }\n */\nexport default function resolveAssetSource(source: any): ResolvedAssetSource | undefined {\n if (typeof source === 'object') {\n return source;\n }\n\n const asset = getAssetByID(source);\n if (!asset) {\n return undefined;\n }\n\n const resolver = new AssetSourceResolver(getDevServerURL(), null, asset);\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\n\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get() {\n return setCustomSourceTransformer;\n },\n});\n\nexport const { pickScale } = AssetSourceResolver;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/9a297938ae8df183746c47bd64da68dd.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/9a297938ae8df183746c47bd64da68dd.json new file mode 100644 index 00000000..d8975adc --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/9a297938ae8df183746c47bd64da68dd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createBottomTabNavigator } from \"@react-navigation/bottom-tabs\";\nimport { NavigationContainer } from \"@react-navigation/native\";\nimport React from \"react\";\nimport Home from \"../screens/Home\";\nimport StackNavigation from \"./StackNavigation\";\nimport { AntDesign } from '@expo/vector-icons';\nimport { Ionicons } from '@expo/vector-icons';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function TabNavigation() {\n var BottomTabNavigator = createBottomTabNavigator();\n return _jsx(NavigationContainer, {\n children: _jsxs(BottomTabNavigator.Navigator, {\n initialRouteName: \"Favorite City\",\n children: [_jsx(BottomTabNavigator.Screen, {\n name: \"Favorite City\",\n component: Home,\n options: {\n title: 'Favorite City',\n headerShown: false,\n tabBarIcon: function tabBarIcon(_ref) {\n var color = _ref.color;\n return _jsx(AntDesign, {\n name: \"home\",\n size: 24,\n color: \"black\"\n });\n }\n }\n }), _jsx(BottomTabNavigator.Screen, {\n name: \"City List\",\n component: StackNavigation,\n options: {\n headerShown: false,\n title: 'City List',\n tabBarIcon: function tabBarIcon(_ref2) {\n var color = _ref2.color;\n return _jsx(Ionicons, {\n name: \"menu-sharp\",\n size: 24,\n color: \"black\"\n });\n }\n }\n })]\n })\n });\n}","map":{"version":3,"names":["createBottomTabNavigator","NavigationContainer","React","Home","StackNavigation","AntDesign","Ionicons","TabNavigation","BottomTabNavigator","title","headerShown","tabBarIcon","color"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/navigation/TabNavigation.tsx"],"sourcesContent":["import { createBottomTabNavigator } from \"@react-navigation/bottom-tabs\";\nimport { NavigationContainer } from \"@react-navigation/native\";\nimport React from \"react\";\nimport CityList from \"../screens/CityList\";\nimport Home from \"../screens/Home\";\nimport StackNavigation from \"./StackNavigation\";\nimport { AntDesign } from '@expo/vector-icons';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function TabNavigation() {\n\n const BottomTabNavigator = createBottomTabNavigator();\n return (\n \n \n \n }}/>\n \n \n }}/>\n \n \n )\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,+BAA+B;AACxE,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,OAAOC,KAAK,MAAM,OAAO;AAEzB,OAAOC,IAAI;AACX,OAAOC,eAAe;AACtB,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,QAAQ,QAAQ,oBAAoB;AAAC;AAAA;AAE9C,eAAe,SAASC,aAAa,GAAG;EAEpC,IAAMC,kBAAkB,GAAGR,wBAAwB,EAAE;EACrD,OACI,KAAC,mBAAmB;IAAA,UAChB,MAAC,kBAAkB,CAAC,SAAS;MAAC,gBAAgB,EAAC,eAAe;MAAA,WAC1D,KAAC,kBAAkB,CAAC,MAAM;QAAC,IAAI,EAAC,eAAe;QAAC,SAAS,EAAEG,IAAK;QACpD,OAAO,EAAE;UACLM,KAAK,EAAE,eAAe;UACtBC,WAAW,EAAE,KAAK;UAClBC,UAAU,EAAE;YAAA,IAAEC,KAAK,QAALA,KAAK;YAAA,OAAM,KAAC,SAAS;cAAC,IAAI,EAAC,MAAM;cAAC,IAAI,EAAE,EAAG;cAAC,KAAK,EAAC;YAAO,EAAG;UAAA;QAC9E;MAAE,EAAE,EAChB,KAAC,kBAAkB,CAAC,MAAM;QAAC,IAAI,EAAC,WAAW;QAAC,SAAS,EAAER,eAAgB;QAC3D,OAAO,EAAE;UACLM,WAAW,EAAE,KAAK;UAClBD,KAAK,EAAE,WAAW;UAClBE,UAAU,EAAE;YAAA,IAAEC,KAAK,SAALA,KAAK;YAAA,OAAM,KAAC,QAAQ;cAAC,IAAI,EAAC,YAAY;cAAC,IAAI,EAAE,EAAG;cAAC,KAAK,EAAC;YAAO,EAAG;UAAA;QAEnF;MAAE,EAAE;IAAA;EACW,EACb;AAE9B"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/9bcddb38cac4c1f273b7947a4101bd3e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/9bcddb38cac4c1f273b7947a4101bd3e.json new file mode 100644 index 00000000..85a87a6f --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/9bcddb38cac4c1f273b7947a4101bd3e.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\nvar cssKeywords = require('color-name');\nvar reverseKeywords = {};\nfor (var key of Object.keys(cssKeywords)) {\n reverseKeywords[cssKeywords[key]] = key;\n}\nvar convert = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n};\nmodule.exports = convert;\nfor (var model of Object.keys(convert)) {\n if (!('channels' in convert[model])) {\n throw new Error('missing channels property: ' + model);\n }\n if (!('labels' in convert[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n if (convert[model].labels.length !== convert[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n var _convert$model = convert[model],\n channels = _convert$model.channels,\n labels = _convert$model.labels;\n delete convert[model].channels;\n delete convert[model].labels;\n Object.defineProperty(convert[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert[model], 'labels', {\n value: labels\n });\n}\nconvert.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n h = Math.min(h * 60, 360);\n if (h < 0) {\n h += 360;\n }\n var l = (min + max) / 2;\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n return [h, s * 100, l * 100];\n};\nconvert.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n var diffc = function diffc(c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n if (diff === 0) {\n h = 0;\n s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n return [h * 360, s * 100, v * 100];\n};\nconvert.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n};\nconvert.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var k = Math.min(1 - r, 1 - g, 1 - b);\n var c = (1 - r - k) / (1 - k) || 0;\n var m = (1 - g - k) / (1 - k) || 0;\n var y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n};\nfunction comparativeDistance(x, y) {\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n}\nconvert.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n if (reversed) {\n return reversed;\n }\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n for (var keyword of Object.keys(cssKeywords)) {\n var value = cssKeywords[keyword];\n var distance = comparativeDistance(rgb, value);\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n return currentClosestKeyword;\n};\nconvert.keyword.rgb = function (keyword) {\n return cssKeywords[keyword];\n};\nconvert.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n};\nconvert.rgb.lab = function (rgb) {\n var xyz = convert.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var l = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [l, a, b];\n};\nconvert.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t2;\n var t3;\n var val;\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n var t1 = 2 * l - t2;\n var rgb = [0, 0, 0];\n for (var i = 0; i < 3; i++) {\n t3 = h + 1 / 3 * -(i - 1);\n if (t3 < 0) {\n t3++;\n }\n if (t3 > 1) {\n t3--;\n }\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n rgb[i] = val * 255;\n }\n return rgb;\n};\nconvert.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n var v = (l + s) / 2;\n var sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n};\nconvert.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n switch (hi) {\n case 0:\n return [v, t, p];\n case 1:\n return [q, v, p];\n case 2:\n return [p, v, t];\n case 3:\n return [p, q, v];\n case 4:\n return [t, p, v];\n case 5:\n return [v, p, q];\n }\n};\nconvert.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var sl;\n var l;\n l = (2 - s) * v;\n var lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n};\nconvert.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var f;\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n var i = Math.floor(6 * h);\n var v = 1 - bl;\n f = 6 * h - i;\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n var n = wh + f * (v - wh);\n var r;\n var g;\n var b;\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n return [r * 255, g * 255, b * 255];\n};\nconvert.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r = 1 - Math.min(1, c * (1 - k) + k);\n var g = 1 - Math.min(1, m * (1 - k) + k);\n var b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n};\nconvert.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570;\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n};\nconvert.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var l = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [l, a, b];\n};\nconvert.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n};\nconvert.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var h;\n var hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n if (h < 0) {\n h += 360;\n }\n var c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n};\nconvert.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var hr = h / 360 * 2 * Math.PI;\n var a = c * Math.cos(hr);\n var b = c * Math.sin(hr);\n return [l, a, b];\n};\nconvert.rgb.ansi16 = function (args) {\n var saturation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _args = _slicedToArray(args, 3),\n r = _args[0],\n g = _args[1],\n b = _args[2];\n var value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;\n value = Math.round(value / 50);\n if (value === 0) {\n return 30;\n }\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n if (value === 2) {\n ansi += 60;\n }\n return ansi;\n};\nconvert.hsv.ansi16 = function (args) {\n return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\nconvert.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2];\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n if (r > 248) {\n return 231;\n }\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n};\nconvert.ansi16.rgb = function (args) {\n var color = args % 10;\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n};\nconvert.ansi256.rgb = function (args) {\n if (args >= 232) {\n var c = (args - 232) * 10 + 8;\n return [c, c, c];\n }\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n};\nconvert.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\nconvert.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n if (!match) {\n return [0, 0, 0];\n }\n var colorString = match[0];\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (char) {\n return char + char;\n }).join('');\n }\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n};\nconvert.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma;\n }\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n};\nconvert.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l);\n var f = 0;\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n return [hsl[0], c * 100, f * 100];\n};\nconvert.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n return [hsv[0], c * 100, f * 100];\n};\nconvert.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n};\nconvert.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n if (v > 0.0) {\n f = c / v;\n }\n return [hcg[0], f * 100, v * 100];\n};\nconvert.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n return [hcg[0], s * 100, l * 100];\n};\nconvert.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\nconvert.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n return [hwb[0], c * 100, g * 100];\n};\nconvert.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n};\nconvert.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n};\nconvert.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\nconvert.gray.hsl = function (args) {\n return [0, 0, args[0]];\n};\nconvert.gray.hsv = convert.gray.hsl;\nconvert.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n};\nconvert.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n};\nconvert.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n};\nconvert.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\nconvert.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n};","map":{"version":3,"names":["cssKeywords","require","reverseKeywords","key","Object","keys","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","module","exports","model","Error","length","defineProperty","value","r","g","b","min","Math","max","delta","h","s","l","rdif","gdif","bdif","v","diff","diffc","c","w","k","m","y","comparativeDistance","x","reversed","currentClosestDistance","Infinity","currentClosestKeyword","distance","z","a","t2","t3","val","t1","i","smin","lmin","sv","hi","floor","f","p","q","t","vmin","sl","wh","bl","ratio","n","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","saturation","round","ansi","color","mult","rem","integer","string","toString","toUpperCase","substring","match","colorString","split","map","char","join","parseInt","chroma","grayscale","hue","pure","mg"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@react-navigation/stack/node_modules/color-convert/conversions.js"],"sourcesContent":["/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n"],"mappings":"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"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/a2198c71feb4acba0aecdfff25f86bd9.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/a2198c71feb4acba0aecdfff25f86bd9.json new file mode 100644 index 00000000..c6674f65 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/a2198c71feb4acba0aecdfff25f86bd9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import PooledClass from \"../../vendor/react-native/PooledClass\";\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;","map":{"version":3,"names":["PooledClass","twoArgumentPooler","Position","left","top","prototype","destructor","addPoolingTo"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Touchable/Position.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\n\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\n\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;"],"mappings":"AAQA,OAAOA,WAAW;AAClB,IAAIC,iBAAiB,GAAGD,WAAW,CAACC,iBAAiB;AAErD,SAASC,QAAQ,CAACC,IAAI,EAAEC,GAAG,EAAE;EAC3B,IAAI,CAACD,IAAI,GAAGA,IAAI;EAChB,IAAI,CAACC,GAAG,GAAGA,GAAG;AAChB;AAEAF,QAAQ,CAACG,SAAS,CAACC,UAAU,GAAG,YAAY;EAC1C,IAAI,CAACH,IAAI,GAAG,IAAI;EAChB,IAAI,CAACC,GAAG,GAAG,IAAI;AACjB,CAAC;AAEDJ,WAAW,CAACO,YAAY,CAACL,QAAQ,EAAED,iBAAiB,CAAC;AACrD,eAAeC,QAAQ"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/a4e1cf26ec7fbe8e8fe01dd730a2558e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/a4e1cf26ec7fbe8e8fe01dd730a2558e.json new file mode 100644 index 00000000..c13ec8b6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/a4e1cf26ec7fbe8e8fe01dd730a2558e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import LayoutAnimation from \"../../vendor/react-native/LayoutAnimation\";\nexport default LayoutAnimation;","map":{"version":3,"names":["LayoutAnimation"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/LayoutAnimation/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport LayoutAnimation from '../../vendor/react-native/LayoutAnimation';\nexport default LayoutAnimation;"],"mappings":"AASA,OAAOA,eAAe;AACtB,eAAeA,eAAe"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/a757c90d7c4f5f5d640295ff6f320aa0.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/a757c90d7c4f5f5d640295ff6f320aa0.json new file mode 100644 index 00000000..db1e3a5b --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/a757c90d7c4f5f5d640295ff6f320aa0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import UnimplementedView from \"../../modules/UnimplementedView\";\nexport default UnimplementedView;","map":{"version":3,"names":["UnimplementedView"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/ToastAndroid/index.js"],"sourcesContent":["import UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;"],"mappings":"AAAA,OAAOA,iBAAiB;AACxB,eAAeA,iBAAiB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/aa19f467e3c30b282b2e720e872cdc7f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa19f467e3c30b282b2e720e872cdc7f.json new file mode 100644 index 00000000..f786b019 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa19f467e3c30b282b2e720e872cdc7f.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var FontDisplay;\n(function (FontDisplay) {\n FontDisplay[\"AUTO\"] = \"auto\";\n FontDisplay[\"SWAP\"] = \"swap\";\n FontDisplay[\"BLOCK\"] = \"block\";\n FontDisplay[\"FALLBACK\"] = \"fallback\";\n FontDisplay[\"OPTIONAL\"] = \"optional\";\n})(FontDisplay || (FontDisplay = {}));","map":{"version":3,"sources":["../src/Font.types.ts"],"names":[],"mappings":"AAmCA,OAAA,IAAY,WA8BX;AA9BD,CAAA,UAAY,WAAW,EAAA;EAMrB,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;EAKb,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;EAKb,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;EAQf,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;EAKrB,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,CAAC,EA9BW,WAAW,KAAX,WAAW,GAAA,CAAA,CAAA,CAAA,CAAA","sourcesContent":["import { Asset } from 'expo-asset';\n\n// @needsAudit\n/**\n * The different types of assets you can provide to the [`loadAsync()`](#loadAsync) function.\n * A font source can be a URI, a module ID, or an Expo Asset.\n */\nexport type FontSource = string | number | Asset | FontResource;\n\n// @needsAudit\n/**\n * An object used to dictate the resource that is loaded into the provided font namespace when used\n * with [`loadAsync`](#loadasync).\n */\nexport type FontResource = {\n uri?: string | number;\n /**\n * Sets the [`font-display`](#fontdisplay) property for a given typeface in the browser.\n * @platform web\n */\n display?: FontDisplay;\n default?: string;\n};\n\n// @needsAudit\n/**\n * Sets the [font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)\n * for a given typeface. The default font value on web is `FontDisplay.AUTO`.\n * Even though setting the `fontDisplay` does nothing on native platforms, the default behavior\n * emulates `FontDisplay.SWAP` on flagship devices like iOS, Samsung, Pixel, etc. Default\n * functionality varies on One Plus devices. In the browser this value is set in the generated\n * `@font-face` CSS block and not as a style property meaning you cannot dynamically change this\n * value based on the element it's used in.\n * @platform web\n */\nexport enum FontDisplay {\n /**\n * __(Default)__ The font display strategy is defined by the user agent or platform.\n * This generally defaults to the text being invisible until the font is loaded.\n * Good for buttons or banners that require a specific treatment.\n */\n AUTO = 'auto',\n /**\n * Fallback text is rendered immediately with a default font while the desired font is loaded.\n * This is good for making the content appear to load instantly and is usually preferred.\n */\n SWAP = 'swap',\n /**\n * The text will be invisible until the font has loaded. If the font fails to load then nothing\n * will appear - it's best to turn this off when debugging missing text.\n */\n BLOCK = 'block',\n /**\n * Splits the behavior between `SWAP` and `BLOCK`.\n * There will be a [100ms timeout](https://developers.google.com/web/updates/2016/02/font-display?hl=en)\n * where the text with a custom font is invisible, after that the text will either swap to the\n * styled text or it'll show the unstyled text and continue to load the custom font. This is good\n * for buttons that need a custom font but should also be quickly available to screen-readers.\n */\n FALLBACK = 'fallback',\n /**\n * This works almost identically to `FALLBACK`, the only difference is that the browser will\n * decide to load the font based on slow connection speed or critical resource demand.\n */\n OPTIONAL = 'optional',\n}\n\n// @needsAudit\n/**\n * Object used to query fonts for unloading.\n */\nexport type UnloadFontOptions = Pick;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/aa50ba43ee0b8dee094676402b83bf9f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa50ba43ee0b8dee094676402b83bf9f.json new file mode 100644 index 00000000..47c65dfd --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa50ba43ee0b8dee094676402b83bf9f.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _vibrate = function vibrate(pattern) {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\nvar Vibration = {\n cancel: function cancel() {\n _vibrate(0);\n },\n vibrate: function vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n _vibrate(pattern);\n }\n};\nexport default Vibration;","map":{"version":3,"names":["vibrate","pattern","window","navigator","Vibration","cancel"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Vibration/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\n\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n\n vibrate(pattern);\n }\n\n};\nexport default Vibration;"],"mappings":"AASA,IAAIA,QAAO,GAAG,SAAVA,OAAO,CAAGC,OAAO,EAAI;EACvB,IAAI,SAAS,IAAIC,MAAM,CAACC,SAAS,EAAE;IACjCD,MAAM,CAACC,SAAS,CAACH,OAAO,CAACC,OAAO,CAAC;EACnC;AACF,CAAC;AAED,IAAIG,SAAS,GAAG;EACdC,MAAM,oBAAG;IACPL,QAAO,CAAC,CAAC,CAAC;EACZ,CAAC;EAEDA,OAAO,mBAACC,OAAO,EAAE;IACf,IAAIA,OAAO,KAAK,KAAK,CAAC,EAAE;MACtBA,OAAO,GAAG,GAAG;IACf;IAEAD,QAAO,CAACC,OAAO,CAAC;EAClB;AAEF,CAAC;AACD,eAAeG,SAAS"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/aa79dfab2c04ddd27657800ffd16c3de.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa79dfab2c04ddd27657800ffd16c3de.json new file mode 100644 index 00000000..207575c2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/aa79dfab2c04ddd27657800ffd16c3de.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from 'react';\nimport { loadAsync } from \"./Font\";\nexport function useFonts(map) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n useEffect(function () {\n loadAsync(map).then(function () {\n return setLoaded(true);\n }).catch(setError);\n }, []);\n return [loaded, error];\n}","map":{"version":3,"sources":["../src/FontHooks.ts"],"names":[],"mappings":";AAAA,SAAS,SAAS,EAAE,QAAQ,QAAQ,OAAO;AAE3C,SAAS,SAAS;AAqBlB,OAAM,SAAU,QAAQ,CAAC,GAAwC,EAAA;EAC/D,gBAA4B,QAAQ,CAAC,KAAK,CAAC;IAAA;IAApC,MAAM;IAAE,SAAS;EACxB,iBAA0B,QAAQ,CAAe,IAAI,CAAC;IAAA;IAA/C,KAAK;IAAE,QAAQ;EAEtB,SAAS,CAAC,YAAK;IACb,SAAS,CAAC,GAAG,CAAC,CACX,IAAI,CAAC;MAAA,OAAM,SAAS,CAAC,IAAI,CAAC;IAAA,EAAC,CAC3B,KAAK,CAAC,QAAQ,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACxB","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { loadAsync } from './Font';\nimport { FontSource } from './Font.types';\n\n// @needsAudit\n/**\n * ```ts\n * const [loaded, error] = useFonts({ ... });\n * ```\n * Load a map of fonts with [`loadAsync`](#loadasync). This returns a `boolean` if the fonts are\n * loaded and ready to use. It also returns an error if something went wrong, to use in development.\n *\n * > Note, the fonts are not \"reloaded\" when you dynamically change the font map.\n *\n * @param map A map of `fontFamily`s to [`FontSource`](#fontsource)s. After loading the font you can\n * use the key in the `fontFamily` style prop of a `Text` element.\n *\n * @return\n * - __loaded__ (`boolean`) - A boolean to detect if the font for `fontFamily` has finished\n * loading.\n * - __error__ (`Error | null`) - An error encountered when loading the fonts.\n */\nexport function useFonts(map: string | Record): [boolean, Error | null] {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n loadAsync(map)\n .then(() => setLoaded(true))\n .catch(setError);\n }, []);\n\n return [loaded, error];\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/b6838950fce923bdae27c5f1a118b716.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/b6838950fce923bdae27c5f1a118b716.json new file mode 100644 index 00000000..230b1727 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/b6838950fce923bdae27c5f1a118b716.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState } from \"react\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar STAR_IMAGE = require(\"../images/airbnb-star.png\");\nvar STAR_SELECTED_IMAGE = require(\"../images/airbnb-star-selected.png\");\nvar STAR_SIZE = 40;\nvar Star = function Star(props) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n selected = _useState2[0],\n setSelected = _useState2[1];\n var springValue = new Animated.Value(1);\n var spring = function spring() {\n var position = props.position,\n starSelectedInPosition = props.starSelectedInPosition;\n springValue.setValue(1.2);\n Animated.spring(springValue, {\n toValue: 1,\n friction: 2,\n tension: 1,\n useNativeDriver: true\n }).start();\n setSelected(!selected);\n starSelectedInPosition(position);\n };\n var starImage = props.starImage,\n fill = props.fill,\n size = props.size,\n selectedColor = props.selectedColor,\n unSelectedColor = props.unSelectedColor,\n isDisabled = props.isDisabled,\n starStyle = props.starStyle;\n var starSource = fill && selectedColor === null ? STAR_SELECTED_IMAGE : starImage;\n return _jsx(TouchableOpacity, {\n activeOpacity: 1,\n onPress: spring,\n disabled: isDisabled,\n children: _jsx(Animated.Image, {\n source: starSource,\n style: [styles.starStyle, {\n tintColor: fill && selectedColor ? selectedColor : unSelectedColor,\n width: size || STAR_SIZE,\n height: size || STAR_SIZE,\n transform: [{\n scale: springValue\n }]\n }, starStyle]\n })\n });\n};\nStar.defaultProps = {\n starImage: STAR_IMAGE,\n selectedColor: \"#f1c40f\",\n unSelectedColor: \"#BDC3C7\"\n};\nexport default Star;\nvar styles = StyleSheet.create({\n starStyle: {\n margin: 3\n }\n});","map":{"version":3,"names":["React","useState","STAR_IMAGE","require","STAR_SELECTED_IMAGE","STAR_SIZE","Star","props","selected","setSelected","springValue","Animated","Value","spring","position","starSelectedInPosition","setValue","toValue","friction","tension","useNativeDriver","start","starImage","fill","size","selectedColor","unSelectedColor","isDisabled","starStyle","starSource","styles","tintColor","width","height","transform","scale","defaultProps","StyleSheet","create","margin"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-ratings/dist/components/Star.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport { StyleSheet, Animated, TouchableOpacity } from \"react-native\";\nconst STAR_IMAGE = require(\"../images/airbnb-star.png\");\nconst STAR_SELECTED_IMAGE = require(\"../images/airbnb-star-selected.png\");\nconst STAR_SIZE = 40;\nconst Star = props => {\n const [selected, setSelected] = useState(false);\n const springValue = new Animated.Value(1);\n const spring = () => {\n const { position, starSelectedInPosition } = props;\n springValue.setValue(1.2);\n Animated.spring(springValue, {\n toValue: 1,\n friction: 2,\n tension: 1,\n useNativeDriver: true\n }).start();\n setSelected(!selected);\n starSelectedInPosition(position);\n };\n const { starImage, fill, size, selectedColor, unSelectedColor, isDisabled, starStyle } = props;\n const starSource = fill && selectedColor === null ? STAR_SELECTED_IMAGE : starImage;\n return (\n \n );\n};\nStar.defaultProps = {\n starImage: STAR_IMAGE,\n selectedColor: \"#f1c40f\",\n unSelectedColor: \"#BDC3C7\"\n};\nexport default Star;\nconst styles = StyleSheet.create({\n starStyle: {\n margin: 3\n }\n});\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAAC;AAAA;AAAA;AAAA;AAExC,IAAMC,UAAU,GAAGC,OAAO,6BAA6B;AACvD,IAAMC,mBAAmB,GAAGD,OAAO,sCAAsC;AACzE,IAAME,SAAS,GAAG,EAAE;AACpB,IAAMC,IAAI,GAAG,SAAPA,IAAI,CAAGC,KAAK,EAAI;EAClB,gBAAgCN,QAAQ,CAAC,KAAK,CAAC;IAAA;IAAxCO,QAAQ;IAAEC,WAAW;EAC5B,IAAMC,WAAW,GAAG,IAAIC,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC;EACzC,IAAMC,MAAM,GAAG,SAATA,MAAM,GAAS;IACjB,IAAQC,QAAQ,GAA6BP,KAAK,CAA1CO,QAAQ;MAAEC,sBAAsB,GAAKR,KAAK,CAAhCQ,sBAAsB;IACxCL,WAAW,CAACM,QAAQ,CAAC,GAAG,CAAC;IACzBL,QAAQ,CAACE,MAAM,CAACH,WAAW,EAAE;MACzBO,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE,CAAC;MACVC,eAAe,EAAE;IACrB,CAAC,CAAC,CAACC,KAAK,EAAE;IACVZ,WAAW,CAAC,CAACD,QAAQ,CAAC;IACtBO,sBAAsB,CAACD,QAAQ,CAAC;EACpC,CAAC;EACD,IAAQQ,SAAS,GAAwEf,KAAK,CAAtFe,SAAS;IAAEC,IAAI,GAAkEhB,KAAK,CAA3EgB,IAAI;IAAEC,IAAI,GAA4DjB,KAAK,CAArEiB,IAAI;IAAEC,aAAa,GAA6ClB,KAAK,CAA/DkB,aAAa;IAAEC,eAAe,GAA4BnB,KAAK,CAAhDmB,eAAe;IAAEC,UAAU,GAAgBpB,KAAK,CAA/BoB,UAAU;IAAEC,SAAS,GAAKrB,KAAK,CAAnBqB,SAAS;EACpF,IAAMC,UAAU,GAAGN,IAAI,IAAIE,aAAa,KAAK,IAAI,GAAGrB,mBAAmB,GAAGkB,SAAS;EACnF,OAAQ,KAAC,gBAAgB;IAAC,aAAa,EAAE,CAAE;IAAC,OAAO,EAAET,MAAO;IAAC,QAAQ,EAAEc,UAAW;IAAA,UAChF,KAAC,QAAQ,CAAC,KAAK;MAAC,MAAM,EAAEE,UAAW;MAAC,KAAK,EAAE,CACrCC,MAAM,CAACF,SAAS,EAChB;QACIG,SAAS,EAAER,IAAI,IAAIE,aAAa,GAAGA,aAAa,GAAGC,eAAe;QAClEM,KAAK,EAAER,IAAI,IAAInB,SAAS;QACxB4B,MAAM,EAAET,IAAI,IAAInB,SAAS;QACzB6B,SAAS,EAAE,CAAC;UAAEC,KAAK,EAAEzB;QAAY,CAAC;MACtC,CAAC,EACDkB,SAAS;IACX;EAAE,EACW;AACvB,CAAC;AACDtB,IAAI,CAAC8B,YAAY,GAAG;EAChBd,SAAS,EAAEpB,UAAU;EACrBuB,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE;AACrB,CAAC;AACD,eAAepB,IAAI;AACnB,IAAMwB,MAAM,GAAGO,UAAU,CAACC,MAAM,CAAC;EAC7BV,SAAS,EAAE;IACPW,MAAM,EAAE;EACZ;AACJ,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/b9022cc193a58e9ae776fb949b44a1ac.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/b9022cc193a58e9ae776fb949b44a1ac.json new file mode 100644 index 00000000..8731f2cd --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/b9022cc193a58e9ae776fb949b44a1ac.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Rating from \"./SwipeRating\";\nimport AirbnbRating from \"./TapRating\";\nexport { Rating, AirbnbRating };","map":{"version":3,"names":["Rating","AirbnbRating"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-ratings/dist/index.js"],"sourcesContent":["import Rating from \"./SwipeRating\";\nimport AirbnbRating from \"./TapRating\";\nexport { Rating, AirbnbRating };\n"],"mappings":"AAAA,OAAOA,MAAM;AACb,OAAOC,YAAY;AACnB,SAASD,MAAM,EAAEC,YAAY"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/be0087cafc40fc73e5f1197381919924.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/be0087cafc40fc73e5f1197381919924.json new file mode 100644 index 00000000..3b8ade29 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/be0087cafc40fc73e5f1197381919924.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Zocial.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Zocial.json\";\nexport default createIconSet(glyphMap, 'zocial', font);","map":{"version":3,"sources":["../src/Zocial.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Zocial.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Zocial.json';\n\nexport default createIconSet(glyphMap, 'zocial', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/bf6cd61c532f58544d7b02d87db0c7b3.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/bf6cd61c532f58544d7b02d87db0c7b3.json new file mode 100644 index 00000000..2cc46aa7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/bf6cd61c532f58544d7b02d87db0c7b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import React from \"react\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { Details } from \"../components/Details\";\nimport { TopBar } from \"../components/TopBar\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CityDetails(_ref) {\n var route = _ref.route;\n var insets = useSafeAreaInsets();\n var statusBarHeight = insets.top;\n var weather = route.params.weather;\n return _jsxs(View, {\n children: [_jsx(TopBar, {}), _jsx(Details, {\n weather: weather\n })]\n });\n}","map":{"version":3,"names":["React","useSafeAreaInsets","Details","TopBar","CityDetails","route","insets","statusBarHeight","top","weather","params"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/screens/CityDetails.tsx"],"sourcesContent":["import React from \"react\";\nimport { View} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { Details } from \"../components/Details\";\nimport { TopBar } from \"../components/TopBar\";\nimport { City, Weather } from \"../data/stub\";\n\nexport default function CityDetails({route}){\n const insets = useSafeAreaInsets();\n const statusBarHeight = insets.top;\n\n const weather: Weather =route.params.weather;\n\n return (\n \n \n
\n \n )\n}\n\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAAC;AAE1B,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,OAAO;AAChB,SAASC,MAAM;AAA+B;AAAA;AAG9C,eAAe,SAASC,WAAW,OAAS;EAAA,IAAPC,KAAK,QAALA,KAAK;EACtC,IAAMC,MAAM,GAAGL,iBAAiB,EAAE;EAClC,IAAMM,eAAe,GAAGD,MAAM,CAACE,GAAG;EAElC,IAAMC,OAAgB,GAAEJ,KAAK,CAACK,MAAM,CAACD,OAAO;EAE5C,OACI,MAAC,IAAI;IAAA,WACD,KAAC,MAAM,KAAE,EACT,KAAC,OAAO;MAAC,OAAO,EAAEA;IAAQ,EAAE;EAAA,EACzB;AAEf"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c06b6c3b9cfb7489b5e6568fa8f7bee4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c06b6c3b9cfb7489b5e6568fa8f7bee4.json new file mode 100644 index 00000000..93e4a6b7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c06b6c3b9cfb7489b5e6568fa8f7bee4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/EvilIcons.json\";\nvar iconSet = createIconSet(glyphMap, 'EvilIcons', 'EvilIcons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/EvilIcons.js"],"sourcesContent":["/**\n * EvilIcons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/EvilIcons.json';\n\nconst iconSet = createIconSet(glyphMap, 'EvilIcons', 'EvilIcons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;AAErE,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c0cd8bbefcf94128f39ef69bf388c5a9.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c0cd8bbefcf94128f39ef69bf388c5a9.json new file mode 100644 index 00000000..c8cbac37 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c0cd8bbefcf94128f39ef69bf388c5a9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport React, { Component } from \"react\";\nimport times from \"lodash/times\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport PanResponder from \"react-native-web/dist/exports/PanResponder\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar STAR_IMAGE = require(\"./images/star.png\");\nvar HEART_IMAGE = require(\"./images/heart.png\");\nvar ROCKET_IMAGE = require(\"./images/rocket.png\");\nvar BELL_IMAGE = require(\"./images/bell.png\");\nvar TYPES = {\n star: {\n source: STAR_IMAGE,\n color: \"#f1c40f\",\n backgroundColor: \"white\"\n },\n heart: {\n source: HEART_IMAGE,\n color: \"#e74c3c\",\n backgroundColor: \"white\"\n },\n rocket: {\n source: ROCKET_IMAGE,\n color: \"#2ecc71\",\n backgroundColor: \"white\"\n },\n bell: {\n source: BELL_IMAGE,\n color: \"#f39c12\",\n backgroundColor: \"white\"\n },\n custom: {}\n};\nvar fractionsType = function fractionsType(props, propName, componentName) {\n if (props[propName]) {\n var value = props[propName];\n if (typeof value === \"number\") {\n return value >= 0 && value <= 20 ? null : new Error(\"`\" + propName + \"` in `\" + componentName + \"` must be between 0 and 20\");\n }\n return new Error(\"`\" + propName + \"` in `\" + componentName + \"` must be a number\");\n }\n};\nvar SwipeRating = function (_Component) {\n _inherits(SwipeRating, _Component);\n var _super = _createSuper(SwipeRating);\n function SwipeRating(props) {\n var _this;\n _classCallCheck(this, SwipeRating);\n _this = _super.call(this, props);\n var _this$props = _this.props,\n onStartRating = _this$props.onStartRating,\n onSwipeRating = _this$props.onSwipeRating,\n onFinishRating = _this$props.onFinishRating,\n fractions = _this$props.fractions;\n var position = new Animated.ValueXY();\n var panResponder = PanResponder.create({\n onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {\n return true;\n },\n onPanResponderGrant: function onPanResponderGrant(event, gesture) {\n var newPosition = new Animated.ValueXY();\n var tapPositionX = gesture.x0 - _this.state.centerX + gesture.dx;\n newPosition.setValue({\n x: tapPositionX,\n y: 0\n });\n if (_this.state.isComponentMounted) {\n _this.setState({\n position: newPosition,\n value: tapPositionX\n });\n var rating = _this.getCurrentRating(tapPositionX);\n if (typeof onStartRating === \"function\") {\n onStartRating(rating);\n }\n }\n },\n onPanResponderMove: function onPanResponderMove(event, gesture) {\n var newPosition = new Animated.ValueXY();\n var tapPositionX = gesture.x0 - _this.state.centerX + gesture.dx;\n newPosition.setValue({\n x: tapPositionX,\n y: 0\n });\n if (_this.state.isComponentMounted) {\n _this.setState({\n position: newPosition,\n value: tapPositionX\n });\n var rating = _this.getCurrentRating(tapPositionX);\n if (typeof onSwipeRating === \"function\") {\n onSwipeRating(rating);\n }\n }\n },\n onPanResponderRelease: function onPanResponderRelease() {\n var rating = _this.getCurrentRating(_this.state.value);\n if (rating >= _this.props.minValue) {\n if (!fractions) {\n _this.setCurrentRating(rating);\n }\n if (typeof onFinishRating === \"function\") {\n onFinishRating(rating);\n }\n }\n }\n });\n _this.state = {\n panResponder: panResponder,\n position: position,\n display: false,\n isComponentMounted: false\n };\n return _this;\n }\n _createClass(SwipeRating, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n try {\n this.setState({\n display: true,\n isComponentMounted: true\n }, function () {\n return _this2.setCurrentRating(_this2.props.startingValue);\n });\n } catch (err) {\n console.log(err);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.startingValue !== prevProps.startingValue) {\n this.setCurrentRating(this.props.startingValue);\n }\n }\n }, {\n key: \"handleLayoutChange\",\n value: function handleLayoutChange() {\n var _this3 = this;\n this.ratingRef.measure(function (fx, fy, width, height, px) {\n var halfWidth = width / 2;\n var pageXWithinWindow = px % Dimensions.get(\"window\").width;\n _this3.setState({\n centerX: pageXWithinWindow + halfWidth\n });\n });\n }\n }, {\n key: \"getPrimaryViewStyle\",\n value: function getPrimaryViewStyle() {\n var position = this.state.position;\n var _this$props2 = this.props,\n imageSize = _this$props2.imageSize,\n ratingCount = _this$props2.ratingCount,\n type = _this$props2.type;\n var color = TYPES[type].color;\n var width = position.x.interpolate({\n inputRange: [-ratingCount * (imageSize / 2), 0, ratingCount * (imageSize / 2)],\n outputRange: [0, ratingCount * imageSize / 2, ratingCount * imageSize],\n extrapolate: \"clamp\"\n }, {\n useNativeDriver: true\n });\n return {\n backgroundColor: color,\n width: width,\n height: width ? imageSize : 0\n };\n }\n }, {\n key: \"getSecondaryViewStyle\",\n value: function getSecondaryViewStyle() {\n var position = this.state.position;\n var _this$props3 = this.props,\n imageSize = _this$props3.imageSize,\n ratingCount = _this$props3.ratingCount,\n type = _this$props3.type;\n var backgroundColor = TYPES[type].backgroundColor;\n var width = position.x.interpolate({\n inputRange: [-ratingCount * (imageSize / 2), 0, ratingCount * (imageSize / 2)],\n outputRange: [ratingCount * imageSize, ratingCount * imageSize / 2, 0],\n extrapolate: \"clamp\"\n }, {\n useNativeDriver: true\n });\n return {\n backgroundColor: backgroundColor,\n width: width,\n height: width ? imageSize : 0\n };\n }\n }, {\n key: \"renderRatings\",\n value: function renderRatings() {\n var _this$props4 = this.props,\n imageSize = _this$props4.imageSize,\n ratingCount = _this$props4.ratingCount,\n type = _this$props4.type,\n tintColor = _this$props4.tintColor;\n var source = TYPES[type].source;\n return times(ratingCount, function (index) {\n return _jsx(View, {\n style: styles.starContainer,\n children: _jsx(Image, {\n source: source,\n style: {\n width: imageSize,\n height: imageSize,\n tintColor: tintColor\n }\n })\n }, index);\n });\n }\n }, {\n key: \"getCurrentRating\",\n value: function getCurrentRating(value) {\n var _this$props5 = this.props,\n fractions = _this$props5.fractions,\n imageSize = _this$props5.imageSize,\n ratingCount = _this$props5.ratingCount;\n var startingValue = ratingCount / 2;\n var currentRating = this.props.minValue ? this.props.minValue : 0;\n if (value > ratingCount * imageSize / 2) {\n currentRating = ratingCount;\n } else if (value < -ratingCount * imageSize / 2) {\n currentRating = this.props.minValue ? this.props.minValue : 0;\n } else if (value <= imageSize || value > imageSize) {\n var diff = value / imageSize;\n currentRating = startingValue + diff;\n currentRating = fractions ? Number(currentRating.toFixed(fractions)) : Math.ceil(currentRating);\n } else {\n currentRating = fractions ? Number(startingValue.toFixed(fractions)) : Math.ceil(startingValue);\n }\n if (this.props.jumpValue > 0 && this.props.jumpValue < this.props.ratingCount) {\n return Math.ceil(currentRating * (1 / this.props.jumpValue)) / (1 / this.props.jumpValue);\n } else {\n return currentRating;\n }\n }\n }, {\n key: \"setCurrentRating\",\n value: function setCurrentRating(rating) {\n var _this$props6 = this.props,\n imageSize = _this$props6.imageSize,\n ratingCount = _this$props6.ratingCount;\n var initialRating = ratingCount / 2;\n var value = null;\n if (rating > ratingCount) {\n value = ratingCount * imageSize / 2;\n } else if (rating < 0) {\n value = -ratingCount * imageSize / 2;\n } else if (rating < ratingCount / 2 || rating > ratingCount / 2) {\n value = (rating - initialRating) * imageSize;\n } else {\n value = 0;\n }\n var newPosition = new Animated.ValueXY();\n newPosition.setValue({\n x: value,\n y: 0\n });\n if (this.state.isComponentMounted) {\n this.setState({\n position: newPosition,\n value: value\n });\n }\n }\n }, {\n key: \"displayCurrentRating\",\n value: function displayCurrentRating() {\n var _this$props7 = this.props,\n ratingCount = _this$props7.ratingCount,\n type = _this$props7.type,\n readonly = _this$props7.readonly,\n showReadOnlyText = _this$props7.showReadOnlyText,\n ratingTextColor = _this$props7.ratingTextColor;\n var color = ratingTextColor || TYPES[type].color;\n return _jsxs(View, {\n style: styles.showRatingView,\n children: [_jsxs(View, {\n style: styles.ratingView,\n children: [_jsx(Text, {\n style: [styles.ratingText, {\n color: color\n }],\n children: \"Rating: \"\n }), _jsx(Text, {\n style: [styles.currentRatingText, {\n color: color\n }],\n children: this.getCurrentRating(this.state.value)\n }), _jsxs(Text, {\n style: [styles.maxRatingText, {\n color: color\n }],\n children: [\"/\", ratingCount]\n })]\n }), _jsx(View, {\n children: readonly && showReadOnlyText && _jsx(Text, {\n style: [styles.readonlyLabel, {\n color: color\n }],\n children: \"(readonly)\"\n })\n })]\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n var _this$props8 = this.props,\n readonly = _this$props8.readonly,\n type = _this$props8.type,\n ratingImage = _this$props8.ratingImage,\n ratingColor = _this$props8.ratingColor,\n ratingBackgroundColor = _this$props8.ratingBackgroundColor,\n style = _this$props8.style,\n showRating = _this$props8.showRating;\n if (type === \"custom\") {\n var custom = {\n source: ratingImage,\n color: ratingColor,\n backgroundColor: ratingBackgroundColor\n };\n TYPES.custom = custom;\n }\n return this.state.display ? _jsxs(View, {\n pointerEvents: readonly ? \"none\" : \"auto\",\n style: style,\n children: [showRating && this.displayCurrentRating(), _jsxs(View, _objectSpread(_objectSpread({\n style: styles.starsWrapper\n }, this.state.panResponder.panHandlers), {}, {\n children: [_jsxs(View, {\n style: styles.starsInsideWrapper,\n onLayout: function onLayout() {\n _this4.handleLayoutChange();\n },\n ref: function ref(view) {\n _this4.ratingRef = view;\n },\n children: [_jsx(Animated.View, {\n style: this.getPrimaryViewStyle()\n }), _jsx(Animated.View, {\n style: this.getSecondaryViewStyle()\n })]\n }), this.renderRatings()]\n }))]\n }) : null;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.setState({\n isComponentMounted: false\n });\n }\n }]);\n return SwipeRating;\n}(Component);\nexport { SwipeRating as default };\nSwipeRating.defaultProps = {\n type: \"star\",\n ratingImage: STAR_IMAGE,\n ratingColor: \"#f1c40f\",\n ratingBackgroundColor: \"white\",\n ratingCount: 5,\n showReadOnlyText: true,\n imageSize: 40,\n minValue: 0,\n jumpValue: 0\n};\nvar styles = StyleSheet.create({\n starsWrapper: {\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n starsInsideWrapper: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n showRatingView: {\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingBottom: 5\n },\n ratingView: {\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingBottom: 5\n },\n ratingText: {\n fontSize: 15,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495e\"\n },\n readonlyLabel: {\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: 12,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495a\"\n },\n currentRatingText: {\n fontSize: 30,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null\n },\n maxRatingText: {\n fontSize: 18,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495e\"\n }\n});","map":{"version":3,"names":["React","Component","times","STAR_IMAGE","require","HEART_IMAGE","ROCKET_IMAGE","BELL_IMAGE","TYPES","star","source","color","backgroundColor","heart","rocket","bell","custom","fractionsType","props","propName","componentName","value","Error","SwipeRating","onStartRating","onSwipeRating","onFinishRating","fractions","position","Animated","ValueXY","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderGrant","event","gesture","newPosition","tapPositionX","x0","state","centerX","dx","setValue","x","y","isComponentMounted","setState","rating","getCurrentRating","onPanResponderMove","onPanResponderRelease","minValue","setCurrentRating","display","startingValue","err","console","log","prevProps","ratingRef","measure","fx","fy","width","height","px","halfWidth","pageXWithinWindow","Dimensions","get","imageSize","ratingCount","type","interpolate","inputRange","outputRange","extrapolate","useNativeDriver","tintColor","index","styles","starContainer","currentRating","diff","Number","toFixed","Math","ceil","jumpValue","initialRating","readonly","showReadOnlyText","ratingTextColor","showRatingView","ratingView","ratingText","currentRatingText","maxRatingText","readonlyLabel","ratingImage","ratingColor","ratingBackgroundColor","style","showRating","displayCurrentRating","starsWrapper","panHandlers","starsInsideWrapper","handleLayoutChange","view","getPrimaryViewStyle","getSecondaryViewStyle","renderRatings","defaultProps","StyleSheet","flexDirection","justifyContent","alignItems","top","left","right","bottom","paddingBottom","fontSize","textAlign","fontFamily","Platform","OS"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-ratings/dist/SwipeRating.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport times from \"lodash/times\";\nimport { View, Text, Animated, PanResponder, Image, StyleSheet, Platform, Dimensions } from \"react-native\";\n// RATING IMAGES WITH STATIC BACKGROUND COLOR (white)\nconst STAR_IMAGE = require(\"./images/star.png\");\nconst HEART_IMAGE = require(\"./images/heart.png\");\nconst ROCKET_IMAGE = require(\"./images/rocket.png\");\nconst BELL_IMAGE = require(\"./images/bell.png\");\nconst TYPES = {\n star: {\n source: STAR_IMAGE,\n color: \"#f1c40f\",\n backgroundColor: \"white\"\n },\n heart: {\n source: HEART_IMAGE,\n color: \"#e74c3c\",\n backgroundColor: \"white\"\n },\n rocket: {\n source: ROCKET_IMAGE,\n color: \"#2ecc71\",\n backgroundColor: \"white\"\n },\n bell: {\n source: BELL_IMAGE,\n color: \"#f39c12\",\n backgroundColor: \"white\"\n },\n custom: {}\n};\nconst fractionsType = (props, propName, componentName) => {\n if (props[propName]) {\n const value = props[propName];\n if (typeof value === \"number\") {\n return value >= 0 && value <= 20 ?\n null :\n new Error(`\\`${propName}\\` in \\`${componentName}\\` must be between 0 and 20`);\n }\n return new Error(`\\`${propName}\\` in \\`${componentName}\\` must be a number`);\n }\n};\nexport default class SwipeRating extends Component {\n constructor(props) {\n super(props);\n const { onStartRating, onSwipeRating, onFinishRating, fractions } = this.props;\n const position = new Animated.ValueXY();\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderGrant: (event, gesture) => {\n const newPosition = new Animated.ValueXY();\n const tapPositionX = gesture.x0 - this.state.centerX + gesture.dx;\n newPosition.setValue({ x: tapPositionX, y: 0 });\n if (this.state.isComponentMounted) {\n this.setState({ position: newPosition, value: tapPositionX });\n const rating = this.getCurrentRating(tapPositionX);\n if (typeof onStartRating === \"function\") {\n onStartRating(rating);\n }\n }\n },\n onPanResponderMove: (event, gesture) => {\n const newPosition = new Animated.ValueXY();\n const tapPositionX = gesture.x0 - this.state.centerX + gesture.dx;\n newPosition.setValue({ x: tapPositionX, y: 0 });\n if (this.state.isComponentMounted) {\n this.setState({ position: newPosition, value: tapPositionX });\n const rating = this.getCurrentRating(tapPositionX);\n if (typeof onSwipeRating === \"function\") {\n onSwipeRating(rating);\n }\n }\n },\n onPanResponderRelease: () => {\n const rating = this.getCurrentRating(this.state.value);\n if (rating >= this.props.minValue) {\n if (!fractions) {\n // 'round up' to the nearest rating image\n this.setCurrentRating(rating);\n }\n if (typeof onFinishRating === \"function\") {\n onFinishRating(rating);\n }\n }\n }\n });\n this.state = {\n panResponder,\n position,\n display: false,\n isComponentMounted: false\n };\n }\n componentDidMount() {\n try {\n this.setState({ display: true, isComponentMounted: true }, () => this.setCurrentRating(this.props.startingValue));\n }\n catch (err) {\n // eslint-disable-next-line no-console\n console.log(err);\n }\n }\n componentDidUpdate(prevProps) {\n if (this.props.startingValue !== prevProps.startingValue) {\n this.setCurrentRating(this.props.startingValue);\n }\n }\n handleLayoutChange() {\n // eslint-disable-next-line max-params\n this.ratingRef.measure((fx, fy, width, height, px) => {\n const halfWidth = width / 2;\n const pageXWithinWindow = px % Dimensions.get(\"window\").width;\n this.setState({\n centerX: pageXWithinWindow + halfWidth\n });\n });\n }\n getPrimaryViewStyle() {\n const { position } = this.state;\n const { imageSize, ratingCount, type } = this.props;\n const { color } = TYPES[type];\n const width = position.x.interpolate({\n inputRange: [\n -ratingCount * (imageSize / 2),\n 0,\n ratingCount * (imageSize / 2)\n ],\n outputRange: [\n 0,\n ratingCount * imageSize / 2,\n ratingCount * imageSize\n ],\n extrapolate: \"clamp\"\n }, {\n useNativeDriver: true\n });\n return {\n backgroundColor: color,\n width,\n height: width ? imageSize : 0\n };\n }\n getSecondaryViewStyle() {\n const { position } = this.state;\n const { imageSize, ratingCount, type } = this.props;\n const { backgroundColor } = TYPES[type];\n const width = position.x.interpolate({\n inputRange: [\n -ratingCount * (imageSize / 2),\n 0,\n ratingCount * (imageSize / 2)\n ],\n outputRange: [\n ratingCount * imageSize,\n ratingCount * imageSize / 2,\n 0\n ],\n extrapolate: \"clamp\"\n }, {\n useNativeDriver: true\n });\n return {\n backgroundColor,\n width,\n height: width ? imageSize : 0\n };\n }\n renderRatings() {\n const { imageSize, ratingCount, type, tintColor } = this.props;\n const { source } = TYPES[type];\n return times(ratingCount, index => \n \n );\n }\n // eslint-disable-next-line max-statements\n getCurrentRating(value) {\n const { fractions, imageSize, ratingCount } = this.props;\n const startingValue = ratingCount / 2;\n let currentRating = this.props.minValue ? this.props.minValue : 0;\n if (value > ratingCount * imageSize / 2) {\n currentRating = ratingCount;\n }\n else if (value < -ratingCount * imageSize / 2) {\n currentRating = this.props.minValue ? this.props.minValue : 0;\n }\n else if (value <= imageSize || value > imageSize) {\n const diff = value / imageSize;\n currentRating = startingValue + diff;\n currentRating = fractions ?\n Number(currentRating.toFixed(fractions)) :\n Math.ceil(currentRating);\n }\n else {\n currentRating = fractions ?\n Number(startingValue.toFixed(fractions)) :\n Math.ceil(startingValue);\n }\n if (this.props.jumpValue > 0 &&\n this.props.jumpValue < this.props.ratingCount) {\n return (Math.ceil(currentRating * (1 / this.props.jumpValue)) /\n (1 / this.props.jumpValue));\n }\n else {\n return currentRating;\n }\n }\n // eslint-disable-next-line max-statements\n setCurrentRating(rating) {\n const { imageSize, ratingCount } = this.props;\n // `initialRating` corresponds to `startingValue` in the getter. Naming it\n // Differently here avoids confusion with `value` below.\n const initialRating = ratingCount / 2;\n let value = null;\n if (rating > ratingCount) {\n value = ratingCount * imageSize / 2;\n }\n else if (rating < 0) {\n value = -ratingCount * imageSize / 2;\n }\n else if (rating < ratingCount / 2 || rating > ratingCount / 2) {\n value = (rating - initialRating) * imageSize;\n }\n else {\n value = 0;\n }\n const newPosition = new Animated.ValueXY();\n newPosition.setValue({ x: value, y: 0 });\n if (this.state.isComponentMounted) {\n this.setState({ position: newPosition, value });\n }\n }\n displayCurrentRating() {\n const { ratingCount, type, readonly, showReadOnlyText, ratingTextColor } = this.props;\n const color = ratingTextColor || TYPES[type].color;\n return (\n \n Rating: \n \n {this.getCurrentRating(this.state.value)}\n \n /{ratingCount}\n \n \n {readonly && showReadOnlyText &&\n (readonly)}\n \n );\n }\n render() {\n const { readonly, type, ratingImage, ratingColor, ratingBackgroundColor, style, showRating } = this.props;\n if (type === \"custom\") {\n const custom = {\n source: ratingImage,\n color: ratingColor,\n backgroundColor: ratingBackgroundColor\n };\n TYPES.custom = custom;\n }\n return this.state.display ?\n \n {showRating && this.displayCurrentRating()}\n \n {\n this.handleLayoutChange();\n }} ref={view => {\n this.ratingRef = view;\n }}>\n \n \n \n {this.renderRatings()}\n \n :\n null;\n }\n componentWillUnmount() {\n this.setState({ isComponentMounted: false });\n }\n}\nSwipeRating.defaultProps = {\n type: \"star\",\n ratingImage: STAR_IMAGE,\n ratingColor: \"#f1c40f\",\n ratingBackgroundColor: \"white\",\n ratingCount: 5,\n showReadOnlyText: true,\n imageSize: 40,\n minValue: 0,\n jumpValue: 0\n};\nconst styles = StyleSheet.create({\n starsWrapper: {\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n starsInsideWrapper: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n showRatingView: {\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingBottom: 5\n },\n ratingView: {\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingBottom: 5\n },\n ratingText: {\n fontSize: 15,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495e\"\n },\n readonlyLabel: {\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: 12,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495a\"\n },\n currentRatingText: {\n fontSize: 30,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null\n },\n maxRatingText: {\n fontSize: 18,\n textAlign: \"center\",\n fontFamily: Platform.OS === \"ios\" ? \"Trebuchet MS\" : null,\n color: \"#34495e\"\n }\n});\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,KAAK,MAAM,cAAc;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGjC,IAAMC,UAAU,GAAGC,OAAO,qBAAqB;AAC/C,IAAMC,WAAW,GAAGD,OAAO,sBAAsB;AACjD,IAAME,YAAY,GAAGF,OAAO,uBAAuB;AACnD,IAAMG,UAAU,GAAGH,OAAO,qBAAqB;AAC/C,IAAMI,KAAK,GAAG;EACVC,IAAI,EAAE;IACFC,MAAM,EAAEP,UAAU;IAClBQ,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAE;EACrB,CAAC;EACDC,KAAK,EAAE;IACHH,MAAM,EAAEL,WAAW;IACnBM,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAE;EACrB,CAAC;EACDE,MAAM,EAAE;IACJJ,MAAM,EAAEJ,YAAY;IACpBK,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAE;EACrB,CAAC;EACDG,IAAI,EAAE;IACFL,MAAM,EAAEH,UAAU;IAClBI,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAE;EACrB,CAAC;EACDI,MAAM,EAAE,CAAC;AACb,CAAC;AACD,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAIC,KAAK,EAAEC,QAAQ,EAAEC,aAAa,EAAK;EACtD,IAAIF,KAAK,CAACC,QAAQ,CAAC,EAAE;IACjB,IAAME,KAAK,GAAGH,KAAK,CAACC,QAAQ,CAAC;IAC7B,IAAI,OAAOE,KAAK,KAAK,QAAQ,EAAE;MAC3B,OAAOA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,EAAE,GAC5B,IAAI,GACJ,IAAIC,KAAK,OAAMH,QAAQ,cAAWC,aAAa,gCAA8B;IACrF;IACA,OAAO,IAAIE,KAAK,OAAMH,QAAQ,cAAWC,aAAa,wBAAsB;EAChF;AACJ,CAAC;AAAC,IACmBG,WAAW;EAAA;EAAA;EAC5B,qBAAYL,KAAK,EAAE;IAAA;IAAA;IACf,0BAAMA,KAAK;IACX,kBAAoE,MAAKA,KAAK;MAAtEM,aAAa,eAAbA,aAAa;MAAEC,aAAa,eAAbA,aAAa;MAAEC,cAAc,eAAdA,cAAc;MAAEC,SAAS,eAATA,SAAS;IAC/D,IAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAACC,OAAO,EAAE;IACvC,IAAMC,YAAY,GAAGC,YAAY,CAACC,MAAM,CAAC;MACrCC,4BAA4B,EAAE;QAAA,OAAM,IAAI;MAAA;MACxCC,mBAAmB,EAAE,6BAACC,KAAK,EAAEC,OAAO,EAAK;QACrC,IAAMC,WAAW,GAAG,IAAIT,QAAQ,CAACC,OAAO,EAAE;QAC1C,IAAMS,YAAY,GAAGF,OAAO,CAACG,EAAE,GAAG,MAAKC,KAAK,CAACC,OAAO,GAAGL,OAAO,CAACM,EAAE;QACjEL,WAAW,CAACM,QAAQ,CAAC;UAAEC,CAAC,EAAEN,YAAY;UAAEO,CAAC,EAAE;QAAE,CAAC,CAAC;QAC/C,IAAI,MAAKL,KAAK,CAACM,kBAAkB,EAAE;UAC/B,MAAKC,QAAQ,CAAC;YAAEpB,QAAQ,EAAEU,WAAW;YAAEjB,KAAK,EAAEkB;UAAa,CAAC,CAAC;UAC7D,IAAMU,MAAM,GAAG,MAAKC,gBAAgB,CAACX,YAAY,CAAC;UAClD,IAAI,OAAOf,aAAa,KAAK,UAAU,EAAE;YACrCA,aAAa,CAACyB,MAAM,CAAC;UACzB;QACJ;MACJ,CAAC;MACDE,kBAAkB,EAAE,4BAACf,KAAK,EAAEC,OAAO,EAAK;QACpC,IAAMC,WAAW,GAAG,IAAIT,QAAQ,CAACC,OAAO,EAAE;QAC1C,IAAMS,YAAY,GAAGF,OAAO,CAACG,EAAE,GAAG,MAAKC,KAAK,CAACC,OAAO,GAAGL,OAAO,CAACM,EAAE;QACjEL,WAAW,CAACM,QAAQ,CAAC;UAAEC,CAAC,EAAEN,YAAY;UAAEO,CAAC,EAAE;QAAE,CAAC,CAAC;QAC/C,IAAI,MAAKL,KAAK,CAACM,kBAAkB,EAAE;UAC/B,MAAKC,QAAQ,CAAC;YAAEpB,QAAQ,EAAEU,WAAW;YAAEjB,KAAK,EAAEkB;UAAa,CAAC,CAAC;UAC7D,IAAMU,MAAM,GAAG,MAAKC,gBAAgB,CAACX,YAAY,CAAC;UAClD,IAAI,OAAOd,aAAa,KAAK,UAAU,EAAE;YACrCA,aAAa,CAACwB,MAAM,CAAC;UACzB;QACJ;MACJ,CAAC;MACDG,qBAAqB,EAAE,iCAAM;QACzB,IAAMH,MAAM,GAAG,MAAKC,gBAAgB,CAAC,MAAKT,KAAK,CAACpB,KAAK,CAAC;QACtD,IAAI4B,MAAM,IAAI,MAAK/B,KAAK,CAACmC,QAAQ,EAAE;UAC/B,IAAI,CAAC1B,SAAS,EAAE;YAEZ,MAAK2B,gBAAgB,CAACL,MAAM,CAAC;UACjC;UACA,IAAI,OAAOvB,cAAc,KAAK,UAAU,EAAE;YACtCA,cAAc,CAACuB,MAAM,CAAC;UAC1B;QACJ;MACJ;IACJ,CAAC,CAAC;IACF,MAAKR,KAAK,GAAG;MACTV,YAAY,EAAZA,YAAY;MACZH,QAAQ,EAARA,QAAQ;MACR2B,OAAO,EAAE,KAAK;MACdR,kBAAkB,EAAE;IACxB,CAAC;IAAC;EACN;EAAC;IAAA;IAAA,OACD,6BAAoB;MAAA;MAChB,IAAI;QACA,IAAI,CAACC,QAAQ,CAAC;UAAEO,OAAO,EAAE,IAAI;UAAER,kBAAkB,EAAE;QAAK,CAAC,EAAE;UAAA,OAAM,MAAI,CAACO,gBAAgB,CAAC,MAAI,CAACpC,KAAK,CAACsC,aAAa,CAAC;QAAA,EAAC;MACrH,CAAC,CACD,OAAOC,GAAG,EAAE;QAERC,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;MACpB;IACJ;EAAC;IAAA;IAAA,OACD,4BAAmBG,SAAS,EAAE;MAC1B,IAAI,IAAI,CAAC1C,KAAK,CAACsC,aAAa,KAAKI,SAAS,CAACJ,aAAa,EAAE;QACtD,IAAI,CAACF,gBAAgB,CAAC,IAAI,CAACpC,KAAK,CAACsC,aAAa,CAAC;MACnD;IACJ;EAAC;IAAA;IAAA,OACD,8BAAqB;MAAA;MAEjB,IAAI,CAACK,SAAS,CAACC,OAAO,CAAC,UAACC,EAAE,EAAEC,EAAE,EAAEC,KAAK,EAAEC,MAAM,EAAEC,EAAE,EAAK;QAClD,IAAMC,SAAS,GAAGH,KAAK,GAAG,CAAC;QAC3B,IAAMI,iBAAiB,GAAGF,EAAE,GAAGG,UAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACN,KAAK;QAC7D,MAAI,CAACjB,QAAQ,CAAC;UACVN,OAAO,EAAE2B,iBAAiB,GAAGD;QACjC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAA;IAAA,OACD,+BAAsB;MAClB,IAAQxC,QAAQ,GAAK,IAAI,CAACa,KAAK,CAAvBb,QAAQ;MAChB,mBAAyC,IAAI,CAACV,KAAK;QAA3CsD,SAAS,gBAATA,SAAS;QAAEC,WAAW,gBAAXA,WAAW;QAAEC,IAAI,gBAAJA,IAAI;MACpC,IAAQ/D,KAAK,GAAKH,KAAK,CAACkE,IAAI,CAAC,CAArB/D,KAAK;MACb,IAAMsD,KAAK,GAAGrC,QAAQ,CAACiB,CAAC,CAAC8B,WAAW,CAAC;QACjCC,UAAU,EAAE,CACR,CAACH,WAAW,IAAID,SAAS,GAAG,CAAC,CAAC,EAC9B,CAAC,EACDC,WAAW,IAAID,SAAS,GAAG,CAAC,CAAC,CAChC;QACDK,WAAW,EAAE,CACT,CAAC,EACDJ,WAAW,GAAGD,SAAS,GAAG,CAAC,EAC3BC,WAAW,GAAGD,SAAS,CAC1B;QACDM,WAAW,EAAE;MACjB,CAAC,EAAE;QACCC,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,OAAO;QACHnE,eAAe,EAAED,KAAK;QACtBsD,KAAK,EAALA,KAAK;QACLC,MAAM,EAAED,KAAK,GAAGO,SAAS,GAAG;MAChC,CAAC;IACL;EAAC;IAAA;IAAA,OACD,iCAAwB;MACpB,IAAQ5C,QAAQ,GAAK,IAAI,CAACa,KAAK,CAAvBb,QAAQ;MAChB,mBAAyC,IAAI,CAACV,KAAK;QAA3CsD,SAAS,gBAATA,SAAS;QAAEC,WAAW,gBAAXA,WAAW;QAAEC,IAAI,gBAAJA,IAAI;MACpC,IAAQ9D,eAAe,GAAKJ,KAAK,CAACkE,IAAI,CAAC,CAA/B9D,eAAe;MACvB,IAAMqD,KAAK,GAAGrC,QAAQ,CAACiB,CAAC,CAAC8B,WAAW,CAAC;QACjCC,UAAU,EAAE,CACR,CAACH,WAAW,IAAID,SAAS,GAAG,CAAC,CAAC,EAC9B,CAAC,EACDC,WAAW,IAAID,SAAS,GAAG,CAAC,CAAC,CAChC;QACDK,WAAW,EAAE,CACTJ,WAAW,GAAGD,SAAS,EACvBC,WAAW,GAAGD,SAAS,GAAG,CAAC,EAC3B,CAAC,CACJ;QACDM,WAAW,EAAE;MACjB,CAAC,EAAE;QACCC,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,OAAO;QACHnE,eAAe,EAAfA,eAAe;QACfqD,KAAK,EAALA,KAAK;QACLC,MAAM,EAAED,KAAK,GAAGO,SAAS,GAAG;MAChC,CAAC;IACL;EAAC;IAAA;IAAA,OACD,yBAAgB;MACZ,mBAAoD,IAAI,CAACtD,KAAK;QAAtDsD,SAAS,gBAATA,SAAS;QAAEC,WAAW,gBAAXA,WAAW;QAAEC,IAAI,gBAAJA,IAAI;QAAEM,SAAS,gBAATA,SAAS;MAC/C,IAAQtE,MAAM,GAAKF,KAAK,CAACkE,IAAI,CAAC,CAAtBhE,MAAM;MACd,OAAOR,KAAK,CAACuE,WAAW,EAAE,UAAAQ,KAAK;QAAA,OAAI,KAAC,IAAI;UAAa,KAAK,EAAEC,MAAM,CAACC,aAAc;UAAA,UACjF,KAAC,KAAK;YAAC,MAAM,EAAEzE,MAAO;YAAC,KAAK,EAAE;cAAEuD,KAAK,EAAEO,SAAS;cAAEN,MAAM,EAAEM,SAAS;cAAEQ,SAAS,EAATA;YAAU;UAAE;QAAE,GADrCC,KAAK,CAE9C;MAAA,EAAC;IACV;EAAC;IAAA;IAAA,OAED,0BAAiB5D,KAAK,EAAE;MACpB,mBAA8C,IAAI,CAACH,KAAK;QAAhDS,SAAS,gBAATA,SAAS;QAAE6C,SAAS,gBAATA,SAAS;QAAEC,WAAW,gBAAXA,WAAW;MACzC,IAAMjB,aAAa,GAAGiB,WAAW,GAAG,CAAC;MACrC,IAAIW,aAAa,GAAG,IAAI,CAAClE,KAAK,CAACmC,QAAQ,GAAG,IAAI,CAACnC,KAAK,CAACmC,QAAQ,GAAG,CAAC;MACjE,IAAIhC,KAAK,GAAGoD,WAAW,GAAGD,SAAS,GAAG,CAAC,EAAE;QACrCY,aAAa,GAAGX,WAAW;MAC/B,CAAC,MACI,IAAIpD,KAAK,GAAG,CAACoD,WAAW,GAAGD,SAAS,GAAG,CAAC,EAAE;QAC3CY,aAAa,GAAG,IAAI,CAAClE,KAAK,CAACmC,QAAQ,GAAG,IAAI,CAACnC,KAAK,CAACmC,QAAQ,GAAG,CAAC;MACjE,CAAC,MACI,IAAIhC,KAAK,IAAImD,SAAS,IAAInD,KAAK,GAAGmD,SAAS,EAAE;QAC9C,IAAMa,IAAI,GAAGhE,KAAK,GAAGmD,SAAS;QAC9BY,aAAa,GAAG5B,aAAa,GAAG6B,IAAI;QACpCD,aAAa,GAAGzD,SAAS,GACrB2D,MAAM,CAACF,aAAa,CAACG,OAAO,CAAC5D,SAAS,CAAC,CAAC,GACxC6D,IAAI,CAACC,IAAI,CAACL,aAAa,CAAC;MAChC,CAAC,MACI;QACDA,aAAa,GAAGzD,SAAS,GACrB2D,MAAM,CAAC9B,aAAa,CAAC+B,OAAO,CAAC5D,SAAS,CAAC,CAAC,GACxC6D,IAAI,CAACC,IAAI,CAACjC,aAAa,CAAC;MAChC;MACA,IAAI,IAAI,CAACtC,KAAK,CAACwE,SAAS,GAAG,CAAC,IACxB,IAAI,CAACxE,KAAK,CAACwE,SAAS,GAAG,IAAI,CAACxE,KAAK,CAACuD,WAAW,EAAE;QAC/C,OAAQe,IAAI,CAACC,IAAI,CAACL,aAAa,IAAI,CAAC,GAAG,IAAI,CAAClE,KAAK,CAACwE,SAAS,CAAC,CAAC,IACxD,CAAC,GAAG,IAAI,CAACxE,KAAK,CAACwE,SAAS,CAAC;MAClC,CAAC,MACI;QACD,OAAON,aAAa;MACxB;IACJ;EAAC;IAAA;IAAA,OAED,0BAAiBnC,MAAM,EAAE;MACrB,mBAAmC,IAAI,CAAC/B,KAAK;QAArCsD,SAAS,gBAATA,SAAS;QAAEC,WAAW,gBAAXA,WAAW;MAG9B,IAAMkB,aAAa,GAAGlB,WAAW,GAAG,CAAC;MACrC,IAAIpD,KAAK,GAAG,IAAI;MAChB,IAAI4B,MAAM,GAAGwB,WAAW,EAAE;QACtBpD,KAAK,GAAGoD,WAAW,GAAGD,SAAS,GAAG,CAAC;MACvC,CAAC,MACI,IAAIvB,MAAM,GAAG,CAAC,EAAE;QACjB5B,KAAK,GAAG,CAACoD,WAAW,GAAGD,SAAS,GAAG,CAAC;MACxC,CAAC,MACI,IAAIvB,MAAM,GAAGwB,WAAW,GAAG,CAAC,IAAIxB,MAAM,GAAGwB,WAAW,GAAG,CAAC,EAAE;QAC3DpD,KAAK,GAAG,CAAC4B,MAAM,GAAG0C,aAAa,IAAInB,SAAS;MAChD,CAAC,MACI;QACDnD,KAAK,GAAG,CAAC;MACb;MACA,IAAMiB,WAAW,GAAG,IAAIT,QAAQ,CAACC,OAAO,EAAE;MAC1CQ,WAAW,CAACM,QAAQ,CAAC;QAAEC,CAAC,EAAExB,KAAK;QAAEyB,CAAC,EAAE;MAAE,CAAC,CAAC;MACxC,IAAI,IAAI,CAACL,KAAK,CAACM,kBAAkB,EAAE;QAC/B,IAAI,CAACC,QAAQ,CAAC;UAAEpB,QAAQ,EAAEU,WAAW;UAAEjB,KAAK,EAALA;QAAM,CAAC,CAAC;MACnD;IACJ;EAAC;IAAA;IAAA,OACD,gCAAuB;MACnB,mBAA2E,IAAI,CAACH,KAAK;QAA7EuD,WAAW,gBAAXA,WAAW;QAAEC,IAAI,gBAAJA,IAAI;QAAEkB,QAAQ,gBAARA,QAAQ;QAAEC,gBAAgB,gBAAhBA,gBAAgB;QAAEC,eAAe,gBAAfA,eAAe;MACtE,IAAMnF,KAAK,GAAGmF,eAAe,IAAItF,KAAK,CAACkE,IAAI,CAAC,CAAC/D,KAAK;MAClD,OAAQ,MAAC,IAAI;QAAC,KAAK,EAAEuE,MAAM,CAACa,cAAe;QAAA,WAC3C,MAAC,IAAI;UAAC,KAAK,EAAEb,MAAM,CAACc,UAAW;UAAA,WAC7B,KAAC,IAAI;YAAC,KAAK,EAAE,CAACd,MAAM,CAACe,UAAU,EAAE;cAAEtF,KAAK,EAALA;YAAM,CAAC,CAAE;YAAA,UAAC;UAAQ,EAAO,EAC5D,KAAC,IAAI;YAAC,KAAK,EAAE,CAACuE,MAAM,CAACgB,iBAAiB,EAAE;cAAEvF,KAAK,EAALA;YAAM,CAAC,CAAE;YAAA,UAChD,IAAI,CAACuC,gBAAgB,CAAC,IAAI,CAACT,KAAK,CAACpB,KAAK;UAAC,EACnC,EACP,MAAC,IAAI;YAAC,KAAK,EAAE,CAAC6D,MAAM,CAACiB,aAAa,EAAE;cAAExF,KAAK,EAALA;YAAM,CAAC,CAAE;YAAA,WAAC,GAAC,EAAC8D,WAAW;UAAA,EAAQ;QAAA,EAChE,EACP,KAAC,IAAI;UAAA,UACFmB,QAAQ,IAAIC,gBAAgB,IACvB,KAAC,IAAI;YAAC,KAAK,EAAE,CAACX,MAAM,CAACkB,aAAa,EAAE;cAAEzF,KAAK,EAALA;YAAM,CAAC,CAAE;YAAA,UAAC;UAAU;QAAO,EAClE;MAAA,EACF;IACT;EAAC;IAAA;IAAA,OACD,kBAAS;MAAA;MACL,mBAA+F,IAAI,CAACO,KAAK;QAAjG0E,QAAQ,gBAARA,QAAQ;QAAElB,IAAI,gBAAJA,IAAI;QAAE2B,WAAW,gBAAXA,WAAW;QAAEC,WAAW,gBAAXA,WAAW;QAAEC,qBAAqB,gBAArBA,qBAAqB;QAAEC,KAAK,gBAALA,KAAK;QAAEC,UAAU,gBAAVA,UAAU;MAC1F,IAAI/B,IAAI,KAAK,QAAQ,EAAE;QACnB,IAAM1D,MAAM,GAAG;UACXN,MAAM,EAAE2F,WAAW;UACnB1F,KAAK,EAAE2F,WAAW;UAClB1F,eAAe,EAAE2F;QACrB,CAAC;QACD/F,KAAK,CAACQ,MAAM,GAAGA,MAAM;MACzB;MACA,OAAO,IAAI,CAACyB,KAAK,CAACc,OAAO,GACrB,MAAC,IAAI;QAAC,aAAa,EAAEqC,QAAQ,GAAG,MAAM,GAAG,MAAO;QAAC,KAAK,EAAEY,KAAM;QAAA,WACjEC,UAAU,IAAI,IAAI,CAACC,oBAAoB,EAAE,EAC1C,MAAC,IAAI;UAAC,KAAK,EAAExB,MAAM,CAACyB;QAAa,GAAK,IAAI,CAAClE,KAAK,CAACV,YAAY,CAAC6E,WAAW;UAAA,WACvE,MAAC,IAAI;YAAC,KAAK,EAAE1B,MAAM,CAAC2B,kBAAmB;YAAC,QAAQ,EAAE,oBAAM;cAC9C,MAAI,CAACC,kBAAkB,EAAE;YAC7B,CAAE;YAAC,GAAG,EAAE,aAAAC,IAAI,EAAI;cACZ,MAAI,CAAClD,SAAS,GAAGkD,IAAI;YACzB,CAAE;YAAA,WACN,KAAC,QAAQ,CAAC,IAAI;cAAC,KAAK,EAAE,IAAI,CAACC,mBAAmB;YAAG,EAAE,EACnD,KAAC,QAAQ,CAAC,IAAI;cAAC,KAAK,EAAE,IAAI,CAACC,qBAAqB;YAAG,EAAE;UAAA,EAChD,EACN,IAAI,CAACC,aAAa,EAAE;QAAA,GAChB;MAAA,EACF,GACD,IAAI;IACZ;EAAC;IAAA;IAAA,OACD,gCAAuB;MACnB,IAAI,CAAClE,QAAQ,CAAC;QAAED,kBAAkB,EAAE;MAAM,CAAC,CAAC;IAChD;EAAC;EAAA;AAAA,EA3OoC9C,SAAS;AAAA,SAA7BsB,WAAW;AA6OhCA,WAAW,CAAC4F,YAAY,GAAG;EACvBzC,IAAI,EAAE,MAAM;EACZ2B,WAAW,EAAElG,UAAU;EACvBmG,WAAW,EAAE,SAAS;EACtBC,qBAAqB,EAAE,OAAO;EAC9B9B,WAAW,EAAE,CAAC;EACdoB,gBAAgB,EAAE,IAAI;EACtBrB,SAAS,EAAE,EAAE;EACbnB,QAAQ,EAAE,CAAC;EACXqC,SAAS,EAAE;AACf,CAAC;AACD,IAAMR,MAAM,GAAGkC,UAAU,CAACnF,MAAM,CAAC;EAC7B0E,YAAY,EAAE;IACVU,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EAChB,CAAC;EACDV,kBAAkB,EAAE;IAChBjF,QAAQ,EAAE,UAAU;IACpB4F,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTN,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EAChB,CAAC;EACDxB,cAAc,EAAE;IACZsB,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBK,aAAa,EAAE;EACnB,CAAC;EACD5B,UAAU,EAAE;IACRqB,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBK,aAAa,EAAE;EACnB,CAAC;EACD3B,UAAU,EAAE;IACR4B,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEC,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,cAAc,GAAG,IAAI;IACzDtH,KAAK,EAAE;EACX,CAAC;EACDyF,aAAa,EAAE;IACXkB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBM,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEC,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,cAAc,GAAG,IAAI;IACzDtH,KAAK,EAAE;EACX,CAAC;EACDuF,iBAAiB,EAAE;IACf2B,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEC,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,cAAc,GAAG;EACzD,CAAC;EACD9B,aAAa,EAAE;IACX0B,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEC,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,cAAc,GAAG,IAAI;IACzDtH,KAAK,EAAE;EACX;AACJ,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c11ad57f52131edc8b54083537fceefd.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c11ad57f52131edc8b54083537fceefd.json new file mode 100644 index 00000000..032f91e6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c11ad57f52131edc8b54083537fceefd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nvar _Dimensions$get = Dimensions.get('window'),\n width = _Dimensions$get.width,\n height = _Dimensions$get.height;\nvar _ref = width < height ? [width, height] : [height, width],\n _ref2 = _slicedToArray(_ref, 2),\n shortDimension = _ref2[0],\n longDimension = _ref2[1];\nvar guidelineBaseWidth = 350;\nvar guidelineBaseHeight = 680;\nexport var scale = function scale(size) {\n return shortDimension / guidelineBaseWidth * size;\n};\nexport var verticalScale = function verticalScale(size) {\n return longDimension / guidelineBaseHeight * size;\n};\nexport var moderateScale = function moderateScale(size) {\n var factor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.5;\n return size + (scale(size) - size) * factor;\n};\nexport var moderateVerticalScale = function moderateVerticalScale(size) {\n var factor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.5;\n return size + (verticalScale(size) - size) * factor;\n};\nexport var s = scale;\nexport var vs = verticalScale;\nexport var ms = moderateScale;\nexport var mvs = moderateVerticalScale;","map":{"version":3,"names":["Dimensions","get","width","height","shortDimension","longDimension","guidelineBaseWidth","guidelineBaseHeight","scale","size","verticalScale","moderateScale","factor","moderateVerticalScale","s","vs","ms","mvs"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-size-matters/lib/scaling-utils.js"],"sourcesContent":["import { Dimensions } from 'react-native';\n\nconst { width, height } = Dimensions.get('window');\nconst [shortDimension, longDimension] = width < height ? [width, height] : [height, width];\n\n//Default guideline sizes are based on standard ~5\" screen mobile device\nconst guidelineBaseWidth = 350;\nconst guidelineBaseHeight = 680;\n\nexport const scale = size => shortDimension / guidelineBaseWidth * size;\nexport const verticalScale = size => longDimension / guidelineBaseHeight * size;\nexport const moderateScale = (size, factor = 0.5) => size + (scale(size) - size) * factor;\nexport const moderateVerticalScale = (size, factor = 0.5) => size + (verticalScale(size) - size) * factor;\n\nexport const s = scale;\nexport const vs = verticalScale;\nexport const ms = moderateScale;\nexport const mvs = moderateVerticalScale;"],"mappings":";;AAEA,sBAA0BA,UAAU,CAACC,GAAG,CAAC,QAAQ,CAAC;EAA1CC,KAAK,mBAALA,KAAK;EAAEC,MAAM,mBAANA,MAAM;AACrB,WAAwCD,KAAK,GAAGC,MAAM,GAAG,CAACD,KAAK,EAAEC,MAAM,CAAC,GAAG,CAACA,MAAM,EAAED,KAAK,CAAC;EAAA;EAAnFE,cAAc;EAAEC,aAAa;AAGpC,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,mBAAmB,GAAG,GAAG;AAE/B,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAGC,IAAI;EAAA,OAAIL,cAAc,GAAGE,kBAAkB,GAAGG,IAAI;AAAA;AACvE,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAGD,IAAI;EAAA,OAAIJ,aAAa,GAAGE,mBAAmB,GAAGE,IAAI;AAAA;AAC/E,OAAO,IAAME,aAAa,GAAG,SAAhBA,aAAa,CAAIF,IAAI;EAAA,IAAEG,MAAM,uEAAG,GAAG;EAAA,OAAKH,IAAI,GAAG,CAACD,KAAK,CAACC,IAAI,CAAC,GAAGA,IAAI,IAAIG,MAAM;AAAA;AACzF,OAAO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIJ,IAAI;EAAA,IAAEG,MAAM,uEAAG,GAAG;EAAA,OAAKH,IAAI,GAAG,CAACC,aAAa,CAACD,IAAI,CAAC,GAAGA,IAAI,IAAIG,MAAM;AAAA;AAEzG,OAAO,IAAME,CAAC,GAAGN,KAAK;AACtB,OAAO,IAAMO,EAAE,GAAGL,aAAa;AAC/B,OAAO,IAAMM,EAAE,GAAGL,aAAa;AAC/B,OAAO,IAAMM,GAAG,GAAGJ,qBAAqB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c1ba8573850807d832f7f84e3a522310.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c1ba8573850807d832f7f84e3a522310.json new file mode 100644 index 00000000..6d79629c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c1ba8573850807d832f7f84e3a522310.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from \"../../modules/canUseDom\";\nvar initialURL = canUseDOM ? window.location.href : '';\nvar Linking = function () {\n function Linking() {\n var _this = this;\n _classCallCheck(this, Linking);\n this._eventCallbacks = {};\n this.addEventListener = function (event, callback) {\n if (!_this._eventCallbacks[event]) {\n _this._eventCallbacks[event] = [callback];\n return;\n }\n _this._eventCallbacks[event].push(callback);\n };\n this.removeEventListener = function (event, callback) {\n var callbacks = _this._eventCallbacks[event];\n var filteredCallbacks = callbacks.filter(function (c) {\n return c.toString() !== callback.toString();\n });\n _this._eventCallbacks[event] = filteredCallbacks;\n };\n }\n _createClass(Linking, [{\n key: \"_dispatchEvent\",\n value: function _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n var listeners = this._eventCallbacks[event];\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(function (listener) {\n listener.apply(void 0, data);\n });\n }\n }\n }, {\n key: \"canOpenURL\",\n value: function canOpenURL() {\n return Promise.resolve(true);\n }\n }, {\n key: \"getInitialURL\",\n value: function getInitialURL() {\n return Promise.resolve(initialURL);\n }\n }, {\n key: \"openURL\",\n value: function openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n try {\n open(url, target);\n this._dispatchEvent('onOpen', url);\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n }, {\n key: \"_validateURL\",\n value: function _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n }]);\n return Linking;\n}();\nvar open = function open(url, target) {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\nexport default new Linking();","map":{"version":3,"names":["invariant","canUseDOM","initialURL","window","location","href","Linking","_eventCallbacks","addEventListener","event","callback","push","removeEventListener","callbacks","filteredCallbacks","filter","c","toString","_len","arguments","length","data","Array","_key","listeners","isArray","map","listener","Promise","resolve","url","target","open","_dispatchEvent","e","reject","urlToOpen","URL","indexOf"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Linking/index.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\n\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n\n this.addEventListener = (event, callback) => {\n if (!this._eventCallbacks[event]) {\n this._eventCallbacks[event] = [callback];\n return;\n }\n\n this._eventCallbacks[event].push(callback);\n };\n\n this.removeEventListener = (event, callback) => {\n var callbacks = this._eventCallbacks[event];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[event] = filteredCallbacks;\n };\n }\n\n _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n\n var listeners = this._eventCallbacks[event];\n\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\n }\n }\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n\n\n canOpenURL() {\n return Promise.resolve(true);\n }\n\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If a target is passed (including undefined) that target will be used, otherwise '_blank'.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully.\n */\n\n\n openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n\n try {\n open(url, target);\n\n this._dispatchEvent('onOpen', url);\n\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n\n}\n\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\n\nexport default new Linking();"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c1e3fcb19d9ea5bd2ed2d782b00812b7.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c1e3fcb19d9ea5bd2ed2d782b00812b7.json new file mode 100644 index 00000000..57238a80 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c1e3fcb19d9ea5bd2ed2d782b00812b7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"state\", \"descriptors\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nimport { HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements';\nimport { StackActions } from '@react-navigation/native';\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport ModalPresentationContext from \"../../utils/ModalPresentationContext\";\nimport { GestureHandlerRootView } from \"../GestureHandler\";\nimport HeaderContainer from \"../Header/HeaderContainer\";\nimport CardStack from \"./CardStack\";\nvar GestureHandlerWrapper = GestureHandlerRootView != null ? GestureHandlerRootView : View;\nvar isArrayEqual = function isArrayEqual(a, b) {\n return a.length === b.length && a.every(function (it, index) {\n return it === b[index];\n });\n};\nvar StackView = function (_React$Component) {\n _inherits(StackView, _React$Component);\n var _super = _createSuper(StackView);\n function StackView() {\n var _this;\n _classCallCheck(this, StackView);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n routes: [],\n previousRoutes: [],\n previousDescriptors: {},\n openingRouteKeys: [],\n closingRouteKeys: [],\n replacingRouteKeys: [],\n descriptors: {}\n };\n _this.getPreviousRoute = function (_ref2) {\n var route = _ref2.route;\n var _this$state = _this.state,\n closingRouteKeys = _this$state.closingRouteKeys,\n replacingRouteKeys = _this$state.replacingRouteKeys;\n var routes = _this.state.routes.filter(function (r) {\n return r.key === route.key || !closingRouteKeys.includes(r.key) && !replacingRouteKeys.includes(r.key);\n });\n var index = routes.findIndex(function (r) {\n return r.key === route.key;\n });\n return routes[index - 1];\n };\n _this.renderScene = function (_ref3) {\n var route = _ref3.route;\n var descriptor = _this.state.descriptors[route.key] || _this.props.descriptors[route.key];\n if (!descriptor) {\n return null;\n }\n return descriptor.render();\n };\n _this.renderHeader = function (props) {\n return React.createElement(HeaderContainer, props);\n };\n _this.handleOpenRoute = function (_ref4) {\n var route = _ref4.route;\n var _this$props = _this.props,\n state = _this$props.state,\n navigation = _this$props.navigation;\n var _this$state2 = _this.state,\n closingRouteKeys = _this$state2.closingRouteKeys,\n replacingRouteKeys = _this$state2.replacingRouteKeys;\n if (closingRouteKeys.some(function (key) {\n return key === route.key;\n }) && replacingRouteKeys.every(function (key) {\n return key !== route.key;\n }) && state.routeNames.includes(route.name) && !state.routes.some(function (r) {\n return r.key === route.key;\n })) {\n navigation.navigate(route);\n } else {\n _this.setState(function (state) {\n return {\n routes: state.replacingRouteKeys.length ? state.routes.filter(function (r) {\n return !state.replacingRouteKeys.includes(r.key);\n }) : state.routes,\n openingRouteKeys: state.openingRouteKeys.filter(function (key) {\n return key !== route.key;\n }),\n closingRouteKeys: state.closingRouteKeys.filter(function (key) {\n return key !== route.key;\n }),\n replacingRouteKeys: []\n };\n });\n }\n };\n _this.handleCloseRoute = function (_ref5) {\n var route = _ref5.route;\n var _this$props2 = _this.props,\n state = _this$props2.state,\n navigation = _this$props2.navigation;\n if (state.routes.some(function (r) {\n return r.key === route.key;\n })) {\n navigation.dispatch(_objectSpread(_objectSpread({}, StackActions.pop()), {}, {\n source: route.key,\n target: state.key\n }));\n } else {\n _this.setState(function (state) {\n return {\n routes: state.routes.filter(function (r) {\n return r.key !== route.key;\n }),\n openingRouteKeys: state.openingRouteKeys.filter(function (key) {\n return key !== route.key;\n }),\n closingRouteKeys: state.closingRouteKeys.filter(function (key) {\n return key !== route.key;\n })\n };\n });\n }\n };\n _this.handleTransitionStart = function (_ref6, closing) {\n var route = _ref6.route;\n return _this.props.navigation.emit({\n type: 'transitionStart',\n data: {\n closing: closing\n },\n target: route.key\n });\n };\n _this.handleTransitionEnd = function (_ref7, closing) {\n var route = _ref7.route;\n return _this.props.navigation.emit({\n type: 'transitionEnd',\n data: {\n closing: closing\n },\n target: route.key\n });\n };\n _this.handleGestureStart = function (_ref8) {\n var route = _ref8.route;\n _this.props.navigation.emit({\n type: 'gestureStart',\n target: route.key\n });\n };\n _this.handleGestureEnd = function (_ref9) {\n var route = _ref9.route;\n _this.props.navigation.emit({\n type: 'gestureEnd',\n target: route.key\n });\n };\n _this.handleGestureCancel = function (_ref10) {\n var route = _ref10.route;\n _this.props.navigation.emit({\n type: 'gestureCancel',\n target: route.key\n });\n };\n return _this;\n }\n _createClass(StackView, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props3 = this.props,\n state = _this$props3.state,\n _ = _this$props3.descriptors,\n rest = _objectWithoutProperties(_this$props3, _excluded);\n var _this$state3 = this.state,\n routes = _this$state3.routes,\n descriptors = _this$state3.descriptors,\n openingRouteKeys = _this$state3.openingRouteKeys,\n closingRouteKeys = _this$state3.closingRouteKeys;\n return React.createElement(GestureHandlerWrapper, {\n style: styles.container\n }, React.createElement(SafeAreaProviderCompat, null, React.createElement(SafeAreaInsetsContext.Consumer, null, function (insets) {\n return React.createElement(ModalPresentationContext.Consumer, null, function (isParentModal) {\n return React.createElement(HeaderShownContext.Consumer, null, function (isParentHeaderShown) {\n return React.createElement(CardStack, _extends({\n insets: insets,\n isParentHeaderShown: isParentHeaderShown,\n isParentModal: isParentModal,\n getPreviousRoute: _this2.getPreviousRoute,\n routes: routes,\n openingRouteKeys: openingRouteKeys,\n closingRouteKeys: closingRouteKeys,\n onOpenRoute: _this2.handleOpenRoute,\n onCloseRoute: _this2.handleCloseRoute,\n onTransitionStart: _this2.handleTransitionStart,\n onTransitionEnd: _this2.handleTransitionEnd,\n renderHeader: _this2.renderHeader,\n renderScene: _this2.renderScene,\n state: state,\n descriptors: descriptors,\n onGestureStart: _this2.handleGestureStart,\n onGestureEnd: _this2.handleGestureEnd,\n onGestureCancel: _this2.handleGestureCancel\n }, rest));\n });\n });\n })));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if ((props.state.routes === state.previousRoutes || isArrayEqual(props.state.routes.map(function (r) {\n return r.key;\n }), state.previousRoutes.map(function (r) {\n return r.key;\n }))) && state.routes.length) {\n var _routes = state.routes;\n var _previousRoutes = state.previousRoutes;\n var _descriptors = props.descriptors;\n var previousDescriptors = state.previousDescriptors;\n if (props.descriptors !== state.previousDescriptors) {\n _descriptors = state.routes.reduce(function (acc, route) {\n acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];\n return acc;\n }, {});\n previousDescriptors = props.descriptors;\n }\n if (props.state.routes !== state.previousRoutes) {\n var map = props.state.routes.reduce(function (acc, route) {\n acc[route.key] = route;\n return acc;\n }, {});\n _routes = state.routes.map(function (route) {\n return map[route.key] || route;\n });\n _previousRoutes = props.state.routes;\n }\n return {\n routes: _routes,\n previousRoutes: _previousRoutes,\n descriptors: _descriptors,\n previousDescriptors: previousDescriptors\n };\n }\n var routes = props.state.index < props.state.routes.length - 1 ? props.state.routes.slice(0, props.state.index + 1) : props.state.routes;\n var openingRouteKeys = state.openingRouteKeys,\n closingRouteKeys = state.closingRouteKeys,\n replacingRouteKeys = state.replacingRouteKeys,\n previousRoutes = state.previousRoutes;\n var previousFocusedRoute = previousRoutes[previousRoutes.length - 1];\n var nextFocusedRoute = routes[routes.length - 1];\n var isAnimationEnabled = function isAnimationEnabled(key) {\n var descriptor = props.descriptors[key] || state.descriptors[key];\n return descriptor ? descriptor.options.animationEnabled !== false : true;\n };\n var getAnimationTypeForReplace = function getAnimationTypeForReplace(key) {\n var _descriptor$options$a;\n var descriptor = props.descriptors[key] || state.descriptors[key];\n return (_descriptor$options$a = descriptor.options.animationTypeForReplace) != null ? _descriptor$options$a : 'push';\n };\n if (previousFocusedRoute && previousFocusedRoute.key !== nextFocusedRoute.key) {\n if (!previousRoutes.some(function (r) {\n return r.key === nextFocusedRoute.key;\n })) {\n if (isAnimationEnabled(nextFocusedRoute.key) && !openingRouteKeys.includes(nextFocusedRoute.key)) {\n openingRouteKeys = [].concat(_toConsumableArray(openingRouteKeys), [nextFocusedRoute.key]);\n closingRouteKeys = closingRouteKeys.filter(function (key) {\n return key !== nextFocusedRoute.key;\n });\n replacingRouteKeys = replacingRouteKeys.filter(function (key) {\n return key !== nextFocusedRoute.key;\n });\n if (!routes.some(function (r) {\n return r.key === previousFocusedRoute.key;\n })) {\n openingRouteKeys = openingRouteKeys.filter(function (key) {\n return key !== previousFocusedRoute.key;\n });\n if (getAnimationTypeForReplace(nextFocusedRoute.key) === 'pop') {\n closingRouteKeys = [].concat(_toConsumableArray(closingRouteKeys), [previousFocusedRoute.key]);\n openingRouteKeys = openingRouteKeys.filter(function (key) {\n return key !== nextFocusedRoute.key;\n });\n routes = [].concat(_toConsumableArray(routes), [previousFocusedRoute]);\n } else {\n replacingRouteKeys = [].concat(_toConsumableArray(replacingRouteKeys), [previousFocusedRoute.key]);\n closingRouteKeys = closingRouteKeys.filter(function (key) {\n return key !== previousFocusedRoute.key;\n });\n routes = routes.slice();\n routes.splice(routes.length - 1, 0, previousFocusedRoute);\n }\n }\n }\n } else if (!routes.some(function (r) {\n return r.key === previousFocusedRoute.key;\n })) {\n if (isAnimationEnabled(previousFocusedRoute.key) && !closingRouteKeys.includes(previousFocusedRoute.key)) {\n closingRouteKeys = [].concat(_toConsumableArray(closingRouteKeys), [previousFocusedRoute.key]);\n openingRouteKeys = openingRouteKeys.filter(function (key) {\n return key !== previousFocusedRoute.key;\n });\n replacingRouteKeys = replacingRouteKeys.filter(function (key) {\n return key !== previousFocusedRoute.key;\n });\n routes = [].concat(_toConsumableArray(routes), [previousFocusedRoute]);\n }\n } else {}\n } else if (replacingRouteKeys.length || closingRouteKeys.length) {\n var _routes2;\n routes = routes.slice();\n (_routes2 = routes).splice.apply(_routes2, [routes.length - 1, 0].concat(_toConsumableArray(state.routes.filter(function (_ref) {\n var key = _ref.key;\n return isAnimationEnabled(key) ? replacingRouteKeys.includes(key) || closingRouteKeys.includes(key) : false;\n }))));\n }\n if (!routes.length) {\n throw new Error('There should always be at least one route in the navigation state.');\n }\n var descriptors = routes.reduce(function (acc, route) {\n acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];\n return acc;\n }, {});\n return {\n routes: routes,\n previousRoutes: props.state.routes,\n previousDescriptors: props.descriptors,\n openingRouteKeys: openingRouteKeys,\n closingRouteKeys: closingRouteKeys,\n replacingRouteKeys: replacingRouteKeys,\n descriptors: descriptors\n };\n }\n }]);\n return StackView;\n}(React.Component);\nexport { StackView as default };\nvar styles = StyleSheet.create({\n container: {\n flex: 1\n }\n});","map":{"version":3,"sources":["views/Stack/StackView.tsx"],"names":["HeaderShownContext","SafeAreaProviderCompat","StackActions","React","SafeAreaInsetsContext","ModalPresentationContext","GestureHandlerRootView","HeaderContainer","CardStack","GestureHandlerWrapper","View","isArrayEqual","a","b","length","every","it","index","StackView","Component","props","state","routes","previousRoutes","map","r","key","descriptors","previousDescriptors","reduce","acc","route","slice","openingRouteKeys","closingRouteKeys","replacingRouteKeys","previousFocusedRoute","nextFocusedRoute","isAnimationEnabled","descriptor","options","animationEnabled","getAnimationTypeForReplace","animationTypeForReplace","some","includes","filter","splice","Error","getPreviousRoute","findIndex","renderScene","render","renderHeader","handleOpenRoute","navigation","routeNames","name","navigate","setState","handleCloseRoute","dispatch","pop","source","target","handleTransitionStart","closing","emit","type","data","handleTransitionEnd","handleGestureStart","handleGestureEnd","handleGestureCancel","_","rest","styles","container","insets","isParentModal","isParentHeaderShown","StyleSheet","create","flex"],"mappings":"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","sourceRoot":"../../../../src","sourcesContent":["function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport { HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements';\nimport { StackActions } from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport ModalPresentationContext from '../../utils/ModalPresentationContext';\nimport { GestureHandlerRootView } from '../GestureHandler';\nimport HeaderContainer from '../Header/HeaderContainer';\nimport CardStack from './CardStack';\nconst GestureHandlerWrapper = GestureHandlerRootView ?? View;\n\n/**\n * Compare two arrays with primitive values as the content.\n * We need to make sure that both values and order match.\n */\nconst isArrayEqual = (a, b) => a.length === b.length && a.every((it, index) => it === b[index]);\nexport default class StackView extends React.Component {\n static getDerivedStateFromProps(props, state) {\n // If there was no change in routes, we don't need to compute anything\n if ((props.state.routes === state.previousRoutes || isArrayEqual(props.state.routes.map(r => r.key), state.previousRoutes.map(r => r.key))) && state.routes.length) {\n let routes = state.routes;\n let previousRoutes = state.previousRoutes;\n let descriptors = props.descriptors;\n let previousDescriptors = state.previousDescriptors;\n if (props.descriptors !== state.previousDescriptors) {\n descriptors = state.routes.reduce((acc, route) => {\n acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];\n return acc;\n }, {});\n previousDescriptors = props.descriptors;\n }\n if (props.state.routes !== state.previousRoutes) {\n // if any route objects have changed, we should update them\n const map = props.state.routes.reduce((acc, route) => {\n acc[route.key] = route;\n return acc;\n }, {});\n routes = state.routes.map(route => map[route.key] || route);\n previousRoutes = props.state.routes;\n }\n return {\n routes,\n previousRoutes,\n descriptors,\n previousDescriptors\n };\n }\n\n // Here we determine which routes were added or removed to animate them\n // We keep a copy of the route being removed in local state to be able to animate it\n\n let routes = props.state.index < props.state.routes.length - 1 ?\n // Remove any extra routes from the state\n // The last visible route should be the focused route, i.e. at current index\n props.state.routes.slice(0, props.state.index + 1) : props.state.routes;\n\n // Now we need to determine which routes were added and removed\n let {\n openingRouteKeys,\n closingRouteKeys,\n replacingRouteKeys,\n previousRoutes\n } = state;\n const previousFocusedRoute = previousRoutes[previousRoutes.length - 1];\n const nextFocusedRoute = routes[routes.length - 1];\n const isAnimationEnabled = key => {\n const descriptor = props.descriptors[key] || state.descriptors[key];\n return descriptor ? descriptor.options.animationEnabled !== false : true;\n };\n const getAnimationTypeForReplace = key => {\n const descriptor = props.descriptors[key] || state.descriptors[key];\n return descriptor.options.animationTypeForReplace ?? 'push';\n };\n if (previousFocusedRoute && previousFocusedRoute.key !== nextFocusedRoute.key) {\n // We only need to animate routes if the focused route changed\n // Animating previous routes won't be visible coz the focused route is on top of everything\n\n if (!previousRoutes.some(r => r.key === nextFocusedRoute.key)) {\n // A new route has come to the focus, we treat this as a push\n // A replace can also trigger this, the animation should look like push\n\n if (isAnimationEnabled(nextFocusedRoute.key) && !openingRouteKeys.includes(nextFocusedRoute.key)) {\n // In this case, we need to animate pushing the focused route\n // We don't care about animating any other added routes because they won't be visible\n openingRouteKeys = [...openingRouteKeys, nextFocusedRoute.key];\n closingRouteKeys = closingRouteKeys.filter(key => key !== nextFocusedRoute.key);\n replacingRouteKeys = replacingRouteKeys.filter(key => key !== nextFocusedRoute.key);\n if (!routes.some(r => r.key === previousFocusedRoute.key)) {\n // The previous focused route isn't present in state, we treat this as a replace\n\n openingRouteKeys = openingRouteKeys.filter(key => key !== previousFocusedRoute.key);\n if (getAnimationTypeForReplace(nextFocusedRoute.key) === 'pop') {\n closingRouteKeys = [...closingRouteKeys, previousFocusedRoute.key];\n\n // By default, new routes have a push animation, so we add it to `openingRouteKeys` before\n // But since user configured it to animate the old screen like a pop, we need to add this without animation\n // So remove it from `openingRouteKeys` which will remove the animation\n openingRouteKeys = openingRouteKeys.filter(key => key !== nextFocusedRoute.key);\n\n // Keep the route being removed at the end to animate it out\n routes = [...routes, previousFocusedRoute];\n } else {\n replacingRouteKeys = [...replacingRouteKeys, previousFocusedRoute.key];\n closingRouteKeys = closingRouteKeys.filter(key => key !== previousFocusedRoute.key);\n\n // Keep the old route in the state because it's visible under the new route, and removing it will feel abrupt\n // We need to insert it just before the focused one (the route being pushed)\n // After the push animation is completed, routes being replaced will be removed completely\n routes = routes.slice();\n routes.splice(routes.length - 1, 0, previousFocusedRoute);\n }\n }\n }\n } else if (!routes.some(r => r.key === previousFocusedRoute.key)) {\n // The previously focused route was removed, we treat this as a pop\n\n if (isAnimationEnabled(previousFocusedRoute.key) && !closingRouteKeys.includes(previousFocusedRoute.key)) {\n closingRouteKeys = [...closingRouteKeys, previousFocusedRoute.key];\n\n // Sometimes a route can be closed before the opening animation finishes\n // So we also need to remove it from the opening list\n openingRouteKeys = openingRouteKeys.filter(key => key !== previousFocusedRoute.key);\n replacingRouteKeys = replacingRouteKeys.filter(key => key !== previousFocusedRoute.key);\n\n // Keep a copy of route being removed in the state to be able to animate it\n routes = [...routes, previousFocusedRoute];\n }\n } else {\n // Looks like some routes were re-arranged and no focused routes were added/removed\n // i.e. the currently focused route already existed and the previously focused route still exists\n // We don't know how to animate this\n }\n } else if (replacingRouteKeys.length || closingRouteKeys.length) {\n // Keep the routes we are closing or replacing if animation is enabled for them\n routes = routes.slice();\n routes.splice(routes.length - 1, 0, ...state.routes.filter(_ref => {\n let {\n key\n } = _ref;\n return isAnimationEnabled(key) ? replacingRouteKeys.includes(key) || closingRouteKeys.includes(key) : false;\n }));\n }\n if (!routes.length) {\n throw new Error('There should always be at least one route in the navigation state.');\n }\n const descriptors = routes.reduce((acc, route) => {\n acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];\n return acc;\n }, {});\n return {\n routes,\n previousRoutes: props.state.routes,\n previousDescriptors: props.descriptors,\n openingRouteKeys,\n closingRouteKeys,\n replacingRouteKeys,\n descriptors\n };\n }\n state = {\n routes: [],\n previousRoutes: [],\n previousDescriptors: {},\n openingRouteKeys: [],\n closingRouteKeys: [],\n replacingRouteKeys: [],\n descriptors: {}\n };\n getPreviousRoute = _ref2 => {\n let {\n route\n } = _ref2;\n const {\n closingRouteKeys,\n replacingRouteKeys\n } = this.state;\n const routes = this.state.routes.filter(r => r.key === route.key || !closingRouteKeys.includes(r.key) && !replacingRouteKeys.includes(r.key));\n const index = routes.findIndex(r => r.key === route.key);\n return routes[index - 1];\n };\n renderScene = _ref3 => {\n let {\n route\n } = _ref3;\n const descriptor = this.state.descriptors[route.key] || this.props.descriptors[route.key];\n if (!descriptor) {\n return null;\n }\n return descriptor.render();\n };\n renderHeader = props => {\n return /*#__PURE__*/React.createElement(HeaderContainer, props);\n };\n handleOpenRoute = _ref4 => {\n let {\n route\n } = _ref4;\n const {\n state,\n navigation\n } = this.props;\n const {\n closingRouteKeys,\n replacingRouteKeys\n } = this.state;\n if (closingRouteKeys.some(key => key === route.key) && replacingRouteKeys.every(key => key !== route.key) && state.routeNames.includes(route.name) && !state.routes.some(r => r.key === route.key)) {\n // If route isn't present in current state, but was closing, assume that a close animation was cancelled\n // So we need to add this route back to the state\n navigation.navigate(route);\n } else {\n this.setState(state => ({\n routes: state.replacingRouteKeys.length ? state.routes.filter(r => !state.replacingRouteKeys.includes(r.key)) : state.routes,\n openingRouteKeys: state.openingRouteKeys.filter(key => key !== route.key),\n closingRouteKeys: state.closingRouteKeys.filter(key => key !== route.key),\n replacingRouteKeys: []\n }));\n }\n };\n handleCloseRoute = _ref5 => {\n let {\n route\n } = _ref5;\n const {\n state,\n navigation\n } = this.props;\n if (state.routes.some(r => r.key === route.key)) {\n // If a route exists in state, trigger a pop\n // This will happen in when the route was closed from the card component\n // e.g. When the close animation triggered from a gesture ends\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key\n });\n } else {\n // We need to clean up any state tracking the route and pop it immediately\n this.setState(state => ({\n routes: state.routes.filter(r => r.key !== route.key),\n openingRouteKeys: state.openingRouteKeys.filter(key => key !== route.key),\n closingRouteKeys: state.closingRouteKeys.filter(key => key !== route.key)\n }));\n }\n };\n handleTransitionStart = (_ref6, closing) => {\n let {\n route\n } = _ref6;\n return this.props.navigation.emit({\n type: 'transitionStart',\n data: {\n closing\n },\n target: route.key\n });\n };\n handleTransitionEnd = (_ref7, closing) => {\n let {\n route\n } = _ref7;\n return this.props.navigation.emit({\n type: 'transitionEnd',\n data: {\n closing\n },\n target: route.key\n });\n };\n handleGestureStart = _ref8 => {\n let {\n route\n } = _ref8;\n this.props.navigation.emit({\n type: 'gestureStart',\n target: route.key\n });\n };\n handleGestureEnd = _ref9 => {\n let {\n route\n } = _ref9;\n this.props.navigation.emit({\n type: 'gestureEnd',\n target: route.key\n });\n };\n handleGestureCancel = _ref10 => {\n let {\n route\n } = _ref10;\n this.props.navigation.emit({\n type: 'gestureCancel',\n target: route.key\n });\n };\n render() {\n const {\n state,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n descriptors: _,\n ...rest\n } = this.props;\n const {\n routes,\n descriptors,\n openingRouteKeys,\n closingRouteKeys\n } = this.state;\n return /*#__PURE__*/React.createElement(GestureHandlerWrapper, {\n style: styles.container\n }, /*#__PURE__*/React.createElement(SafeAreaProviderCompat, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, insets => /*#__PURE__*/React.createElement(ModalPresentationContext.Consumer, null, isParentModal => /*#__PURE__*/React.createElement(HeaderShownContext.Consumer, null, isParentHeaderShown => /*#__PURE__*/React.createElement(CardStack, _extends({\n insets: insets,\n isParentHeaderShown: isParentHeaderShown,\n isParentModal: isParentModal,\n getPreviousRoute: this.getPreviousRoute,\n routes: routes,\n openingRouteKeys: openingRouteKeys,\n closingRouteKeys: closingRouteKeys,\n onOpenRoute: this.handleOpenRoute,\n onCloseRoute: this.handleCloseRoute,\n onTransitionStart: this.handleTransitionStart,\n onTransitionEnd: this.handleTransitionEnd,\n renderHeader: this.renderHeader,\n renderScene: this.renderScene,\n state: state,\n descriptors: descriptors,\n onGestureStart: this.handleGestureStart,\n onGestureEnd: this.handleGestureEnd,\n onGestureCancel: this.handleGestureCancel\n }, rest)))))));\n }\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1\n }\n});\n//# sourceMappingURL=StackView.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c501ef7434a3719f7216e1dd2a7a69e5.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c501ef7434a3719f7216e1dd2a7a69e5.json new file mode 100644 index 00000000..ecfc07ff --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c501ef7434a3719f7216e1dd2a7a69e5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport { Platform } from 'expo-modules-core';\nimport path from 'path-browserify';\nimport PixelRatio from \"react-native-web/dist/exports/PixelRatio\";\nimport URL from 'url-parse';\nimport AssetSourceResolver from \"./AssetSourceResolver\";\nimport { manifestBaseUrl, getManifest, getManifest2 } from \"./PlatformUtils\";\nvar assetMapOverride = getManifest().assetMapOverride;\nexport function selectAssetSource(meta) {\n var _manifest2$extra, _manifest2$extra$expo;\n if (assetMapOverride && assetMapOverride.hasOwnProperty(meta.hash)) {\n meta = _objectSpread(_objectSpread({}, meta), assetMapOverride[meta.hash]);\n }\n var scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n var index = meta.scales.findIndex(function (s) {\n return s === scale;\n });\n var hash = meta.fileHashes ? meta.fileHashes[index] || meta.fileHashes[0] : meta.hash;\n var uri = meta.fileUris ? meta.fileUris[index] || meta.fileUris[0] : meta.uri;\n if (uri) {\n return {\n uri: resolveUri(uri),\n hash: hash\n };\n }\n var assetUrlOverride = getManifest().assetUrlOverride;\n if (assetUrlOverride) {\n var _uri = path.join(assetUrlOverride, hash);\n return {\n uri: resolveUri(_uri),\n hash: hash\n };\n }\n var fileScale = scale === 1 ? '' : \"@\" + scale + \"x\";\n var fileExtension = meta.type ? \".\" + encodeURIComponent(meta.type) : '';\n var suffix = \"/\" + encodeURIComponent(meta.name) + fileScale + fileExtension + \"?platform=\" + encodeURIComponent(Platform.OS) + \"&hash=\" + encodeURIComponent(meta.hash);\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n var _uri2 = meta.httpServerLocation + suffix;\n return {\n uri: _uri2,\n hash: hash\n };\n }\n var manifest2 = getManifest2();\n if (manifest2 != null && (_manifest2$extra = manifest2.extra) != null && (_manifest2$extra$expo = _manifest2$extra.expoGo) != null && _manifest2$extra$expo.developer) {\n var baseUrl = new URL(\"http://\" + manifest2.extra.expoGo.debuggerHost);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n return {\n uri: baseUrl.href,\n hash: hash\n };\n }\n if (getManifest().developer) {\n var _baseUrl = new URL(getManifest().bundleUrl);\n _baseUrl.set('pathname', meta.httpServerLocation + suffix);\n return {\n uri: _baseUrl.href,\n hash: hash\n };\n }\n return {\n uri: \"https://classic-assets.eascdn.net/~assets/\" + encodeURIComponent(hash),\n hash: hash\n };\n}\nexport function resolveUri(uri) {\n if (!manifestBaseUrl) {\n return uri;\n }\n var _URL = new URL(uri),\n protocol = _URL.protocol;\n if (protocol !== '') {\n return uri;\n }\n var baseUrl = new URL(manifestBaseUrl);\n var resolvedPath = uri.startsWith('/') ? uri : path.join(baseUrl.pathname, uri);\n baseUrl.set('pathname', resolvedPath);\n return baseUrl.href;\n}","map":{"version":3,"sources":["../src/AssetSources.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'expo-modules-core';\nimport path from 'path-browserify';\nimport { PixelRatio } from 'react-native';\nimport URL from 'url-parse';\n\nimport AssetSourceResolver from './AssetSourceResolver';\nimport { manifestBaseUrl, getManifest, getManifest2 } from './PlatformUtils';\n\n// @docsMissing\nexport type AssetMetadata = {\n hash: string;\n name: string;\n type: string;\n width?: number;\n height?: number;\n scales: number[];\n httpServerLocation: string;\n uri?: string;\n fileHashes?: string[];\n fileUris?: string[];\n};\n\nexport type AssetSource = {\n uri: string;\n hash: string;\n};\n\n// Fast lookup check if asset map has any overrides in the manifest\nconst assetMapOverride = getManifest().assetMapOverride;\n\n/**\n * Selects the best file for the given asset (ex: choosing the best scale for images) and returns\n * a { uri, hash } pair for the specific asset file.\n *\n * If the asset isn't an image with multiple scales, the first file is selected.\n */\nexport function selectAssetSource(meta: AssetMetadata): AssetSource {\n // Override with the asset map in manifest if available\n if (assetMapOverride && assetMapOverride.hasOwnProperty(meta.hash)) {\n meta = { ...meta, ...assetMapOverride[meta.hash] };\n }\n\n // This logic is based on that of AssetSourceResolver, with additional support for file hashes and\n // explicitly provided URIs\n const scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n const index = meta.scales.findIndex((s) => s === scale);\n const hash = meta.fileHashes ? meta.fileHashes[index] || meta.fileHashes[0] : meta.hash;\n\n // Allow asset processors to directly provide the URL to load\n const uri = meta.fileUris ? meta.fileUris[index] || meta.fileUris[0] : meta.uri;\n if (uri) {\n return { uri: resolveUri(uri), hash };\n }\n\n // Check if the assetUrl was overridden in the manifest\n const assetUrlOverride = getManifest().assetUrlOverride;\n if (assetUrlOverride) {\n const uri = path.join(assetUrlOverride, hash);\n return { uri: resolveUri(uri), hash };\n }\n\n const fileScale = scale === 1 ? '' : `@${scale}x`;\n const fileExtension = meta.type ? `.${encodeURIComponent(meta.type)}` : '';\n const suffix = `/${encodeURIComponent(\n meta.name\n )}${fileScale}${fileExtension}?platform=${encodeURIComponent(\n Platform.OS\n )}&hash=${encodeURIComponent(meta.hash)}`;\n\n // For assets with a specified absolute URL, we use the existing origin instead of prepending the\n // development server or production CDN URL origin\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n const uri = meta.httpServerLocation + suffix;\n return { uri, hash };\n }\n\n // For assets during development using manifest2, we use the development server's URL origin\n const manifest2 = getManifest2();\n\n if (manifest2?.extra?.expoGo?.developer) {\n const baseUrl = new URL(`http://${manifest2.extra.expoGo.debuggerHost}`);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n\n return {\n uri: baseUrl.href,\n hash,\n };\n }\n\n // For assets during development, we use the development server's URL origin\n if (getManifest().developer) {\n const baseUrl = new URL(getManifest().bundleUrl);\n baseUrl.set('pathname', meta.httpServerLocation + suffix);\n return { uri: baseUrl.href, hash };\n }\n\n // Production CDN URIs are based on each asset file hash\n return {\n uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`,\n hash,\n };\n}\n\n/**\n * Resolves the given URI to an absolute URI. If the given URI is already an absolute URI, it is\n * simply returned. Otherwise, if it is a relative URI, it is resolved relative to the manifest's\n * base URI.\n */\nexport function resolveUri(uri: string): string {\n if (!manifestBaseUrl) {\n return uri;\n }\n\n const { protocol } = new URL(uri);\n if (protocol !== '') {\n return uri;\n }\n\n const baseUrl = new URL(manifestBaseUrl);\n const resolvedPath = uri.startsWith('/') ? uri : path.join(baseUrl.pathname, uri);\n baseUrl.set('pathname', resolvedPath);\n return baseUrl.href;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/c78b4ae4c8b493b94d34c3644e868f8c.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/c78b4ae4c8b493b94d34c3644e868f8c.json new file mode 100644 index 00000000..9fdf0c0a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/c78b4ae4c8b493b94d34c3644e868f8c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Octicons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Octicons.json\";\nexport default createIconSet(glyphMap, 'octicons', font);","map":{"version":3,"sources":["../src/Octicons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Octicons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Octicons.json';\n\nexport default createIconSet(glyphMap, 'octicons', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/caed211a9298aa142c5744b79e6163ef.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/caed211a9298aa142c5744b79e6163ef.json new file mode 100644 index 00000000..384062b2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/caed211a9298aa142c5744b79e6163ef.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/MaterialIcons.json\";\nvar iconSet = createIconSet(glyphMap, 'Material Icons', 'MaterialIcons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/MaterialIcons.js"],"sourcesContent":["/**\n * MaterialIcons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/MaterialIcons.json';\n\nconst iconSet = createIconSet(glyphMap, 'Material Icons', 'MaterialIcons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;AAE9E,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/cd33662796e7f423de846eee209d5768.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/cd33662796e7f423de846eee209d5768.json new file mode 100644 index 00000000..895b8f3a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/cd33662796e7f423de846eee209d5768.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Ionicons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Ionicons.json\";\nexport default createIconSet(glyphMap, 'ionicons', font);","map":{"version":3,"sources":["../src/Ionicons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Ionicons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Ionicons.json';\n\nexport default createIconSet(glyphMap, 'ionicons', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/ce49d36342b72a779e1fa94e78342671.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/ce49d36342b72a779e1fa94e78342671.json new file mode 100644 index 00000000..a8472bc7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/ce49d36342b72a779e1fa94e78342671.json @@ -0,0 +1 @@ +{"ast":null,"code":"import \"./Asset.fx\";\nexport * from \"./Asset\";\nexport * from \"./AssetHooks\";","map":{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA;AAEA;AACA","sourcesContent":["import './Asset.fx';\n\nexport * from './Asset';\nexport * from './AssetHooks';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d062648dffa9f36f74ecd6ebae8bb909.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d062648dffa9f36f74ecd6ebae8bb909.json new file mode 100644 index 00000000..fef5cbed --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d062648dffa9f36f74ecd6ebae8bb909.json @@ -0,0 +1 @@ +{"ast":null,"code":"import UnimplementedView from \"../../modules/UnimplementedView\";\nexport default UnimplementedView;","map":{"version":3,"names":["UnimplementedView"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/InputAccessoryView/index.js"],"sourcesContent":["import UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;"],"mappings":"AAAA,OAAOA,iBAAiB;AACxB,eAAeA,iBAAiB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d3f892f702e7b27b65dbc185c6ec2ff8.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d3f892f702e7b27b65dbc185c6ec2ff8.json new file mode 100644 index 00000000..09663336 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d3f892f702e7b27b65dbc185c6ec2ff8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { TopBar } from \"../components/TopBar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport React, { useEffect } from \"react\";\nimport { getFavoriteCity } from \"../redux/actions/getFavoriteCity\";\nimport { Details } from \"../components/Details\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Home(navigation) {\n var insets = useSafeAreaInsets();\n var statusBarHeight = insets.top;\n var favoriteCity = useSelector(function (state) {\n return state.appReducer.favoriteCity;\n });\n var weather = useSelector(function (state) {\n return state.appReducer.favoriteWeather;\n });\n var dispatch = useDispatch();\n useEffect(function () {\n var loadFavoriteCity = function () {\n var _ref = _asyncToGenerator(function* () {\n yield dispatch(getFavoriteCity());\n });\n return function loadFavoriteCity() {\n return _ref.apply(this, arguments);\n };\n }();\n loadFavoriteCity();\n }, [dispatch]);\n return _jsxs(View, {\n style: {\n alignItems: \"center\",\n width: \"100%\"\n },\n children: [_jsx(TopBar, {}), function () {\n if (weather != null) {\n return _jsx(Details, {\n weather: weather\n });\n } else {\n return _jsx(Text, {\n style: leStyle.text,\n children: \"Vous n'avez pas ajout\\xE9 de ville en favoris\"\n });\n }\n }()]\n });\n}\nvar leStyle = StyleSheet.create({\n container: {\n alignItems: 'center'\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n alignContent: \"center\",\n marginLeft: 7\n }\n});","map":{"version":3,"names":["useSafeAreaInsets","TopBar","useDispatch","useSelector","React","useEffect","getFavoriteCity","Details","Home","navigation","insets","statusBarHeight","top","favoriteCity","state","appReducer","weather","favoriteWeather","dispatch","loadFavoriteCity","alignItems","width","leStyle","text","StyleSheet","create","container","fontWeight","fontStyle","fontSize","alignSelf","alignContent","marginLeft"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/screens/Home.tsx"],"sourcesContent":["import { View, Text, StyleSheet, ImageBackground } from \"react-native\"\nimport { FlatList } from \"react-native-gesture-handler\"\nimport { City, Weather } from \"../data/stub\"\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { VilleCompopo } from \"../components/VilleCompopo\";\nimport { TopBar } from \"../components/TopBar\";\nimport CityDetails from \"./CityDetails\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport React, { useEffect } from \"react\";\nimport { getFavoriteCity } from \"../redux/actions/getFavoriteCity\";\nimport { Details } from \"../components/Details\";\nimport { getWeather } from \"../redux/actions/getWeather\";\n\n\nexport default function Home(navigation){\n\n \n const insets = useSafeAreaInsets();\n const statusBarHeight = insets.top;\n\n const favoriteCity: City | null = useSelector(state => state.appReducer.favoriteCity);\n const weather: Weather | null = useSelector(state => state.appReducer.favoriteWeather);\n\n\n const dispatch = useDispatch();\n \n useEffect(() => {\n const loadFavoriteCity = async () => {\n await dispatch(getFavoriteCity());\n };\n loadFavoriteCity();\n }, [dispatch]);\n\n return (\n \n \n {(() => {\n if (weather != null){\n return (\n
\n )\n }\n else{\n return(\n Vous n'avez pas ajouté de ville en favoris\n )\n }\n })()}\n \n )\n}\n\n\nconst leStyle = StyleSheet.create({\n container: {\n alignItems: 'center',\n },\n text: {\n fontWeight: \"normal\",\n fontStyle: 'italic',\n fontSize: 10,\n alignSelf: \"center\",\n alignContent: \"center\",\n marginLeft: 7\n },\n});"],"mappings":";;;;AAGA,SAASA,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,MAAM;AAEf,SAASC,WAAW,EAAEC,WAAW,QAAQ,aAAa;AACtD,OAAOC,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,eAAe;AACxB,SAASC,OAAO;AAAgC;AAAA;AAIhD,eAAe,SAASC,IAAI,CAACC,UAAU,EAAC;EAGpC,IAAMC,MAAM,GAAGV,iBAAiB,EAAE;EAClC,IAAMW,eAAe,GAAGD,MAAM,CAACE,GAAG;EAElC,IAAMC,YAAyB,GAAGV,WAAW,CAAC,UAAAW,KAAK;IAAA,OAAIA,KAAK,CAACC,UAAU,CAACF,YAAY;EAAA,EAAC;EACrF,IAAMG,OAAuB,GAAGb,WAAW,CAAC,UAAAW,KAAK;IAAA,OAAIA,KAAK,CAACC,UAAU,CAACE,eAAe;EAAA,EAAC;EAGtF,IAAMC,QAAQ,GAAGhB,WAAW,EAAE;EAE9BG,SAAS,CAAC,YAAM;IACd,IAAMc,gBAAgB;MAAA,6BAAG,aAAY;QACnC,MAAMD,QAAQ,CAACZ,eAAe,EAAE,CAAC;MACnC,CAAC;MAAA,gBAFKa,gBAAgB;QAAA;MAAA;IAAA,GAErB;IACDA,gBAAgB,EAAE;EACpB,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;EAEd,OACI,MAAC,IAAI;IAAC,KAAK,EAAE;MAACE,UAAU,EAAE,QAAQ;MAAEC,KAAK,EAAE;IAAM,CAAE;IAAA,WAC/C,KAAC,MAAM,KAAE,EACP,YAAM;MACN,IAAIL,OAAO,IAAI,IAAI,EAAC;QAClB,OACI,KAAC,OAAO;UAAC,OAAO,EAAEA;QAAQ,EAAE;MAElC,CAAC,MACG;QACF,OACI,KAAC,IAAI;UAAC,KAAK,EAAEM,OAAO,CAACC,IAAK;UAAA,UAAC;QAA0C,EAAO;MAElF;IACF,CAAC,EAAG;EAAA,EACD;AAEf;AAGA,IAAMD,OAAO,GAAGE,UAAU,CAACC,MAAM,CAAC;EAC9BC,SAAS,EAAE;IACPN,UAAU,EAAE;EAChB,CAAC;EACDG,IAAI,EAAE;IACJI,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,QAAQ;IACnBC,YAAY,EAAE,QAAQ;IACtBC,UAAU,EAAE;EAChB;AACF,CAAC,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d45bf655c104d3bd487045d97b6993b7.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d45bf655c104d3bd487045d97b6993b7.json new file mode 100644 index 00000000..11b05faa --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d45bf655c104d3bd487045d97b6993b7.json @@ -0,0 +1 @@ +{"ast":null,"code":"export function getLocalAssetUri(hash, type) {\n return null;\n}","map":{"version":3,"sources":["../src/LocalAssets.web.ts"],"names":[],"mappings":"AAAA,OAAM,SAAU,gBAAgB,CAAC,IAAY,EAAE,IAAmB,EAAA;EAEhE,OAAO,IAAI;AACb","sourcesContent":["export function getLocalAssetUri(hash: string, type: string | null): string | null {\n // noop on web\n return null;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d4ac9d808d83765ec377b510b36e87d4.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d4ac9d808d83765ec377b510b36e87d4.json new file mode 100644 index 00000000..a593fe12 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d4ac9d808d83765ec377b510b36e87d4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/Foundation.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/Foundation.json\";\nexport default createIconSet(glyphMap, 'foundation', font);","map":{"version":3,"sources":["../src/Foundation.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/Foundation.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/Foundation.json';\n\nexport default createIconSet(glyphMap, 'foundation', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d52ccae55b7f4907f1ea361c58d9aa41.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d52ccae55b7f4907f1ea361c58d9aa41.json new file mode 100644 index 00000000..326c1cee --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d52ccae55b7f4907f1ea361c58d9aa41.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/SimpleLineIcons.json\";\nvar iconSet = createIconSet(glyphMap, 'simple-line-icons', 'SimpleLineIcons.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/SimpleLineIcons.js"],"sourcesContent":["/**\n * SimpleLineIcons icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/SimpleLineIcons.json';\n\nconst iconSet = createIconSet(glyphMap, 'simple-line-icons', 'SimpleLineIcons.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;AAEnF,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d75c36a07d40ccdf80bfd2a1886528d2.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d75c36a07d40ccdf80bfd2a1886528d2.json new file mode 100644 index 00000000..74c9e95d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d75c36a07d40ccdf80bfd2a1886528d2.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from \"../../modules/pick\";\nimport useMergeRefs from \"../../modules/useMergeRefs\";\nimport usePressEvents from \"../../modules/usePressEvents\";\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(function () {\n return {\n cancelable: !rejectResponderTermination,\n disabled: disabled,\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n };\n }, [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return React.cloneElement.apply(React, [element, elementProps].concat(children));\n}\nvar MemoedTouchableWithoutFeedback = React.memo(React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;","map":{"version":3,"names":["React","useMemo","useRef","pick","useMergeRefs","usePressEvents","forwardPropsList","accessibilityDisabled","accessibilityLabel","accessibilityLiveRegion","accessibilityRole","accessibilityState","accessibilityValue","children","disabled","focusable","nativeID","onBlur","onFocus","onLayout","testID","pickProps","props","TouchableWithoutFeedback","forwardedRef","delayPressIn","delayPressOut","delayLongPress","onLongPress","onPress","onPressIn","onPressOut","rejectResponderTermination","hostRef","pressConfig","cancelable","delayPressStart","delayPressEnd","onPressStart","onPressEnd","pressEventHandlers","element","Children","only","supportedProps","ref","elementProps","Object","assign","cloneElement","MemoedTouchableWithoutFeedback","memo","forwardRef","displayName"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from '../../modules/pick';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\n\nvar pickProps = props => pick(props, forwardPropsList);\n\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return /*#__PURE__*/React.cloneElement(element, elementProps, ...children);\n}\n\nvar MemoedTouchableWithoutFeedback = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/d8600cd0968ae3a0bf727f91ae8ea3df.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/d8600cd0968ae3a0bf727f91ae8ea3df.json new file mode 100644 index 00000000..8f810ccc --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/d8600cd0968ae3a0bf727f91ae8ea3df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { CodedError, Platform } from 'expo-modules-core';\nimport FontObserver from 'fontfaceobserver';\nimport { FontDisplay } from \"./Font.types\";\nfunction getFontFaceStyleSheet() {\n if (!Platform.isDOMAvailable) {\n return null;\n }\n var styleSheet = getStyleElement();\n return styleSheet.sheet ? styleSheet.sheet : null;\n}\nfunction getFontFaceRules() {\n var sheet = getFontFaceStyleSheet();\n if (sheet) {\n var rules = _toConsumableArray(sheet.cssRules);\n var items = [];\n for (var i = 0; i < rules.length; i++) {\n var rule = rules[i];\n if (rule instanceof CSSFontFaceRule) {\n items.push({\n rule: rule,\n index: i\n });\n }\n }\n return items;\n }\n return [];\n}\nfunction getFontFaceRulesMatchingResource(fontFamilyName, options) {\n var rules = getFontFaceRules();\n return rules.filter(function (_ref) {\n var rule = _ref.rule;\n return rule.style.fontFamily === fontFamilyName && (options && options.display ? options.display === rule.style.fontDisplay : true);\n });\n}\nexport default {\n get name() {\n return 'ExpoFontLoader';\n },\n unloadAllAsync: function () {\n var _unloadAllAsync = _asyncToGenerator(function* () {\n if (!Platform.isDOMAvailable) return;\n var element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n document.removeChild(element);\n }\n });\n function unloadAllAsync() {\n return _unloadAllAsync.apply(this, arguments);\n }\n return unloadAllAsync;\n }(),\n unloadAsync: function () {\n var _unloadAsync = _asyncToGenerator(function* (fontFamilyName, options) {\n var sheet = getFontFaceStyleSheet();\n if (!sheet) return;\n var items = getFontFaceRulesMatchingResource(fontFamilyName, options);\n for (var item of items) {\n sheet.deleteRule(item.index);\n }\n });\n function unloadAsync(_x, _x2) {\n return _unloadAsync.apply(this, arguments);\n }\n return unloadAsync;\n }(),\n loadAsync: function () {\n var _loadAsync = _asyncToGenerator(function* (fontFamilyName, resource) {\n if (!Platform.isDOMAvailable) {\n return;\n }\n var canInjectStyle = document.head && typeof document.head.appendChild === 'function';\n if (!canInjectStyle) {\n throw new CodedError('ERR_WEB_ENVIRONMENT', \"The browser's `document.head` element doesn't support injecting fonts.\");\n }\n var style = _createWebStyle(fontFamilyName, resource);\n document.head.appendChild(style);\n if (!isFontLoadingListenerSupported()) {\n return;\n }\n return new FontObserver(fontFamilyName, {\n display: resource.display\n }).load();\n });\n function loadAsync(_x3, _x4) {\n return _loadAsync.apply(this, arguments);\n }\n return loadAsync;\n }()\n};\nvar ID = 'expo-generated-fonts';\nfunction getStyleElement() {\n var element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n return element;\n }\n var styleElement = document.createElement('style');\n styleElement.id = ID;\n styleElement.type = 'text/css';\n return styleElement;\n}\nfunction _createWebStyle(fontFamily, resource) {\n var fontStyle = \"@font-face {\\n font-family: \" + fontFamily + \";\\n src: url(\" + resource.uri + \");\\n font-display: \" + (resource.display || FontDisplay.AUTO) + \";\\n }\";\n var styleElement = getStyleElement();\n if (styleElement.styleSheet) {\n var styleElementIE = styleElement;\n styleElementIE.styleSheet.cssText = styleElementIE.styleSheet.cssText ? styleElementIE.styleSheet.cssText + fontStyle : fontStyle;\n } else {\n var textNode = document.createTextNode(fontStyle);\n styleElement.appendChild(textNode);\n }\n return styleElement;\n}\nfunction isFontLoadingListenerSupported() {\n var userAgent = window.navigator.userAgent;\n var isIOS = !!userAgent.match(/iPad|iPhone/i);\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var isEdge = userAgent.includes('Edge');\n var isIE = userAgent.includes('Trident');\n var isFirefox = userAgent.includes('Firefox');\n return !isSafari && !isIOS && !isEdge && !isIE && !isFirefox;\n}","map":{"version":3,"sources":["../src/ExpoFontLoader.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { CodedError, Platform } from 'expo-modules-core';\nimport FontObserver from 'fontfaceobserver';\n\nimport { UnloadFontOptions } from './Font';\nimport { FontDisplay, FontResource } from './Font.types';\n\nfunction getFontFaceStyleSheet(): CSSStyleSheet | null {\n if (!Platform.isDOMAvailable) {\n return null;\n }\n const styleSheet = getStyleElement();\n return styleSheet.sheet ? (styleSheet.sheet as CSSStyleSheet) : null;\n}\n\ntype RuleItem = { rule: CSSFontFaceRule; index: number };\n\nfunction getFontFaceRules(): RuleItem[] {\n const sheet = getFontFaceStyleSheet();\n if (sheet) {\n // @ts-ignore: rule iterator\n const rules = [...sheet.cssRules];\n\n const items: RuleItem[] = [];\n\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n if (rule instanceof CSSFontFaceRule) {\n items.push({ rule, index: i });\n }\n }\n return items;\n }\n return [];\n}\n\nfunction getFontFaceRulesMatchingResource(\n fontFamilyName: string,\n options?: UnloadFontOptions\n): RuleItem[] {\n const rules = getFontFaceRules();\n return rules.filter(({ rule }) => {\n return (\n rule.style.fontFamily === fontFamilyName &&\n (options && options.display ? options.display === (rule.style as any).fontDisplay : true)\n );\n });\n}\n\nexport default {\n get name(): string {\n return 'ExpoFontLoader';\n },\n\n async unloadAllAsync(): Promise {\n if (!Platform.isDOMAvailable) return;\n\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n document.removeChild(element);\n }\n },\n\n async unloadAsync(fontFamilyName: string, options?: UnloadFontOptions): Promise {\n const sheet = getFontFaceStyleSheet();\n if (!sheet) return;\n const items = getFontFaceRulesMatchingResource(fontFamilyName, options);\n for (const item of items) {\n sheet.deleteRule(item.index);\n }\n },\n\n async loadAsync(fontFamilyName: string, resource: FontResource): Promise {\n if (!Platform.isDOMAvailable) {\n return;\n }\n\n const canInjectStyle = document.head && typeof document.head.appendChild === 'function';\n if (!canInjectStyle) {\n throw new CodedError(\n 'ERR_WEB_ENVIRONMENT',\n `The browser's \\`document.head\\` element doesn't support injecting fonts.`\n );\n }\n\n const style = _createWebStyle(fontFamilyName, resource);\n document.head!.appendChild(style);\n\n if (!isFontLoadingListenerSupported()) {\n return;\n }\n\n return new FontObserver(fontFamilyName, { display: resource.display }).load();\n },\n};\n\nconst ID = 'expo-generated-fonts';\n\nfunction getStyleElement(): HTMLStyleElement {\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n return element;\n }\n const styleElement = document.createElement('style');\n styleElement.id = ID;\n styleElement.type = 'text/css';\n return styleElement;\n}\n\nfunction _createWebStyle(fontFamily: string, resource: FontResource): HTMLStyleElement {\n const fontStyle = `@font-face {\n font-family: ${fontFamily};\n src: url(${resource.uri});\n font-display: ${resource.display || FontDisplay.AUTO};\n }`;\n\n const styleElement = getStyleElement();\n // @ts-ignore: TypeScript does not define HTMLStyleElement::styleSheet. This is just for IE and\n // possibly can be removed if it's unnecessary on IE 11.\n if (styleElement.styleSheet) {\n const styleElementIE = styleElement as any;\n styleElementIE.styleSheet.cssText = styleElementIE.styleSheet.cssText\n ? styleElementIE.styleSheet.cssText + fontStyle\n : fontStyle;\n } else {\n const textNode = document.createTextNode(fontStyle);\n styleElement.appendChild(textNode);\n }\n return styleElement;\n}\n\nfunction isFontLoadingListenerSupported(): boolean {\n const { userAgent } = window.navigator;\n // WebKit is broken https://github.com/bramstein/fontfaceobserver/issues/95\n const isIOS = !!userAgent.match(/iPad|iPhone/i);\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n // Edge is broken https://github.com/bramstein/fontfaceobserver/issues/109#issuecomment-333356795\n const isEdge = userAgent.includes('Edge');\n // Internet Explorer\n const isIE = userAgent.includes('Trident');\n // Firefox\n const isFirefox = userAgent.includes('Firefox');\n return !isSafari && !isIOS && !isEdge && !isIE && !isFirefox;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/dab3352b233885a09c55d59be6eaf514.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/dab3352b233885a09c55d59be6eaf514.json new file mode 100644 index 00000000..96d7ad81 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/dab3352b233885a09c55d59be6eaf514.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createFA5iconSet } from \"./createIconSetFromFontAwesome5\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free.json\";\nimport metadata from \"./vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free_meta.json\";\nvar fontMap = {\n Regular: require(\"./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf\"),\n Light: require(\"./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf\"),\n Solid: require(\"./vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf\"),\n Brand: require(\"./vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf\")\n};\nexport var FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand'\n};\nvar iconSet = createFA5iconSet(glyphMap, metadata, fontMap, false);\nexport default iconSet;","map":{"version":3,"sources":["../src/FontAwesome5.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAgB;AAEzB,OAAO,QAAQ;AACf,OAAO,QAAQ;AACf,IAAM,OAAO,GAAG;EACd,OAAO,EAAE,OAAO,qEAAqE;EACrF,KAAK,EAAE,OAAO,qEAAqE;EACnF,KAAK,EAAE,OAAO,mEAAmE;EACjF,KAAK,EAAE,OAAO;CACf;AAED,OAAO,IAAM,QAAQ,GAAG;EACtB,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE,OAAO;EACd,KAAK,EAAE,OAAO;EACd,KAAK,EAAE;CACR;AAED,IAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;AAEpE,eAAe,OAAO","sourcesContent":["import { createFA5iconSet } from './createIconSetFromFontAwesome5';\n\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free.json';\nimport metadata from './vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free_meta.json';\nconst fontMap = {\n Regular: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf'),\n Light: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf'),\n Solid: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf'),\n Brand: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf'),\n};\n\nexport const FA5Style = {\n regular: 'regular',\n light: 'light',\n solid: 'solid',\n brand: 'brand',\n};\n\nconst iconSet = createFA5iconSet(glyphMap, metadata, fontMap, false);\n\nexport default iconSet;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/db776777ce9188b6ff3b5ce3f24baa28.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/db776777ce9188b6ff3b5ce3f24baa28.json new file mode 100644 index 00000000..487a5431 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/db776777ce9188b6ff3b5ce3f24baa28.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { CodedError, UnavailabilityError } from 'expo-modules-core';\nimport ExpoFontLoader from \"./ExpoFontLoader\";\nimport { FontDisplay } from \"./Font.types\";\nimport { getAssetForSource, loadSingleFontAsync, fontFamilyNeedsScoping, getNativeFontName } from \"./FontLoader\";\nvar loaded = {};\nvar loadPromises = {};\nexport function processFontFamily(fontFamily) {\n if (!fontFamily || !fontFamilyNeedsScoping(fontFamily)) {\n return fontFamily;\n }\n if (!isLoaded(fontFamily)) {\n if (__DEV__) {\n if (isLoading(fontFamily)) {\n console.error(\"You started loading the font \\\"\" + fontFamily + \"\\\", but used it before it finished loading. You need to wait for Font.loadAsync to complete before using the font.\");\n } else {\n console.error(\"fontFamily \\\"\" + fontFamily + \"\\\" is not a system font and has not been loaded through Font.loadAsync.\\n\\n- If you intended to use a system font, make sure you typed the name correctly and that it is supported by your device operating system.\\n\\n- If this is a custom font, be sure to load it with Font.loadAsync.\");\n }\n }\n return 'System';\n }\n return \"ExpoFont-\" + getNativeFontName(fontFamily);\n}\nexport function isLoaded(fontFamily) {\n return fontFamily in loaded;\n}\nexport function isLoading(fontFamily) {\n return fontFamily in loadPromises;\n}\nexport function loadAsync(_x, _x2) {\n return _loadAsync.apply(this, arguments);\n}\nfunction _loadAsync() {\n _loadAsync = _asyncToGenerator(function* (fontFamilyOrFontMap, source) {\n if (typeof fontFamilyOrFontMap === 'object') {\n if (source) {\n throw new CodedError(\"ERR_FONT_API\", \"No fontFamily can be used for the provided source: \" + source + \". The second argument of `loadAsync()` can only be used with a `string` value as the first argument.\");\n }\n var fontMap = fontFamilyOrFontMap;\n var names = Object.keys(fontMap);\n yield Promise.all(names.map(function (name) {\n return loadFontInNamespaceAsync(name, fontMap[name]);\n }));\n return;\n }\n return yield loadFontInNamespaceAsync(fontFamilyOrFontMap, source);\n });\n return _loadAsync.apply(this, arguments);\n}\nfunction loadFontInNamespaceAsync(_x3, _x4) {\n return _loadFontInNamespaceAsync.apply(this, arguments);\n}\nfunction _loadFontInNamespaceAsync() {\n _loadFontInNamespaceAsync = _asyncToGenerator(function* (fontFamily, source) {\n if (!source) {\n throw new CodedError(\"ERR_FONT_SOURCE\", \"Cannot load null or undefined font source: { \\\"\" + fontFamily + \"\\\": \" + source + \" }. Expected asset of type `FontSource` for fontFamily of name: \\\"\" + fontFamily + \"\\\"\");\n }\n if (loaded[fontFamily]) {\n return;\n }\n if (loadPromises.hasOwnProperty(fontFamily)) {\n return loadPromises[fontFamily];\n }\n var asset = getAssetForSource(source);\n loadPromises[fontFamily] = _asyncToGenerator(function* () {\n try {\n yield loadSingleFontAsync(fontFamily, asset);\n loaded[fontFamily] = true;\n } finally {\n delete loadPromises[fontFamily];\n }\n })();\n yield loadPromises[fontFamily];\n });\n return _loadFontInNamespaceAsync.apply(this, arguments);\n}\nexport function unloadAllAsync() {\n return _unloadAllAsync.apply(this, arguments);\n}\nfunction _unloadAllAsync() {\n _unloadAllAsync = _asyncToGenerator(function* () {\n if (!ExpoFontLoader.unloadAllAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAllAsync');\n }\n if (Object.keys(loadPromises).length) {\n throw new CodedError(\"ERR_UNLOAD\", \"Cannot unload fonts while they're still loading: \" + Object.keys(loadPromises).join(', '));\n }\n for (var fontFamily of Object.keys(loaded)) {\n delete loaded[fontFamily];\n }\n yield ExpoFontLoader.unloadAllAsync();\n });\n return _unloadAllAsync.apply(this, arguments);\n}\nexport function unloadAsync(_x5, _x6) {\n return _unloadAsync.apply(this, arguments);\n}\nfunction _unloadAsync() {\n _unloadAsync = _asyncToGenerator(function* (fontFamilyOrFontMap, options) {\n if (!ExpoFontLoader.unloadAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAsync');\n }\n if (typeof fontFamilyOrFontMap === 'object') {\n if (options) {\n throw new CodedError(\"ERR_FONT_API\", \"No fontFamily can be used for the provided options: \" + options + \". The second argument of `unloadAsync()` can only be used with a `string` value as the first argument.\");\n }\n var fontMap = fontFamilyOrFontMap;\n var names = Object.keys(fontMap);\n yield Promise.all(names.map(function (name) {\n return unloadFontInNamespaceAsync(name, fontMap[name]);\n }));\n return;\n }\n return yield unloadFontInNamespaceAsync(fontFamilyOrFontMap, options);\n });\n return _unloadAsync.apply(this, arguments);\n}\nfunction unloadFontInNamespaceAsync(_x7, _x8) {\n return _unloadFontInNamespaceAsync.apply(this, arguments);\n}\nfunction _unloadFontInNamespaceAsync() {\n _unloadFontInNamespaceAsync = _asyncToGenerator(function* (fontFamily, options) {\n if (!loaded[fontFamily]) {\n return;\n } else {\n delete loaded[fontFamily];\n }\n var nativeFontName = getNativeFontName(fontFamily);\n if (!nativeFontName) {\n throw new CodedError(\"ERR_FONT_FAMILY\", \"Cannot unload an empty name\");\n }\n yield ExpoFontLoader.unloadAsync(nativeFontName, options);\n });\n return _unloadFontInNamespaceAsync.apply(this, arguments);\n}\nexport { FontDisplay };","map":{"version":3,"sources":["../src/Font.ts"],"names":[],"mappings":"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","sourcesContent":["import { CodedError, UnavailabilityError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontDisplay, FontSource, FontResource, UnloadFontOptions } from './Font.types';\nimport {\n getAssetForSource,\n loadSingleFontAsync,\n fontFamilyNeedsScoping,\n getNativeFontName,\n} from './FontLoader';\n\nconst loaded: { [name: string]: boolean } = {};\nconst loadPromises: { [name: string]: Promise } = {};\n\n// @needsAudit\n// note(brentvatne): at some point we may want to warn if this is called outside of a managed app.\n/**\n * Used to transform font family names to the scoped name. This does not need to\n * be called in standalone or bare apps but it will return unscoped font family\n * names if it is called in those contexts.\n *\n * @param fontFamily Name of font to process.\n * @returns Returns a name processed for use with the [current workflow](https://docs.expo.dev/introduction/managed-vs-bare/).\n */\nexport function processFontFamily(fontFamily: string | null): string | null {\n if (!fontFamily || !fontFamilyNeedsScoping(fontFamily)) {\n return fontFamily;\n }\n\n if (!isLoaded(fontFamily)) {\n if (__DEV__) {\n if (isLoading(fontFamily)) {\n console.error(\n `You started loading the font \"${fontFamily}\", but used it before it finished loading. You need to wait for Font.loadAsync to complete before using the font.`\n );\n } else {\n console.error(\n `fontFamily \"${fontFamily}\" is not a system font and has not been loaded through Font.loadAsync.\\n\n- If you intended to use a system font, make sure you typed the name correctly and that it is supported by your device operating system.\\n\n- If this is a custom font, be sure to load it with Font.loadAsync.`\n );\n }\n }\n\n return 'System';\n }\n\n return `ExpoFont-${getNativeFontName(fontFamily)}`;\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` has finished loading.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @return Returns `true` if the font has fully loaded.\n */\nexport function isLoaded(fontFamily: string): boolean {\n return fontFamily in loaded;\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` is still being loaded.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @returns Returns `true` if the font is still loading.\n */\nexport function isLoading(fontFamily: string): boolean {\n return fontFamily in loadPromises;\n}\n\n// @needsAudit\n/**\n * Highly efficient method for loading fonts from static or remote resources which can then be used\n * with the platform's native text elements. In the browser this generates a `@font-face` block in\n * a shared style sheet for fonts. No CSS is needed to use this method.\n *\n * @param fontFamilyOrFontMap string or map of values that can be used as the [`fontFamily`](https://reactnative.dev/docs/text#style)\n * style prop with React Native Text elements.\n * @param source the font asset that should be loaded into the `fontFamily` namespace.\n *\n * @return Returns a promise that fulfils when the font has loaded. Often you may want to wrap the\n * method in a `try/catch/finally` to ensure the app continues if the font fails to load.\n */\nexport async function loadAsync(\n fontFamilyOrFontMap: string | Record,\n source?: FontSource\n): Promise {\n if (typeof fontFamilyOrFontMap === 'object') {\n if (source) {\n throw new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided source: ${source}. The second argument of \\`loadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n await Promise.all(names.map((name) => loadFontInNamespaceAsync(name, fontMap[name])));\n return;\n }\n\n return await loadFontInNamespaceAsync(fontFamilyOrFontMap, source);\n}\n\nasync function loadFontInNamespaceAsync(\n fontFamily: string,\n source?: FontSource | null\n): Promise {\n if (!source) {\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Cannot load null or undefined font source: { \"${fontFamily}\": ${source} }. Expected asset of type \\`FontSource\\` for fontFamily of name: \"${fontFamily}\"`\n );\n }\n\n if (loaded[fontFamily]) {\n return;\n }\n\n if (loadPromises.hasOwnProperty(fontFamily)) {\n return loadPromises[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const asset = getAssetForSource(source);\n loadPromises[fontFamily] = (async () => {\n try {\n await loadSingleFontAsync(fontFamily, asset);\n loaded[fontFamily] = true;\n } finally {\n delete loadPromises[fontFamily];\n }\n })();\n\n await loadPromises[fontFamily];\n}\n\n// @needsAudit\n/**\n * Unloads all the custom fonts. This is used for testing.\n */\nexport async function unloadAllAsync(): Promise {\n if (!ExpoFontLoader.unloadAllAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAllAsync');\n }\n\n if (Object.keys(loadPromises).length) {\n throw new CodedError(\n `ERR_UNLOAD`,\n `Cannot unload fonts while they're still loading: ${Object.keys(loadPromises).join(', ')}`\n );\n }\n\n for (const fontFamily of Object.keys(loaded)) {\n delete loaded[fontFamily];\n }\n\n await ExpoFontLoader.unloadAllAsync();\n}\n\n// @needsAudit\n/**\n * Unload custom fonts matching the `fontFamily`s and display values provided.\n * Because fonts are automatically unloaded on every platform this is mostly used for testing.\n *\n * @param fontFamilyOrFontMap The name or names of the custom fonts that will be unloaded.\n * @param options When `fontFamilyOrFontMap` is a string, this should be the font source used to load\n * the custom font originally.\n */\nexport async function unloadAsync(\n fontFamilyOrFontMap: string | Record,\n options?: UnloadFontOptions\n): Promise {\n if (!ExpoFontLoader.unloadAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAsync');\n }\n if (typeof fontFamilyOrFontMap === 'object') {\n if (options) {\n throw new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided options: ${options}. The second argument of \\`unloadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n await Promise.all(names.map((name) => unloadFontInNamespaceAsync(name, fontMap[name])));\n return;\n }\n\n return await unloadFontInNamespaceAsync(fontFamilyOrFontMap, options);\n}\n\nasync function unloadFontInNamespaceAsync(\n fontFamily: string,\n options?: UnloadFontOptions | null\n): Promise {\n if (!loaded[fontFamily]) {\n return;\n } else {\n delete loaded[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const nativeFontName = getNativeFontName(fontFamily);\n\n if (!nativeFontName) {\n throw new CodedError(`ERR_FONT_FAMILY`, `Cannot unload an empty name`);\n }\n\n await ExpoFontLoader.unloadAsync(nativeFontName, options);\n}\n\nexport { FontDisplay, FontSource, FontResource, UnloadFontOptions };\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/dbf569a133192ba125c0366bd2c70db1.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/dbf569a133192ba125c0366bd2c70db1.json new file mode 100644 index 00000000..dd6c7f1a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/dbf569a133192ba125c0366bd2c70db1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSetFromFontello from \"./vendor/react-native-vector-icons/lib/create-icon-set-from-fontello\";\nexport default function (config, expoFontName, expoAssetId) {\n return createIconSetFromFontello(config, expoFontName, expoAssetId);\n}","map":{"version":3,"sources":["../src/createIconSetFromFontello.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB;AAEhC,eAAc,UAAU,MAAM,EAAE,YAAY,EAAE,WAAW,EAAA;EACvD,OAAO,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;AACrE","sourcesContent":["import createIconSetFromFontello from './vendor/react-native-vector-icons/lib/create-icon-set-from-fontello';\n\nexport default function(config, expoFontName, expoAssetId) {\n return createIconSetFromFontello(config, expoFontName, expoAssetId);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/dc689a6ed84896da31cb95617da1f827.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/dc689a6ed84896da31cb95617da1f827.json new file mode 100644 index 00000000..c2349707 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/dc689a6ed84896da31cb95617da1f827.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"style\", \"iconStyle\", \"children\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport TouchableHighlight from \"react-native-web/dist/exports/TouchableHighlight\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { pick, omit } from \"./object-utils\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8\n },\n touchable: {\n overflow: 'hidden'\n },\n icon: {\n marginRight: 10\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent'\n }\n});\nvar IOS7_BLUE = '#007AFF';\nvar TEXT_PROP_NAMES = ['ellipsizeMode', 'numberOfLines', 'textBreakStrategy', 'selectable', 'suppressHighlighting', 'allowFontScaling', 'adjustsFontSizeToFit', 'minimumFontScale'];\nvar TOUCHABLE_PROP_NAMES = ['accessible', 'accessibilityLabel', 'accessibilityHint', 'accessibilityComponentType', 'accessibilityRole', 'accessibilityStates', 'accessibilityTraits', 'onFocus', 'onBlur', 'disabled', 'onPress', 'onPressIn', 'onPressOut', 'onLayout', 'onLongPress', 'nativeID', 'testID', 'delayPressIn', 'delayPressOut', 'delayLongPress', 'activeOpacity', 'underlayColor', 'selectionColor', 'onShowUnderlay', 'onHideUnderlay', 'hasTVPreferredFocus', 'tvParallaxProperties'];\nexport default function createIconButtonComponent(Icon) {\n var _class;\n return _class = function (_PureComponent) {\n _inherits(IconButton, _PureComponent);\n var _super = _createSuper(IconButton);\n function IconButton() {\n _classCallCheck(this, IconButton);\n return _super.apply(this, arguments);\n }\n _createClass(IconButton, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n style = _this$props.style,\n iconStyle = _this$props.iconStyle,\n children = _this$props.children,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var iconProps = pick(restProps, TEXT_PROP_NAMES, 'style', 'name', 'size', 'color');\n var touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n var props = omit(restProps, Object.keys(iconProps), Object.keys(touchableProps), 'iconStyle', 'borderRadius', 'backgroundColor');\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n var colorStyle = pick(this.props, 'color');\n var blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n return _jsx(TouchableHighlight, _objectSpread(_objectSpread({\n style: [styles.touchable, blockStyle]\n }, touchableProps), {}, {\n children: _jsxs(View, _objectSpread(_objectSpread({\n style: [styles.container, blockStyle, style]\n }, props), {}, {\n children: [_jsx(Icon, _objectSpread({}, iconProps)), typeof children === 'string' ? _jsx(Text, {\n style: [styles.text, colorStyle],\n selectable: false,\n children: children\n }) : children]\n }))\n }));\n }\n }]);\n return IconButton;\n }(PureComponent), _class.propTypes = {\n backgroundColor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n borderRadius: PropTypes.number,\n color: PropTypes.any,\n size: PropTypes.number,\n iconStyle: PropTypes.any,\n style: PropTypes.any,\n children: PropTypes.node\n }, _class.defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20\n }, _class;\n}","map":{"version":3,"names":["React","PureComponent","PropTypes","pick","omit","styles","StyleSheet","create","container","flexDirection","justifyContent","alignItems","padding","touchable","overflow","icon","marginRight","text","fontWeight","backgroundColor","IOS7_BLUE","TEXT_PROP_NAMES","TOUCHABLE_PROP_NAMES","createIconButtonComponent","Icon","props","style","iconStyle","children","restProps","iconProps","touchableProps","Object","keys","colorStyle","blockStyle","propTypes","oneOfType","string","number","borderRadius","color","any","size","node","defaultProps"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/icon-button.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport { pick, omit } from './object-utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8,\n },\n touchable: {\n overflow: 'hidden',\n },\n icon: {\n marginRight: 10,\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent',\n },\n});\n\nconst IOS7_BLUE = '#007AFF';\n\nconst TEXT_PROP_NAMES = [\n 'ellipsizeMode',\n 'numberOfLines',\n 'textBreakStrategy',\n 'selectable',\n 'suppressHighlighting',\n 'allowFontScaling',\n 'adjustsFontSizeToFit',\n 'minimumFontScale',\n];\n\nconst TOUCHABLE_PROP_NAMES = [\n 'accessible',\n 'accessibilityLabel',\n 'accessibilityHint',\n 'accessibilityComponentType',\n 'accessibilityRole',\n 'accessibilityStates',\n 'accessibilityTraits',\n 'onFocus',\n 'onBlur',\n 'disabled',\n 'onPress',\n 'onPressIn',\n 'onPressOut',\n 'onLayout',\n 'onLongPress',\n 'nativeID',\n 'testID',\n 'delayPressIn',\n 'delayPressOut',\n 'delayLongPress',\n 'activeOpacity',\n 'underlayColor',\n 'selectionColor',\n 'onShowUnderlay',\n 'onHideUnderlay',\n 'hasTVPreferredFocus',\n 'tvParallaxProperties',\n];\n\nexport default function createIconButtonComponent(Icon) {\n return class IconButton extends PureComponent {\n static propTypes = {\n backgroundColor: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n borderRadius: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n size: PropTypes.number,\n iconStyle: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n };\n\n static defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20,\n };\n\n render() {\n const { style, iconStyle, children, ...restProps } = this.props;\n\n const iconProps = pick(\n restProps,\n TEXT_PROP_NAMES,\n 'style',\n 'name',\n 'size',\n 'color'\n );\n const touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n const props = omit(\n restProps,\n Object.keys(iconProps),\n Object.keys(touchableProps),\n 'iconStyle',\n 'borderRadius',\n 'backgroundColor'\n );\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n\n const colorStyle = pick(this.props, 'color');\n const blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n\n return (\n \n \n \n {typeof children === 'string' ? (\n \n {children}\n \n ) : (\n children\n )}\n \n \n );\n }\n };\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/ddccacdc7c0f5a06ab44fe8f0de99226.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/ddccacdc7c0f5a06ab44fe8f0de99226.json new file mode 100644 index 00000000..cd4769f4 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/ddccacdc7c0f5a06ab44fe8f0de99226.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createStackNavigator } from \"@react-navigation/stack\";\nimport React from \"react\";\nimport CityDetails from \"../screens/CityDetails\";\nimport CityList from \"../screens/CityList\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function StackNavigation() {\n var Stack = createStackNavigator();\n return _jsxs(Stack.Navigator, {\n initialRouteName: \"CityList\",\n children: [_jsx(Stack.Screen, {\n name: \"CityList\",\n component: CityList,\n options: {\n headerShown: false\n }\n }), _jsx(Stack.Screen, {\n name: \"CityDetails\",\n component: CityDetails,\n options: {\n headerShown: false\n }\n })]\n });\n}","map":{"version":3,"names":["createStackNavigator","React","CityDetails","CityList","StackNavigation","Stack","headerShown"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/navigation/StackNavigation.tsx"],"sourcesContent":["import { NavigationContainer } from \"@react-navigation/native\";\nimport { createStackNavigator } from \"@react-navigation/stack\";\n\nimport React from \"react\";\nimport { SafeAreaProvider } from \"react-native-safe-area-context\";\nimport CityDetails from \"../screens/CityDetails\";\nimport CityList from \"../screens/CityList\";\n\nexport default function StackNavigation() {\n \n const Stack = createStackNavigator();\n return (\n \n \n \n \n\n\n )\n }"],"mappings":"AACA,SAASA,oBAAoB,QAAQ,yBAAyB;AAE9D,OAAOC,KAAK,MAAM,OAAO;AAEzB,OAAOC,WAAW;AAClB,OAAOC,QAAQ;AAA4B;AAAA;AAE3C,eAAe,SAASC,eAAe,GAAG;EAEtC,IAAMC,KAAK,GAAGL,oBAAoB,EAAE;EACpC,OACI,MAAC,KAAK,CAAC,SAAS;IAAC,gBAAgB,EAAC,UAAU;IAAA,WAC1C,KAAC,KAAK,CAAC,MAAM;MAAC,IAAI,EAAC,UAAU;MAAC,SAAS,EAAEG,QAAS;MAAC,OAAO,EAAE;QACtCG,WAAW,EAAE;MACjB;IAAE,EAAE,EACtB,KAAC,KAAK,CAAC,MAAM;MAAC,IAAI,EAAC,aAAa;MAAC,SAAS,EAAEJ,WAAY;MAAC,OAAO,EAAE;QAC5CI,WAAW,EAAE;MACjB;IAAE,EAAE;EAAA,EACN;AAIxB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/de0759e555462ccd3f64b5f5903f92a9.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/de0759e555462ccd3f64b5f5903f92a9.json new file mode 100644 index 00000000..2cdb37b1 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/de0759e555462ccd3f64b5f5903f92a9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/SimpleLineIcons.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/SimpleLineIcons.json\";\nexport default createIconSet(glyphMap, 'simple-line-icons', font);","map":{"version":3,"sources":["../src/SimpleLineIcons.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/SimpleLineIcons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/SimpleLineIcons.json';\n\nexport default createIconSet(glyphMap, 'simple-line-icons', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/de1e32abf8adcbc73aaeb00486d11645.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/de1e32abf8adcbc73aaeb00486d11645.json new file mode 100644 index 00000000..1a094916 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/de1e32abf8adcbc73aaeb00486d11645.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { FETCH_WEATHER_LIST } from \"../constants\";\nexport var setWeatherList = function setWeatherList(weather) {\n return {\n type: FETCH_WEATHER_LIST,\n payload: weather\n };\n};","map":{"version":3,"names":["FETCH_WEATHER_LIST","setWeatherList","weather","type","payload"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/setWeatherList.ts"],"sourcesContent":["import { Weather } from \"../../data/stub\";\nimport { FETCH_WEATHER_LIST } from \"../constants\";\n\nexport const setWeatherList = (weather: Weather[]) => {\n return {\n type: FETCH_WEATHER_LIST,\n payload: weather,\n };\n }"],"mappings":"AACA,SAASA,kBAAkB;AAE3B,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAc,CAAIC,OAAkB,EAAK;EAClD,OAAO;IACLC,IAAI,EAAEH,kBAAkB;IACxBI,OAAO,EAAEF;EACX,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/de961013ecb7e37102a73eae0f14063e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/de961013ecb7e37102a73eae0f14063e.json new file mode 100644 index 00000000..f657926a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/de961013ecb7e37102a73eae0f14063e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport { ADD_FAVORITE_CITY, FETCH_FAVORITE_CITY, FETCH_WEATHER, FETCH_WEATHER_LIST, FETCH_WEATHER_SEARCHED, GET_FAVORITE_CITY, GET_WEATHER, GET_WEATHER_LIST } from \"../constants\";\nvar initialState = {\n weatherList: [],\n weatherListSearched: [],\n favoriteCity: null,\n favoriteWeather: null,\n conditionCodes: null\n};\nvar appReducer = function appReducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case ADD_FAVORITE_CITY:\n return _objectSpread(_objectSpread({}, state), {}, {\n favoriteCity: state.favoriteCity\n });\n case FETCH_WEATHER_LIST:\n return _objectSpread(_objectSpread({}, state), {}, {\n weatherList: action.payload\n });\n case FETCH_FAVORITE_CITY:\n return _objectSpread(_objectSpread({}, state), {}, {\n favoriteCity: action.payload\n });\n case GET_FAVORITE_CITY:\n return _objectSpread(_objectSpread({}, state), {}, {\n favoriteCity: state.favoriteCity\n });\n case GET_WEATHER_LIST:\n return _objectSpread(_objectSpread({}, state), {}, {\n weatherList: state.weatherList\n });\n case FETCH_WEATHER_SEARCHED:\n return _objectSpread(_objectSpread({}, state), {}, {\n weatherListSearched: action.payload\n });\n case GET_WEATHER:\n return _objectSpread(_objectSpread({}, state), {}, {\n weatherList: state.favoriteWeather\n });\n case FETCH_WEATHER:\n return _objectSpread(_objectSpread({}, state), {}, {\n favoriteWeather: action.payload\n });\n default:\n return state;\n }\n};\nexport default appReducer;","map":{"version":3,"names":["ADD_FAVORITE_CITY","FETCH_FAVORITE_CITY","FETCH_WEATHER","FETCH_WEATHER_LIST","FETCH_WEATHER_SEARCHED","GET_FAVORITE_CITY","GET_WEATHER","GET_WEATHER_LIST","initialState","weatherList","weatherListSearched","favoriteCity","favoriteWeather","conditionCodes","appReducer","state","action","type","payload"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/reducers/appReducer.ts"],"sourcesContent":["import { City } from \"../../data/stub\";\nimport { ADD_FAVORITE_CITY, FETCH_FAVORITE_CITY, FETCH_WEATHER, FETCH_WEATHER_LIST, FETCH_WEATHER_SEARCHED, GET_FAVORITE_CITY, GET_WEATHER, GET_WEATHER_LIST } from \"../constants\";\n\nconst initialState = {\n weatherList : [],\n weatherListSearched : [],\n favoriteCity: null,\n favoriteWeather: null,\n conditionCodes: null\n}\n\nconst appReducer = (state = initialState, action) => {\n switch (action.type) {\n case ADD_FAVORITE_CITY:\n return {...state, favoriteCity: state.favoriteCity};\n case FETCH_WEATHER_LIST:\n return {...state, weatherList: action.payload};\n case FETCH_FAVORITE_CITY:\n return {...state, favoriteCity: action.payload}\n case GET_FAVORITE_CITY:\n return {...state, favoriteCity: state.favoriteCity}\n case GET_WEATHER_LIST:\n return {...state, weatherList: state.weatherList}\n case FETCH_WEATHER_SEARCHED:\n return {...state, weatherListSearched: action.payload}\n case GET_WEATHER:\n return {...state, weatherList: state.favoriteWeather}\n case FETCH_WEATHER:\n return {...state, favoriteWeather: action.payload}\n default:\n return state;\n }\n}\n\nexport default appReducer;"],"mappings":";;;AACA,SAASA,iBAAiB,EAAEC,mBAAmB,EAAEC,aAAa,EAAEC,kBAAkB,EAAEC,sBAAsB,EAAEC,iBAAiB,EAAEC,WAAW,EAAEC,gBAAgB;AAE5J,IAAMC,YAAY,GAAG;EACjBC,WAAW,EAAG,EAAE;EAChBC,mBAAmB,EAAG,EAAE;EACxBC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,IAAI;EACrBC,cAAc,EAAE;AACpB,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAqC;EAAA,IAAjCC,KAAK,uEAAGP,YAAY;EAAA,IAAEQ,MAAM;EAC5C,QAAQA,MAAM,CAACC,IAAI;IACf,KAAKjB,iBAAiB;MAClB,uCAAWe,KAAK;QAAEJ,YAAY,EAAEI,KAAK,CAACJ;MAAY;IACtD,KAAKR,kBAAkB;MACnB,uCAAWY,KAAK;QAAEN,WAAW,EAAEO,MAAM,CAACE;MAAO;IACjD,KAAKjB,mBAAmB;MACpB,uCAAWc,KAAK;QAAEJ,YAAY,EAAEK,MAAM,CAACE;MAAO;IAClD,KAAKb,iBAAiB;MAClB,uCAAWU,KAAK;QAAEJ,YAAY,EAAEI,KAAK,CAACJ;MAAY;IACtD,KAAKJ,gBAAgB;MACjB,uCAAWQ,KAAK;QAAEN,WAAW,EAAEM,KAAK,CAACN;MAAW;IACpD,KAAKL,sBAAsB;MACvB,uCAAWW,KAAK;QAAEL,mBAAmB,EAAEM,MAAM,CAACE;MAAO;IACzD,KAAKZ,WAAW;MACZ,uCAAWS,KAAK;QAAEN,WAAW,EAAEM,KAAK,CAACH;MAAe;IACxD,KAAKV,aAAa;MACd,uCAAWa,KAAK;QAAEH,eAAe,EAAEI,MAAM,CAACE;MAAO;IACrD;MACI,OAAOH,KAAK;EAAC;AAEzB,CAAC;AAED,eAAeD,UAAU"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/dfd83a0630b68393e8bbaa6bf5595a41.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/dfd83a0630b68393e8bbaa6bf5595a41.json new file mode 100644 index 00000000..63752678 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/dfd83a0630b68393e8bbaa6bf5595a41.json @@ -0,0 +1 @@ +{"ast":null,"code":"var pick = function pick(obj) {\n for (var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n keys[_key - 1] = arguments[_key];\n }\n return keys.flat().filter(function (key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }).reduce(function (acc, key) {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nvar omit = function omit(obj) {\n for (var _len2 = arguments.length, keysToOmit = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n keysToOmit[_key2 - 1] = arguments[_key2];\n }\n var keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj).filter(function (key) {\n return !keysToOmitSet.has(key);\n }).reduce(function (acc, key) {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nmodule.exports = {\n pick: pick,\n omit: omit\n};","map":{"version":3,"names":["pick","obj","keys","flat","filter","key","Object","prototype","hasOwnProperty","call","reduce","acc","omit","keysToOmit","keysToOmitSet","Set","getOwnPropertyNames","has","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/object-utils.js"],"sourcesContent":["const pick = (obj, ...keys) =>\n keys\n .flat()\n .filter(key => Object.prototype.hasOwnProperty.call(obj, key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n\nconst omit = (obj, ...keysToOmit) => {\n const keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj)\n .filter(key => !keysToOmitSet.has(key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\n\nmodule.exports = { pick, omit };\n"],"mappings":"AAAA,IAAMA,IAAI,GAAG,SAAPA,IAAI,CAAIC,GAAG;EAAA,kCAAKC,IAAI;IAAJA,IAAI;EAAA;EAAA,OACxBA,IAAI,CACDC,IAAI,EAAE,CACNC,MAAM,CAAC,UAAAC,GAAG;IAAA,OAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,GAAG,EAAEI,GAAG,CAAC;EAAA,EAAC,CAC7DK,MAAM,CAAC,UAACC,GAAG,EAAEN,GAAG,EAAK;IACpBM,GAAG,CAACN,GAAG,CAAC,GAAGJ,GAAG,CAACI,GAAG,CAAC;IACnB,OAAOM,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA;AAEV,IAAMC,IAAI,GAAG,SAAPA,IAAI,CAAIX,GAAG,EAAoB;EAAA,mCAAfY,UAAU;IAAVA,UAAU;EAAA;EAC9B,IAAMC,aAAa,GAAG,IAAIC,GAAG,CAACF,UAAU,CAACV,IAAI,EAAE,CAAC;EAChD,OAAOG,MAAM,CAACU,mBAAmB,CAACf,GAAG,CAAC,CACnCG,MAAM,CAAC,UAAAC,GAAG;IAAA,OAAI,CAACS,aAAa,CAACG,GAAG,CAACZ,GAAG,CAAC;EAAA,EAAC,CACtCK,MAAM,CAAC,UAACC,GAAG,EAAEN,GAAG,EAAK;IACpBM,GAAG,CAACN,GAAG,CAAC,GAAGJ,GAAG,CAACI,GAAG,CAAC;IACnB,OAAOM,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,CAAC;AAEDO,MAAM,CAACC,OAAO,GAAG;EAAEnB,IAAI,EAAJA,IAAI;EAAEY,IAAI,EAAJA;AAAK,CAAC"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e063060b1da2ff496b6c5285a88cbfa6.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e063060b1da2ff496b6c5285a88cbfa6.json new file mode 100644 index 00000000..9bd9204d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e063060b1da2ff496b6c5285a88cbfa6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\nimport * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nvar ProgressBar = React.forwardRef(function (props, ref) {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 100,\n accessibilityValueMin: 0,\n accessibilityValueNow: indeterminate ? null : percentageProgress,\n ref: ref,\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), React.createElement(View, {\n style: [{\n backgroundColor: color,\n width: width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n translateX: '-100%'\n }]\n },\n '100%': {\n transform: [{\n translateX: '400%'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","StyleSheet","View","ProgressBar","forwardRef","props","ref","_props$color","color","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","style","other","percentageProgress","width","createElement","accessibilityRole","accessibilityValueMax","accessibilityValueMin","accessibilityValueNow","styles","track","backgroundColor","animation","displayName","create","forcedColorAdjust","height","overflow","userSelect","zIndex","animationDuration","animationKeyframes","transform","translateX","animationTimingFunction","animationIterationCount"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/ProgressBar/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar ProgressBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 100,\n accessibilityValueMin: 0,\n accessibilityValueNow: indeterminate ? null : percentageProgress,\n ref: ref,\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [{\n backgroundColor: color,\n width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n translateX: '-100%'\n }]\n },\n '100%': {\n transform: [{\n translateX: '400%'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC;AAU7E,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU;AACjB,OAAOC,IAAI;AACX,IAAIC,WAAW,GAAgBH,KAAK,CAACI,UAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC9D,IAAIC,YAAY,GAAGF,KAAK,CAACG,KAAK;IAC1BA,KAAK,GAAGD,YAAY,KAAK,KAAK,CAAC,GAAG,SAAS,GAAGA,YAAY;IAC1DE,oBAAoB,GAAGJ,KAAK,CAACK,aAAa;IAC1CA,aAAa,GAAGD,oBAAoB,KAAK,KAAK,CAAC,GAAG,KAAK,GAAGA,oBAAoB;IAC9EE,eAAe,GAAGN,KAAK,CAACO,QAAQ;IAChCA,QAAQ,GAAGD,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGA,eAAe;IAC3DE,iBAAiB,GAAGR,KAAK,CAACS,UAAU;IACpCA,UAAU,GAAGD,iBAAiB,KAAK,KAAK,CAAC,GAAG,aAAa,GAAGA,iBAAiB;IAC7EE,KAAK,GAAGV,KAAK,CAACU,KAAK;IACnBC,KAAK,GAAGlB,6BAA6B,CAACO,KAAK,EAAEN,SAAS,CAAC;EAE3D,IAAIkB,kBAAkB,GAAGL,QAAQ,GAAG,GAAG;EACvC,IAAIM,KAAK,GAAGR,aAAa,GAAG,KAAK,GAAGO,kBAAkB,GAAG,GAAG;EAC5D,OAAoBjB,KAAK,CAACmB,aAAa,CAACjB,IAAI,EAAEL,QAAQ,CAAC,CAAC,CAAC,EAAEmB,KAAK,EAAE;IAChEI,iBAAiB,EAAE,aAAa;IAChCC,qBAAqB,EAAE,GAAG;IAC1BC,qBAAqB,EAAE,CAAC;IACxBC,qBAAqB,EAAEb,aAAa,GAAG,IAAI,GAAGO,kBAAkB;IAChEX,GAAG,EAAEA,GAAG;IACRS,KAAK,EAAE,CAACS,MAAM,CAACC,KAAK,EAAEV,KAAK,EAAE;MAC3BW,eAAe,EAAEZ;IACnB,CAAC;EACH,CAAC,CAAC,EAAed,KAAK,CAACmB,aAAa,CAACjB,IAAI,EAAE;IACzCa,KAAK,EAAE,CAAC;MACNW,eAAe,EAAElB,KAAK;MACtBU,KAAK,EAALA;IACF,CAAC,EAAEM,MAAM,CAACZ,QAAQ,EAAEF,aAAa,IAAIc,MAAM,CAACG,SAAS;EACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACFxB,WAAW,CAACyB,WAAW,GAAG,aAAa;AACvC,IAAIJ,MAAM,GAAGvB,UAAU,CAAC4B,MAAM,CAAC;EAC7BJ,KAAK,EAAE;IACLK,iBAAiB,EAAE,MAAM;IACzBC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE,MAAM;IAClBC,MAAM,EAAE;EACV,CAAC;EACDtB,QAAQ,EAAE;IACRkB,iBAAiB,EAAE,MAAM;IACzBC,MAAM,EAAE,MAAM;IACdG,MAAM,EAAE,CAAC;EACX,CAAC;EACDP,SAAS,EAAE;IACTQ,iBAAiB,EAAE,IAAI;IACvBC,kBAAkB,EAAE,CAAC;MACnB,IAAI,EAAE;QACJC,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH,CAAC;MACD,MAAM,EAAE;QACND,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH;IACF,CAAC,CAAC;IACFC,uBAAuB,EAAE,QAAQ;IACjCC,uBAAuB,EAAE;EAC3B;AACF,CAAC,CAAC;AACF,eAAerC,WAAW"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e1abab2b40ac979ac07c62de9b3fd621.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e1abab2b40ac979ac07c62de9b3fd621.json new file mode 100644 index 00000000..8d2467f2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e1abab2b40ac979ac07c62de9b3fd621.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { Asset } from \"./Asset\";\nimport { IS_ENV_WITH_UPDATES_ENABLED } from \"./PlatformUtils\";\nimport { setCustomSourceTransformer } from \"./resolveAssetSource\";\nif (IS_ENV_WITH_UPDATES_ENABLED) {\n setCustomSourceTransformer(function (resolver) {\n try {\n if (resolver.asset.fileHashes) {\n var asset = Asset.fromMetadata(resolver.asset);\n return resolver.fromSource(asset.downloaded ? asset.localUri : asset.uri);\n } else {\n return resolver.defaultAsset();\n }\n } catch (_unused) {\n return resolver.defaultAsset();\n }\n });\n}","map":{"version":3,"sources":["../src/Asset.fx.ts"],"names":[],"mappings":"AAAA,SAAS,KAAK;AACd,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AAGnC,IAAI,2BAA2B,EAAE;EAC/B,0BAA0B,CAAC,UAAC,QAAQ,EAAI;IACtC,IAAI;MAEF,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;QAC7B,IAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChD,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAS,GAAG,KAAK,CAAC,GAAG,CAAC;OAC3E,MAAM;QACL,OAAO,QAAQ,CAAC,YAAY,EAAE;MAC/B;KACF,CAAC,gBAAM;MACN,OAAO,QAAQ,CAAC,YAAY,EAAE;IAC/B;EACH,CAAC,CAAC;AACH","sourcesContent":["import { Asset } from './Asset';\nimport { IS_ENV_WITH_UPDATES_ENABLED } from './PlatformUtils';\nimport { setCustomSourceTransformer } from './resolveAssetSource';\n\n// Override React Native's asset resolution for `Image` components in contexts where it matters\nif (IS_ENV_WITH_UPDATES_ENABLED) {\n setCustomSourceTransformer((resolver) => {\n try {\n // Bundler is using the hashAssetFiles plugin if and only if the fileHashes property exists\n if (resolver.asset.fileHashes) {\n const asset = Asset.fromMetadata(resolver.asset);\n return resolver.fromSource(asset.downloaded ? asset.localUri! : asset.uri);\n } else {\n return resolver.defaultAsset();\n }\n } catch {\n return resolver.defaultAsset();\n }\n });\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e236f4fdf0008b52a9052f981607e329.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e236f4fdf0008b52a9052f981607e329.json new file mode 100644 index 00000000..e58d48ea --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e236f4fdf0008b52a9052f981607e329.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport React, { PureComponent } from 'react';\nimport createIconSet from \"./createIconSet\";\nexport default function createMultiStyleIconSet(styles) {\n var optionsInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var styleNames = Object.keys(styles);\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n var options = _objectSpread({\n defaultStyle: styleNames[0],\n fallbackFamily: function fallbackFamily(_unused) {\n return styleNames[0];\n },\n glyphValidator: function glyphValidator(_unused, __unused) {\n return true;\n }\n }, optionsInput);\n var iconSets = styleNames.reduce(function (acc, name) {\n var style = styles[name];\n acc[name] = createIconSet(style.glyphMap || {}, style.fontFamily || '', style.fontFile || '', style.fontStyle || {});\n return acc;\n }, {});\n function styleFromProps(props) {\n return Object.keys(props).reduce(function (result, propName) {\n return styleNames.indexOf(propName) !== -1 && props[propName] === true ? propName : result;\n }, options.defaultStyle);\n }\n function getIconSetForProps(props) {\n var name = props.name;\n var style = styleFromProps(props);\n if (options.glyphValidator(name, style)) return iconSets[style];\n var family = options.fallbackFamily(name);\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n return iconSets[family];\n }\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n function reduceProps(props) {\n return Object.keys(props).reduce(function (acc, prop) {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n return acc;\n }, {});\n }\n function getStyledIconSet(style) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n return !name ? iconSets[styleFromProps(_defineProperty({}, style, true))] : getIconSetForProps(_defineProperty({\n name: name\n }, style, true));\n }\n function getFontFamily() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getFontFamily();\n }\n function getRawGlyphMap() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getRawGlyphMap();\n }\n function hasIcon(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options.defaultStyle;\n return options.glyphValidator(name, style);\n }\n function createStyledIconClass() {\n var selectClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var IconClass = function (_PureComponent) {\n _inherits(IconClass, _PureComponent);\n var _super = _createSuper(IconClass);\n function IconClass() {\n _classCallCheck(this, IconClass);\n return _super.apply(this, arguments);\n }\n _createClass(IconClass, [{\n key: \"render\",\n value: function render() {\n var selectedIconSet = getIconSetForProps(this.props);\n var SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n var props = reduceProps(this.props);\n return React.createElement(SelectedIconClass, props);\n }\n }]);\n return IconClass;\n }(PureComponent);\n IconClass.defaultProps = styleNames.reduce(function (acc, name) {\n acc[name] = false;\n return acc;\n }, {});\n IconClass.font = Object.values(styles).reduce(function (acc, style) {\n acc[style.fontFamily] = style.fontFile;\n return acc;\n }, {});\n IconClass.StyledIconSet = getStyledIconSet;\n IconClass.getFontFamily = getFontFamily;\n IconClass.getRawGlyphMap = getRawGlyphMap;\n IconClass.hasIcon = hasIcon;\n return IconClass;\n }\n var Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n return Icon;\n}","map":{"version":3,"sources":["../src/createMultiStyleIconSet.ts"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\n\nimport createIconSet from './createIconSet';\n\ntype FontStyle = {\n fontFamily: string;\n fontFile: any;\n glyphMap: any;\n fontStyle: any;\n};\n\ntype FontStyles = {\n [key: string]: FontStyle;\n};\n\nexport default function createMultiStyleIconSet(\n styles: FontStyles,\n optionsInput = {}\n): any {\n const styleNames = Object.keys(styles);\n\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n\n const options = {\n defaultStyle: styleNames[0],\n fallbackFamily: (_unused: any) => styleNames[0],\n glyphValidator: (_unused: any, __unused: any) => true,\n ...optionsInput,\n };\n\n const iconSets = styleNames.reduce((acc, name) => {\n const style = styles[name];\n\n acc[name] = createIconSet(\n style.glyphMap || {},\n style.fontFamily || '',\n style.fontFile || '',\n style.fontStyle || {}\n );\n\n return acc;\n }, {});\n\n function styleFromProps(props) {\n return Object.keys(props).reduce(\n (result, propName) =>\n styleNames.indexOf(propName) !== -1 && props[propName] === true\n ? propName\n : result,\n options.defaultStyle\n );\n }\n\n function getIconSetForProps(props) {\n const { name } = props;\n const style = styleFromProps(props);\n\n if (options.glyphValidator(name, style)) return iconSets[style];\n\n const family = options.fallbackFamily(name);\n\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n\n return iconSets[family];\n }\n\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n\n function reduceProps(props) {\n return Object.keys(props).reduce((acc, prop) => {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n\n return acc;\n }, {});\n }\n\n function getStyledIconSet(style, name = '') {\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n\n return !name\n ? iconSets[styleFromProps({ [style]: true })]\n : getIconSetForProps({ name, [style]: true });\n }\n\n function getFontFamily(style = options.defaultStyle) {\n return getStyledIconSet(style).getFontFamily();\n }\n\n function getRawGlyphMap(style = options.defaultStyle) {\n return getStyledIconSet(style).getRawGlyphMap();\n }\n\n function hasIcon(name, style = options.defaultStyle) {\n return options.glyphValidator(name, style);\n }\n\n function createStyledIconClass(selectClass = '') {\n class IconClass extends PureComponent {\n static defaultProps = styleNames.reduce((acc, name) => {\n acc[name] = false;\n return acc;\n }, {});\n\n static font = Object.values(styles).reduce((acc, style) => {\n acc[style.fontFamily] = style.fontFile;\n return acc;\n }, {});\n\n static Button: any;\n\n static StyledIconSet = getStyledIconSet;\n static getFontFamily = getFontFamily;\n static getRawGlyphMap = getRawGlyphMap;\n static hasIcon = hasIcon;\n\n render() {\n const selectedIconSet = getIconSetForProps(this.props);\n const SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n const props = reduceProps(this.props);\n\n return React.createElement(SelectedIconClass, props);\n }\n }\n\n return IconClass;\n }\n\n const Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n return Icon;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e2d8c32b8979f88dbbdab3bdf92f828e.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e2d8c32b8979f88dbbdab3bdf92f828e.json new file mode 100644 index 00000000..6c03e02d --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e2d8c32b8979f88dbbdab3bdf92f828e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nexport var storeFavoriteCity = function () {\n var _ref = _asyncToGenerator(function* (city) {\n try {\n var cityJson = JSON.stringify(city);\n yield AsyncStorage.setItem('favorite_city', cityJson);\n } catch (e) {\n console.log(\"An error occurred\", e);\n }\n });\n return function storeFavoriteCity(_x) {\n return _ref.apply(this, arguments);\n };\n}();","map":{"version":3,"names":["AsyncStorage","storeFavoriteCity","city","cityJson","JSON","stringify","setItem","e","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/asyncStorange/storeFavoriteCity.ts"],"sourcesContent":["import AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport { City } from \"../data/stub\";\n\nexport const storeFavoriteCity = async (city: City | null) => {\n try {\n const cityJson = JSON.stringify(city)\n await AsyncStorage.setItem('favorite_city', cityJson);\n } catch (e) {\n console.log(\"An error occurred\", e);\n }\n}"],"mappings":";AAAA,OAAOA,YAAY,MAAM,2CAA2C;AAGpE,OAAO,IAAMC,iBAAiB;EAAA,6BAAG,WAAOC,IAAiB,EAAK;IAC1D,IAAI;MACF,IAAMC,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC;MACrC,MAAMF,YAAY,CAACM,OAAO,CAAC,eAAe,EAAEH,QAAQ,CAAC;IACvD,CAAC,CAAC,OAAOI,CAAC,EAAE;MACVC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,CAAC,CAAC;IACrC;EACJ,CAAC;EAAA,gBAPYN,iBAAiB;IAAA;EAAA;AAAA,GAO7B"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e84e2c7efa2767335812f6674463805a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e84e2c7efa2767335812f6674463805a.json new file mode 100644 index 00000000..17d7b2da --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e84e2c7efa2767335812f6674463805a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import invariant from 'fbjs/lib/invariant';\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","map":{"version":3,"names":["invariant","twoArgumentPooler","a1","a2","Klass","instancePool","length","instance","pop","call","standardReleaser","destructor","poolSize","push","DEFAULT_POOL_SIZE","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","PooledClass"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js"],"sourcesContent":["/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n */\nimport invariant from 'fbjs/lib/invariant';\n\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\n\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;"],"mappings":"AAUA,OAAOA,SAAS,MAAM,oBAAoB;AAE1C,IAAIC,iBAAiB,GAAG,SAASA,iBAAiB,CAACC,EAAE,EAAEC,EAAE,EAAE;EACzD,IAAIC,KAAK,GAAG,IAAI;EAEhB,IAAIA,KAAK,CAACC,YAAY,CAACC,MAAM,EAAE;IAC7B,IAAIC,QAAQ,GAAGH,KAAK,CAACC,YAAY,CAACG,GAAG,EAAE;IACvCJ,KAAK,CAACK,IAAI,CAACF,QAAQ,EAAEL,EAAE,EAAEC,EAAE,CAAC;IAC5B,OAAOI,QAAQ;EACjB,CAAC,MAAM;IACL,OAAO,IAAIH,KAAK,CAACF,EAAE,EAAEC,EAAE,CAAC;EAC1B;AACF,CAAC;AAED,IAAIO,gBAAgB,GAAG,SAASA,gBAAgB,CAACH,QAAQ,EAAE;EACzD,IAAIH,KAAK,GAAG,IAAI;EAChBG,QAAQ,CAACI,UAAU,EAAE;EAErB,IAAIP,KAAK,CAACC,YAAY,CAACC,MAAM,GAAGF,KAAK,CAACQ,QAAQ,EAAE;IAC9CR,KAAK,CAACC,YAAY,CAACQ,IAAI,CAACN,QAAQ,CAAC;EACnC;AACF,CAAC;AAED,IAAIO,iBAAiB,GAAG,EAAE;AAC1B,IAAIC,cAAc,GAAGd,iBAAiB;AAWtC,IAAIe,YAAY,GAAG,SAASA,YAAY,CAACC,eAAe,EAAEC,MAAM,EAAE;EAGhE,IAAIC,QAAQ,GAAGF,eAAe;EAC9BE,QAAQ,CAACd,YAAY,GAAG,EAAE;EAC1Bc,QAAQ,CAACC,SAAS,GAAGF,MAAM,IAAIH,cAAc;EAE7C,IAAI,CAACI,QAAQ,CAACP,QAAQ,EAAE;IACtBO,QAAQ,CAACP,QAAQ,GAAGE,iBAAiB;EACvC;EAEAK,QAAQ,CAACE,OAAO,GAAGX,gBAAgB;EACnC,OAAOS,QAAQ;AACjB,CAAC;AAED,IAAIG,WAAW,GAAG;EAChBN,YAAY,EAAEA,YAAY;EAC1Bf,iBAAiB,EAAEA;AACrB,CAAC;AACD,eAAeqB,WAAW"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/e8fef8f4505971d1cda9c34b14eb32ee.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/e8fef8f4505971d1cda9c34b14eb32ee.json new file mode 100644 index 00000000..70a62cac --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/e8fef8f4505971d1cda9c34b14eb32ee.json @@ -0,0 +1 @@ +{"ast":null,"code":"import VirtualizedList from \"../../vendor/react-native/VirtualizedList\";\nexport default VirtualizedList;","map":{"version":3,"names":["VirtualizedList"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/VirtualizedList/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport VirtualizedList from '../../vendor/react-native/VirtualizedList';\nexport default VirtualizedList;"],"mappings":"AAQA,OAAOA,eAAe;AACtB,eAAeA,eAAe"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/ea18279d73c15970b50b92ce7d5f115a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/ea18279d73c15970b50b92ce7d5f115a.json new file mode 100644 index 00000000..9ebe735c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/ea18279d73c15970b50b92ce7d5f115a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\nimport * as React from 'react';\nimport ModalPortal from \"./ModalPortal\";\nimport ModalAnimation from \"./ModalAnimation\";\nimport ModalContent from \"./ModalContent\";\nimport ModalFocusTrap from \"./ModalFocusTrap\";\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(function (modalId) {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = React.forwardRef(function (props, forwardedRef) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var modalId = React.useMemo(function () {\n return uniqueModalIdentifier++;\n }, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(function () {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(function () {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(function () {\n return function () {\n return removeActiveModal(modalId);\n };\n }, [modalId]);\n return React.createElement(ModalPortal, null, React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, React.createElement(ModalFocusTrap, {\n active: isActive\n }, React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","ModalPortal","ModalAnimation","ModalContent","ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","length","activeModalId","forEach","modalId","removeActiveModal","index","indexOf","splice","addActiveModal","listener","push","Modal","forwardRef","props","forwardedRef","animationType","children","onDismiss","onRequestClose","onShow","transparent","_props$visible","visible","rest","useMemo","_React$useState","useState","isActive","setIsActive","onDismissCallback","useCallback","onShowCallback","useEffect","createElement","active","ref"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Modal/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\n\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\n\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n\n var index = activeModalStack.indexOf(modalId);\n\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\n\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\n\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded); // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n\n\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n active: isActive\n }, /*#__PURE__*/React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;"],"mappings":"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"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/ecebda58404e70559a47d425f86f6683.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/ecebda58404e70559a47d425f86f6683.json new file mode 100644 index 00000000..a17e6405 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/ecebda58404e70559a47d425f86f6683.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nexport var deleteFavoriteCity = function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n yield AsyncStorage.removeItem('favorite_city');\n } catch (e) {\n console.log(\"An error occurred\", e);\n }\n });\n return function deleteFavoriteCity() {\n return _ref.apply(this, arguments);\n };\n}();","map":{"version":3,"names":["AsyncStorage","deleteFavoriteCity","removeItem","e","console","log"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/asyncStorange/deleteFavoriteCityStorage.ts"],"sourcesContent":["import AsyncStorage from \"@react-native-async-storage/async-storage\";\n\nexport const deleteFavoriteCity = async () => {\n try {\n await AsyncStorage.removeItem('favorite_city')\n } catch(e) {\n console.log(\"An error occurred\", e);\n }\n }"],"mappings":";AAAA,OAAOA,YAAY,MAAM,2CAA2C;AAEpE,OAAO,IAAMC,kBAAkB;EAAA,6BAAG,aAAY;IAC1C,IAAI;MACF,MAAMD,YAAY,CAACE,UAAU,CAAC,eAAe,CAAC;IAChD,CAAC,CAAC,OAAMC,CAAC,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,CAAC,CAAC;IACrC;EACF,CAAC;EAAA,gBANUF,kBAAkB;IAAA;EAAA;AAAA,GAM5B"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/ee9ff425a32997d33365e47e44dee171.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/ee9ff425a32997d33365e47e44dee171.json new file mode 100644 index 00000000..339e6c64 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/ee9ff425a32997d33365e47e44dee171.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/AntDesign.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/AntDesign.json\";\nexport default createIconSet(glyphMap, 'anticon', font);","map":{"version":3,"sources":["../src/AntDesign.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/AntDesign.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/AntDesign.json';\n\nexport default createIconSet(glyphMap, 'anticon', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f101f37d3875a5dd9e3989ea88ee9e1d.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f101f37d3875a5dd9e3989ea88ee9e1d.json new file mode 100644 index 00000000..47311522 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f101f37d3875a5dd9e3989ea88ee9e1d.json @@ -0,0 +1 @@ +{"ast":null,"code":"export * from \"./Font\";\nexport { useFonts } from \"./FontHooks\";","map":{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,QAAQ","sourcesContent":["export * from './Font';\nexport { useFonts } from './FontHooks';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f1a3fc426a6660f193dff6b1fde15394.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f1a3fc426a6660f193dff6b1fde15394.json new file mode 100644 index 00000000..0ae5204a --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f1a3fc426a6660f193dff6b1fde15394.json @@ -0,0 +1 @@ +{"ast":null,"code":"var pick = function pick(obj) {\n for (var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n keys[_key - 1] = arguments[_key];\n }\n return keys.flat().filter(function (key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }).reduce(function (acc, key) {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nvar omit = function omit(obj) {\n for (var _len2 = arguments.length, keysToOmit = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n keysToOmit[_key2 - 1] = arguments[_key2];\n }\n var keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj).filter(function (key) {\n return !keysToOmitSet.has(key);\n }).reduce(function (acc, key) {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nmodule.exports = {\n pick: pick,\n omit: omit\n};","map":{"version":3,"names":["pick","obj","keys","flat","filter","key","Object","prototype","hasOwnProperty","call","reduce","acc","omit","keysToOmit","keysToOmitSet","Set","getOwnPropertyNames","has","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/lib/object-utils.js"],"sourcesContent":["const pick = (obj, ...keys) =>\n keys\n .flat()\n .filter(key => Object.prototype.hasOwnProperty.call(obj, key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n\nconst omit = (obj, ...keysToOmit) => {\n const keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj)\n .filter(key => !keysToOmitSet.has(key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\n\nmodule.exports = { pick, omit };\n"],"mappings":"AAAA,IAAMA,IAAI,GAAG,SAAPA,IAAI,CAAIC,GAAG;EAAA,kCAAKC,IAAI;IAAJA,IAAI;EAAA;EAAA,OACxBA,IAAI,CACDC,IAAI,EAAE,CACNC,MAAM,CAAC,UAAAC,GAAG;IAAA,OAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,GAAG,EAAEI,GAAG,CAAC;EAAA,EAAC,CAC7DK,MAAM,CAAC,UAACC,GAAG,EAAEN,GAAG,EAAK;IACpBM,GAAG,CAACN,GAAG,CAAC,GAAGJ,GAAG,CAACI,GAAG,CAAC;IACnB,OAAOM,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA;AAEV,IAAMC,IAAI,GAAG,SAAPA,IAAI,CAAIX,GAAG,EAAoB;EAAA,mCAAfY,UAAU;IAAVA,UAAU;EAAA;EAC9B,IAAMC,aAAa,GAAG,IAAIC,GAAG,CAACF,UAAU,CAACV,IAAI,EAAE,CAAC;EAChD,OAAOG,MAAM,CAACU,mBAAmB,CAACf,GAAG,CAAC,CACnCG,MAAM,CAAC,UAAAC,GAAG;IAAA,OAAI,CAACS,aAAa,CAACG,GAAG,CAACZ,GAAG,CAAC;EAAA,EAAC,CACtCK,MAAM,CAAC,UAACC,GAAG,EAAEN,GAAG,EAAK;IACpBM,GAAG,CAACN,GAAG,CAAC,GAAGJ,GAAG,CAACI,GAAG,CAAC;IACnB,OAAOM,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,CAAC;AAEDO,MAAM,CAACC,OAAO,GAAG;EAAEnB,IAAI,EAAJA,IAAI;EAAEY,IAAI,EAAJA;AAAK,CAAC"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f24e306cc7df97d877914389c268e8a8.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f24e306cc7df97d877914389c268e8a8.json new file mode 100644 index 00000000..ff9f25c7 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f24e306cc7df97d877914389c268e8a8.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport Dimensions from \"../Dimensions\";\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(function () {\n return Dimensions.get('window');\n }),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(function () {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n setDims(Dimensions.get('window'));\n return function () {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","map":{"version":3,"names":["Dimensions","useEffect","useState","useWindowDimensions","_useState","get","dims","setDims","handleChange","_ref","window","addEventListener","removeEventListener"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/useWindowDimensions/index.js"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n\n if (window != null) {\n setDims(window);\n }\n }\n\n Dimensions.addEventListener('change', handleChange); // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}"],"mappings":"AASA,YAAY;;AAEZ,OAAOA,UAAU;AACjB,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,eAAe,SAASC,mBAAmB,GAAG;EAC5C,IAAIC,SAAS,GAAGF,QAAQ,CAAC;MAAA,OAAMF,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC;IAAA,EAAC;IACpDC,IAAI,GAAGF,SAAS,CAAC,CAAC,CAAC;IACnBG,OAAO,GAAGH,SAAS,CAAC,CAAC,CAAC;EAE1BH,SAAS,CAAC,YAAM;IACd,SAASO,YAAY,CAACC,IAAI,EAAE;MAC1B,IAAIC,MAAM,GAAGD,IAAI,CAACC,MAAM;MAExB,IAAIA,MAAM,IAAI,IAAI,EAAE;QAClBH,OAAO,CAACG,MAAM,CAAC;MACjB;IACF;IAEAV,UAAU,CAACW,gBAAgB,CAAC,QAAQ,EAAEH,YAAY,CAAC;IAInDD,OAAO,CAACP,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,YAAM;MACXL,UAAU,CAACY,mBAAmB,CAAC,QAAQ,EAAEJ,YAAY,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAOF,IAAI;AACb"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f4b4af8bbbc7be8e93f0aa0d034cce4a.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f4b4af8bbbc7be8e93f0aa0d034cce4a.json new file mode 100644 index 00000000..2d1aa1c2 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f4b4af8bbbc7be8e93f0aa0d034cce4a.json @@ -0,0 +1 @@ +{"ast":null,"code":"var conversions = require(\"./conversions\");\nvar route = require(\"./route\");\nvar convert = {};\nvar models = Object.keys(conversions);\nfunction wrapRaw(fn) {\n var wrappedFn = function wrappedFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0];\n if (arg0 === undefined || arg0 === null) {\n return arg0;\n }\n if (arg0.length > 1) {\n args = arg0;\n }\n return fn(args);\n };\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n return wrappedFn;\n}\nfunction wrapRounded(fn) {\n var wrappedFn = function wrappedFn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var arg0 = args[0];\n if (arg0 === undefined || arg0 === null) {\n return arg0;\n }\n if (arg0.length > 1) {\n args = arg0;\n }\n var result = fn(args);\n if (typeof result === 'object') {\n for (var len = result.length, i = 0; i < len; i++) {\n result[i] = Math.round(result[i]);\n }\n }\n return result;\n };\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n return wrappedFn;\n}\nmodels.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n});\nmodule.exports = convert;","map":{"version":3,"names":["conversions","require","route","convert","models","Object","keys","wrapRaw","fn","wrappedFn","args","arg0","undefined","length","conversion","wrapRounded","result","len","i","Math","round","forEach","fromModel","defineProperty","value","channels","labels","routes","routeModels","toModel","raw","module","exports"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/@react-navigation/stack/node_modules/color-convert/index.js"],"sourcesContent":["const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n"],"mappings":"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"},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f5ded441923ea1b3aadecaa734160cdc.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f5ded441923ea1b3aadecaa734160cdc.json new file mode 100644 index 00000000..4b3e385e --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f5ded441923ea1b3aadecaa734160cdc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./createIconSet\";\nimport font from \"./vendor/react-native-vector-icons/Fonts/FontAwesome.ttf\";\nimport glyphMap from \"./vendor/react-native-vector-icons/glyphmaps/FontAwesome.json\";\nexport default createIconSet(glyphMap, 'FontAwesome', font);","map":{"version":3,"sources":["../src/FontAwesome.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa;AACpB,OAAO,IAAI;AACX,OAAO,QAAQ;AAEf,eAAe,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC","sourcesContent":["import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/FontAwesome.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome.json';\n\nexport default createIconSet(glyphMap, 'FontAwesome', font);\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f663689870e556783ac1020f882ce283.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f663689870e556783ac1020f882ce283.json new file mode 100644 index 00000000..e5577aa6 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f663689870e556783ac1020f882ce283.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport { Background, getDefaultHeaderHeight, SafeAreaProviderCompat } from '@react-navigation/elements';\nimport Color from 'color';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from \"../../TransitionConfigs/CardStyleInterpolators\";\nimport { DefaultTransition, ModalFadeTransition, ModalTransition } from \"../../TransitionConfigs/TransitionPresets\";\nimport findLastIndex from \"../../utils/findLastIndex\";\nimport getDistanceForDirection from \"../../utils/getDistanceForDirection\";\nimport { MaybeScreen, MaybeScreenContainer } from \"../Screens\";\nimport { getIsModalPresentation } from \"./Card\";\nimport CardContainer from \"./CardContainer\";\nvar EPSILON = 1e-5;\nvar STATE_INACTIVE = 0;\nvar STATE_TRANSITIONING_OR_BELOW_TOP = 1;\nvar STATE_ON_TOP = 2;\nvar FALLBACK_DESCRIPTOR = Object.freeze({\n options: {}\n});\nvar getInterpolationIndex = function getInterpolationIndex(scenes, index) {\n var cardStyleInterpolator = scenes[index].descriptor.options.cardStyleInterpolator;\n var interpolationIndex = 0;\n for (var i = index - 1; i >= 0; i--) {\n var _scenes$i;\n var cardStyleInterpolatorCurrent = (_scenes$i = scenes[i]) === null || _scenes$i === void 0 ? void 0 : _scenes$i.descriptor.options.cardStyleInterpolator;\n if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {\n break;\n }\n interpolationIndex++;\n }\n return interpolationIndex;\n};\nvar getIsModal = function getIsModal(scene, interpolationIndex, isParentModal) {\n if (isParentModal) {\n return true;\n }\n var cardStyleInterpolator = scene.descriptor.options.cardStyleInterpolator;\n var isModalPresentation = getIsModalPresentation(cardStyleInterpolator);\n var isModal = isModalPresentation && interpolationIndex !== 0;\n return isModal;\n};\nvar getHeaderHeights = function getHeaderHeights(scenes, insets, isParentHeaderShown, isParentModal, layout, previous) {\n return scenes.reduce(function (acc, curr, index) {\n var _curr$descriptor$opti = curr.descriptor.options,\n _curr$descriptor$opti2 = _curr$descriptor$opti.headerStatusBarHeight,\n headerStatusBarHeight = _curr$descriptor$opti2 === void 0 ? isParentHeaderShown ? 0 : insets.top : _curr$descriptor$opti2,\n headerStyle = _curr$descriptor$opti.headerStyle;\n var style = StyleSheet.flatten(headerStyle || {});\n var height = 'height' in style && typeof style.height === 'number' ? style.height : previous[curr.route.key];\n var interpolationIndex = getInterpolationIndex(scenes, index);\n var isModal = getIsModal(curr, interpolationIndex, isParentModal);\n acc[curr.route.key] = typeof height === 'number' ? height : getDefaultHeaderHeight(layout, isModal, headerStatusBarHeight);\n return acc;\n }, {});\n};\nvar getDistanceFromOptions = function getDistanceFromOptions(layout, descriptor) {\n var _ref4 = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {},\n presentation = _ref4.presentation,\n _ref4$gestureDirectio = _ref4.gestureDirection,\n gestureDirection = _ref4$gestureDirectio === void 0 ? presentation === 'modal' ? ModalTransition.gestureDirection : DefaultTransition.gestureDirection : _ref4$gestureDirectio;\n return getDistanceForDirection(layout, gestureDirection);\n};\nvar getProgressFromGesture = function getProgressFromGesture(gesture, layout, descriptor) {\n var distance = getDistanceFromOptions({\n width: Math.max(1, layout.width),\n height: Math.max(1, layout.height)\n }, descriptor);\n if (distance > 0) {\n return gesture.interpolate({\n inputRange: [0, distance],\n outputRange: [1, 0]\n });\n }\n return gesture.interpolate({\n inputRange: [distance, 0],\n outputRange: [0, 1]\n });\n};\nvar CardStack = function (_React$Component) {\n _inherits(CardStack, _React$Component);\n var _super = _createSuper(CardStack);\n function CardStack(_props) {\n var _this;\n _classCallCheck(this, CardStack);\n _this = _super.call(this, _props);\n _this.handleLayout = function (e) {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n height = _e$nativeEvent$layout.height,\n width = _e$nativeEvent$layout.width;\n var layout = {\n width: width,\n height: height\n };\n _this.setState(function (state, props) {\n if (height === state.layout.height && width === state.layout.width) {\n return null;\n }\n return {\n layout: layout,\n headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)\n };\n });\n };\n _this.handleHeaderLayout = function (_ref) {\n var route = _ref.route,\n height = _ref.height;\n _this.setState(function (_ref2) {\n var headerHeights = _ref2.headerHeights;\n var previousHeight = headerHeights[route.key];\n if (previousHeight === height) {\n return null;\n }\n return {\n headerHeights: _objectSpread(_objectSpread({}, headerHeights), {}, _defineProperty({}, route.key, height))\n };\n });\n };\n _this.getFocusedRoute = function () {\n var state = _this.props.state;\n return state.routes[state.index];\n };\n _this.getPreviousScene = function (_ref3) {\n var route = _ref3.route;\n var getPreviousRoute = _this.props.getPreviousRoute;\n var scenes = _this.state.scenes;\n var previousRoute = getPreviousRoute({\n route: route\n });\n if (previousRoute) {\n var previousScene = scenes.find(function (scene) {\n return scene.descriptor.route.key === previousRoute.key;\n });\n return previousScene;\n }\n return undefined;\n };\n _this.state = {\n routes: [],\n scenes: [],\n gestures: {},\n layout: SafeAreaProviderCompat.initialMetrics.frame,\n descriptors: _this.props.descriptors,\n headerHeights: {}\n };\n return _this;\n }\n _createClass(CardStack, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n insets = _this$props.insets,\n state = _this$props.state,\n routes = _this$props.routes,\n closingRouteKeys = _this$props.closingRouteKeys,\n onOpenRoute = _this$props.onOpenRoute,\n onCloseRoute = _this$props.onCloseRoute,\n renderHeader = _this$props.renderHeader,\n renderScene = _this$props.renderScene,\n isParentHeaderShown = _this$props.isParentHeaderShown,\n isParentModal = _this$props.isParentModal,\n onTransitionStart = _this$props.onTransitionStart,\n onTransitionEnd = _this$props.onTransitionEnd,\n onGestureStart = _this$props.onGestureStart,\n onGestureEnd = _this$props.onGestureEnd,\n onGestureCancel = _this$props.onGestureCancel,\n _this$props$detachIna = _this$props.detachInactiveScreens,\n detachInactiveScreens = _this$props$detachIna === void 0 ? Platform.OS === 'web' || Platform.OS === 'android' || Platform.OS === 'ios' : _this$props$detachIna;\n var _this$state = this.state,\n scenes = _this$state.scenes,\n layout = _this$state.layout,\n gestures = _this$state.gestures,\n headerHeights = _this$state.headerHeights;\n var focusedRoute = state.routes[state.index];\n var focusedHeaderHeight = headerHeights[focusedRoute.key];\n var isFloatHeaderAbsolute = this.state.scenes.slice(-2).some(function (scene) {\n var _scene$descriptor$opt;\n var options = (_scene$descriptor$opt = scene.descriptor.options) != null ? _scene$descriptor$opt : {};\n var headerMode = options.headerMode,\n headerTransparent = options.headerTransparent,\n _options$headerShown = options.headerShown,\n headerShown = _options$headerShown === void 0 ? true : _options$headerShown;\n if (headerTransparent || headerShown === false || headerMode === 'screen') {\n return true;\n }\n return false;\n });\n var activeScreensLimit = 1;\n for (var i = scenes.length - 1; i >= 0; i--) {\n var options = scenes[i].descriptor.options;\n var _options$detachPrevio = options.detachPreviousScreen,\n detachPreviousScreen = _options$detachPrevio === void 0 ? options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== findLastIndex(scenes, function (scene) {\n var cardStyleInterpolator = scene.descriptor.options.cardStyleInterpolator;\n return cardStyleInterpolator === forModalPresentationIOS || (cardStyleInterpolator === null || cardStyleInterpolator === void 0 ? void 0 : cardStyleInterpolator.name) === 'forModalPresentationIOS';\n }) : true : _options$detachPrevio;\n if (detachPreviousScreen === false) {\n activeScreensLimit++;\n } else {\n if (i <= scenes.length - 2) {\n break;\n }\n }\n }\n var floatingHeader = React.createElement(React.Fragment, {\n key: \"header\"\n }, renderHeader({\n mode: 'float',\n layout: layout,\n scenes: scenes,\n getPreviousScene: this.getPreviousScene,\n getFocusedRoute: this.getFocusedRoute,\n onContentHeightChange: this.handleHeaderLayout,\n style: [styles.floating, isFloatHeaderAbsolute && [{\n height: focusedHeaderHeight\n }, styles.absolute]]\n }));\n return React.createElement(Background, null, isFloatHeaderAbsolute ? null : floatingHeader, React.createElement(MaybeScreenContainer, {\n enabled: detachInactiveScreens,\n style: styles.container,\n onLayout: this.handleLayout\n }, routes.map(function (route, index, self) {\n var _scenes, _scenes2;\n var focused = focusedRoute.key === route.key;\n var gesture = gestures[route.key];\n var scene = scenes[index];\n var isScreenActive = 1;\n if (index < self.length - activeScreensLimit - 1) {\n isScreenActive = STATE_INACTIVE;\n } else {\n var sceneForActivity = scenes[self.length - 1];\n var outputValue = index === self.length - 1 ? STATE_ON_TOP : index >= self.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;\n isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({\n inputRange: [0, 1 - EPSILON, 1],\n outputRange: [1, 1, outputValue],\n extrapolate: 'clamp'\n }) : STATE_TRANSITIONING_OR_BELOW_TOP;\n }\n var _scene$descriptor$opt2 = scene.descriptor.options,\n _scene$descriptor$opt3 = _scene$descriptor$opt2.headerShown,\n headerShown = _scene$descriptor$opt3 === void 0 ? true : _scene$descriptor$opt3,\n headerTransparent = _scene$descriptor$opt2.headerTransparent,\n headerStyle = _scene$descriptor$opt2.headerStyle,\n headerTintColor = _scene$descriptor$opt2.headerTintColor,\n freezeOnBlur = _scene$descriptor$opt2.freezeOnBlur;\n var safeAreaInsetTop = insets.top;\n var safeAreaInsetRight = insets.right;\n var safeAreaInsetBottom = insets.bottom;\n var safeAreaInsetLeft = insets.left;\n var headerHeight = headerShown !== false ? headerHeights[route.key] : 0;\n var headerDarkContent;\n if (headerShown) {\n if (typeof headerTintColor === 'string') {\n headerDarkContent = Color(headerTintColor).isDark();\n } else {\n var flattenedHeaderStyle = StyleSheet.flatten(headerStyle);\n if (flattenedHeaderStyle && 'backgroundColor' in flattenedHeaderStyle && typeof flattenedHeaderStyle.backgroundColor === 'string') {\n headerDarkContent = !Color(flattenedHeaderStyle.backgroundColor).isDark();\n }\n }\n }\n var interpolationIndex = getInterpolationIndex(scenes, index);\n var isModal = getIsModal(scene, interpolationIndex, isParentModal);\n var isNextScreenTransparent = ((_scenes = scenes[index + 1]) === null || _scenes === void 0 ? void 0 : _scenes.descriptor.options.presentation) === 'transparentModal';\n var detachCurrentScreen = ((_scenes2 = scenes[index + 1]) === null || _scenes2 === void 0 ? void 0 : _scenes2.descriptor.options.detachPreviousScreen) !== false;\n return React.createElement(MaybeScreen, {\n key: route.key,\n style: StyleSheet.absoluteFill,\n enabled: detachInactiveScreens,\n active: isScreenActive,\n freezeOnBlur: freezeOnBlur,\n pointerEvents: \"box-none\"\n }, React.createElement(CardContainer, {\n index: index,\n interpolationIndex: interpolationIndex,\n modal: isModal,\n active: index === self.length - 1,\n focused: focused,\n closing: closingRouteKeys.includes(route.key),\n layout: layout,\n gesture: gesture,\n scene: scene,\n safeAreaInsetTop: safeAreaInsetTop,\n safeAreaInsetRight: safeAreaInsetRight,\n safeAreaInsetBottom: safeAreaInsetBottom,\n safeAreaInsetLeft: safeAreaInsetLeft,\n onGestureStart: onGestureStart,\n onGestureCancel: onGestureCancel,\n onGestureEnd: onGestureEnd,\n headerHeight: headerHeight,\n isParentHeaderShown: isParentHeaderShown,\n onHeaderHeightChange: _this2.handleHeaderLayout,\n getPreviousScene: _this2.getPreviousScene,\n getFocusedRoute: _this2.getFocusedRoute,\n headerDarkContent: headerDarkContent,\n hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,\n renderHeader: renderHeader,\n renderScene: renderScene,\n onOpenRoute: onOpenRoute,\n onCloseRoute: onCloseRoute,\n onTransitionStart: onTransitionStart,\n onTransitionEnd: onTransitionEnd,\n isNextScreenTransparent: isNextScreenTransparent,\n detachCurrentScreen: detachCurrentScreen\n }));\n })), isFloatHeaderAbsolute ? floatingHeader : null);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if (props.routes === state.routes && props.descriptors === state.descriptors) {\n return null;\n }\n var gestures = props.routes.reduce(function (acc, curr) {\n var descriptor = props.descriptors[curr.key];\n var _ref5 = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {},\n animationEnabled = _ref5.animationEnabled;\n acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false ? getDistanceFromOptions(state.layout, descriptor) : 0);\n return acc;\n }, {});\n var scenes = props.routes.map(function (route, index, self) {\n var _descriptor$options$h;\n var previousRoute = self[index - 1];\n var nextRoute = self[index + 1];\n var oldScene = state.scenes[index];\n var currentGesture = gestures[route.key];\n var previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;\n var nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;\n var descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);\n var nextDescriptor = props.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key] || state.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key];\n var previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key];\n var optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;\n var defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;\n var _optionsForTransition = optionsForTransitionConfig.animationEnabled,\n animationEnabled = _optionsForTransition === void 0 ? Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos' : _optionsForTransition,\n _optionsForTransition2 = optionsForTransitionConfig.gestureEnabled,\n gestureEnabled = _optionsForTransition2 === void 0 ? Platform.OS === 'ios' && animationEnabled : _optionsForTransition2,\n _optionsForTransition3 = optionsForTransitionConfig.gestureDirection,\n gestureDirection = _optionsForTransition3 === void 0 ? defaultTransitionPreset.gestureDirection : _optionsForTransition3,\n _optionsForTransition4 = optionsForTransitionConfig.transitionSpec,\n transitionSpec = _optionsForTransition4 === void 0 ? defaultTransitionPreset.transitionSpec : _optionsForTransition4,\n _optionsForTransition5 = optionsForTransitionConfig.cardStyleInterpolator,\n cardStyleInterpolator = _optionsForTransition5 === void 0 ? animationEnabled === false ? forNoAnimationCard : defaultTransitionPreset.cardStyleInterpolator : _optionsForTransition5,\n _optionsForTransition6 = optionsForTransitionConfig.headerStyleInterpolator,\n headerStyleInterpolator = _optionsForTransition6 === void 0 ? defaultTransitionPreset.headerStyleInterpolator : _optionsForTransition6,\n _optionsForTransition7 = optionsForTransitionConfig.cardOverlayEnabled,\n cardOverlayEnabled = _optionsForTransition7 === void 0 ? Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator) : _optionsForTransition7;\n var headerMode = (_descriptor$options$h = descriptor.options.headerMode) != null ? _descriptor$options$h : !(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'modal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen';\n var scene = {\n route: route,\n descriptor: _objectSpread(_objectSpread({}, descriptor), {}, {\n options: _objectSpread(_objectSpread({}, descriptor.options), {}, {\n animationEnabled: animationEnabled,\n cardOverlayEnabled: cardOverlayEnabled,\n cardStyleInterpolator: cardStyleInterpolator,\n gestureDirection: gestureDirection,\n gestureEnabled: gestureEnabled,\n headerStyleInterpolator: headerStyleInterpolator,\n transitionSpec: transitionSpec,\n headerMode: headerMode\n })\n }),\n progress: {\n current: getProgressFromGesture(currentGesture, state.layout, descriptor),\n next: nextGesture && (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor) : undefined,\n previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor) : undefined\n },\n __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]\n };\n if (oldScene && scene.__memo.every(function (it, i) {\n return oldScene.__memo[i] === it;\n })) {\n return oldScene;\n }\n return scene;\n });\n return {\n routes: props.routes,\n scenes: scenes,\n gestures: gestures,\n descriptors: props.descriptors,\n headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)\n };\n }\n }]);\n return CardStack;\n}(React.Component);\nexport { CardStack as default };\nvar styles = StyleSheet.create({\n container: {\n flex: 1\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0\n },\n floating: {\n zIndex: 1\n }\n});","map":{"version":3,"sources":["views/Stack/CardStack.tsx"],"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","Color","React","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","DefaultTransition","ModalFadeTransition","ModalTransition","findLastIndex","getDistanceForDirection","MaybeScreen","MaybeScreenContainer","getIsModalPresentation","CardContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","StyleSheet","flatten","height","route","key","getDistanceFromOptions","presentation","gestureDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","props","state","routes","descriptors","gestures","animationEnabled","Animated","Value","openingRouteKeys","includes","map","self","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","undefined","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","Platform","OS","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","initialMetrics","frame","handleLayout","e","nativeEvent","setState","handleHeaderLayout","previousHeight","getFocusedRoute","getPreviousScene","getPreviousRoute","previousScene","find","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","renderScene","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","name","floatingHeader","mode","onContentHeightChange","styles","floating","absolute","container","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","headerTintColor","freezeOnBlur","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","headerDarkContent","isDark","flattenedHeaderStyle","backgroundColor","isNextScreenTransparent","detachCurrentScreen","absoluteFill","create","flex","position","zIndex"],"mappings":"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","sourceRoot":"../../../../src","sourcesContent":["import { Background, getDefaultHeaderHeight, SafeAreaProviderCompat } from '@react-navigation/elements';\nimport Color from 'color';\nimport * as React from 'react';\nimport { Animated, Platform, StyleSheet } from 'react-native';\nimport { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from '../../TransitionConfigs/CardStyleInterpolators';\nimport { DefaultTransition, ModalFadeTransition, ModalTransition } from '../../TransitionConfigs/TransitionPresets';\nimport findLastIndex from '../../utils/findLastIndex';\nimport getDistanceForDirection from '../../utils/getDistanceForDirection';\nimport { MaybeScreen, MaybeScreenContainer } from '../Screens';\nimport { getIsModalPresentation } from './Card';\nimport CardContainer from './CardContainer';\nconst EPSILON = 1e-5;\nconst STATE_INACTIVE = 0;\nconst STATE_TRANSITIONING_OR_BELOW_TOP = 1;\nconst STATE_ON_TOP = 2;\nconst FALLBACK_DESCRIPTOR = Object.freeze({\n options: {}\n});\nconst getInterpolationIndex = (scenes, index) => {\n const {\n cardStyleInterpolator\n } = scenes[index].descriptor.options;\n\n // Start from current card and count backwards the number of cards with same interpolation\n let interpolationIndex = 0;\n for (let i = index - 1; i >= 0; i--) {\n var _scenes$i;\n const cardStyleInterpolatorCurrent = (_scenes$i = scenes[i]) === null || _scenes$i === void 0 ? void 0 : _scenes$i.descriptor.options.cardStyleInterpolator;\n if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {\n break;\n }\n interpolationIndex++;\n }\n return interpolationIndex;\n};\nconst getIsModal = (scene, interpolationIndex, isParentModal) => {\n if (isParentModal) {\n return true;\n }\n const {\n cardStyleInterpolator\n } = scene.descriptor.options;\n const isModalPresentation = getIsModalPresentation(cardStyleInterpolator);\n const isModal = isModalPresentation && interpolationIndex !== 0;\n return isModal;\n};\nconst getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, layout, previous) => {\n return scenes.reduce((acc, curr, index) => {\n const {\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n headerStyle\n } = curr.descriptor.options;\n const style = StyleSheet.flatten(headerStyle || {});\n const height = 'height' in style && typeof style.height === 'number' ? style.height : previous[curr.route.key];\n const interpolationIndex = getInterpolationIndex(scenes, index);\n const isModal = getIsModal(curr, interpolationIndex, isParentModal);\n acc[curr.route.key] = typeof height === 'number' ? height : getDefaultHeaderHeight(layout, isModal, headerStatusBarHeight);\n return acc;\n }, {});\n};\nconst getDistanceFromOptions = (layout, descriptor) => {\n const {\n presentation,\n gestureDirection = presentation === 'modal' ? ModalTransition.gestureDirection : DefaultTransition.gestureDirection\n } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};\n return getDistanceForDirection(layout, gestureDirection);\n};\nconst getProgressFromGesture = (gesture, layout, descriptor) => {\n const distance = getDistanceFromOptions({\n // Make sure that we have a non-zero distance, otherwise there will be incorrect progress\n // This causes blank screen on web if it was previously inside container with display: none\n width: Math.max(1, layout.width),\n height: Math.max(1, layout.height)\n }, descriptor);\n if (distance > 0) {\n return gesture.interpolate({\n inputRange: [0, distance],\n outputRange: [1, 0]\n });\n }\n return gesture.interpolate({\n inputRange: [distance, 0],\n outputRange: [0, 1]\n });\n};\nexport default class CardStack extends React.Component {\n static getDerivedStateFromProps(props, state) {\n if (props.routes === state.routes && props.descriptors === state.descriptors) {\n return null;\n }\n const gestures = props.routes.reduce((acc, curr) => {\n const descriptor = props.descriptors[curr.key];\n const {\n animationEnabled\n } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};\n acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false ? getDistanceFromOptions(state.layout, descriptor) : 0);\n return acc;\n }, {});\n const scenes = props.routes.map((route, index, self) => {\n const previousRoute = self[index - 1];\n const nextRoute = self[index + 1];\n const oldScene = state.scenes[index];\n const currentGesture = gestures[route.key];\n const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;\n const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;\n const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);\n const nextDescriptor = props.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key] || state.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key];\n const previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key];\n\n // When a screen is not the last, it should use next screen's transition config\n // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right\n // For example combining a slide and a modal transition would look wrong otherwise\n // With this approach, combining different transition styles in the same navigator mostly looks right\n // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),\n // but majority of the transitions look alright\n const optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;\n let defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;\n const {\n animationEnabled = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos',\n gestureEnabled = Platform.OS === 'ios' && animationEnabled,\n gestureDirection = defaultTransitionPreset.gestureDirection,\n transitionSpec = defaultTransitionPreset.transitionSpec,\n cardStyleInterpolator = animationEnabled === false ? forNoAnimationCard : defaultTransitionPreset.cardStyleInterpolator,\n headerStyleInterpolator = defaultTransitionPreset.headerStyleInterpolator,\n cardOverlayEnabled = Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)\n } = optionsForTransitionConfig;\n const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'modal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');\n const scene = {\n route,\n descriptor: {\n ...descriptor,\n options: {\n ...descriptor.options,\n animationEnabled,\n cardOverlayEnabled,\n cardStyleInterpolator,\n gestureDirection,\n gestureEnabled,\n headerStyleInterpolator,\n transitionSpec,\n headerMode\n }\n },\n progress: {\n current: getProgressFromGesture(currentGesture, state.layout, descriptor),\n next: nextGesture && (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor) : undefined,\n previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor) : undefined\n },\n __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]\n };\n if (oldScene && scene.__memo.every((it, i) => {\n // @ts-expect-error: we haven't added __memo to the annotation to prevent usage elsewhere\n return oldScene.__memo[i] === it;\n })) {\n return oldScene;\n }\n return scene;\n });\n return {\n routes: props.routes,\n scenes,\n gestures,\n descriptors: props.descriptors,\n headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)\n };\n }\n constructor(props) {\n super(props);\n this.state = {\n routes: [],\n scenes: [],\n gestures: {},\n layout: SafeAreaProviderCompat.initialMetrics.frame,\n descriptors: this.props.descriptors,\n // Used when card's header is null and mode is float to make transition\n // between screens with headers and those without headers smooth.\n // This is not a great heuristic here. We don't know synchronously\n // on mount what the header height is so we have just used the most\n // common cases here.\n headerHeights: {}\n };\n }\n handleLayout = e => {\n const {\n height,\n width\n } = e.nativeEvent.layout;\n const layout = {\n width,\n height\n };\n this.setState((state, props) => {\n if (height === state.layout.height && width === state.layout.width) {\n return null;\n }\n return {\n layout,\n headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)\n };\n });\n };\n handleHeaderLayout = _ref => {\n let {\n route,\n height\n } = _ref;\n this.setState(_ref2 => {\n let {\n headerHeights\n } = _ref2;\n const previousHeight = headerHeights[route.key];\n if (previousHeight === height) {\n return null;\n }\n return {\n headerHeights: {\n ...headerHeights,\n [route.key]: height\n }\n };\n });\n };\n getFocusedRoute = () => {\n const {\n state\n } = this.props;\n return state.routes[state.index];\n };\n getPreviousScene = _ref3 => {\n let {\n route\n } = _ref3;\n const {\n getPreviousRoute\n } = this.props;\n const {\n scenes\n } = this.state;\n const previousRoute = getPreviousRoute({\n route\n });\n if (previousRoute) {\n const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);\n return previousScene;\n }\n return undefined;\n };\n render() {\n const {\n insets,\n state,\n routes,\n closingRouteKeys,\n onOpenRoute,\n onCloseRoute,\n renderHeader,\n renderScene,\n isParentHeaderShown,\n isParentModal,\n onTransitionStart,\n onTransitionEnd,\n onGestureStart,\n onGestureEnd,\n onGestureCancel,\n detachInactiveScreens = Platform.OS === 'web' || Platform.OS === 'android' || Platform.OS === 'ios'\n } = this.props;\n const {\n scenes,\n layout,\n gestures,\n headerHeights\n } = this.state;\n const focusedRoute = state.routes[state.index];\n const focusedHeaderHeight = headerHeights[focusedRoute.key];\n const isFloatHeaderAbsolute = this.state.scenes.slice(-2).some(scene => {\n const options = scene.descriptor.options ?? {};\n const {\n headerMode,\n headerTransparent,\n headerShown = true\n } = options;\n if (headerTransparent || headerShown === false || headerMode === 'screen') {\n return true;\n }\n return false;\n });\n let activeScreensLimit = 1;\n for (let i = scenes.length - 1; i >= 0; i--) {\n const {\n options\n } = scenes[i].descriptor;\n const {\n // By default, we don't want to detach the previous screen of the active one for modals\n detachPreviousScreen = options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== findLastIndex(scenes, scene => {\n const {\n cardStyleInterpolator\n } = scene.descriptor.options;\n return cardStyleInterpolator === forModalPresentationIOS || (cardStyleInterpolator === null || cardStyleInterpolator === void 0 ? void 0 : cardStyleInterpolator.name) === 'forModalPresentationIOS';\n }) : true\n } = options;\n if (detachPreviousScreen === false) {\n activeScreensLimit++;\n } else {\n // Check at least last 2 screens before stopping\n // This will make sure that screen isn't detached when another screen is animating on top of the transparent one\n // For example, (Opaque -> Transparent -> Opaque)\n if (i <= scenes.length - 2) {\n break;\n }\n }\n }\n const floatingHeader = /*#__PURE__*/React.createElement(React.Fragment, {\n key: \"header\"\n }, renderHeader({\n mode: 'float',\n layout,\n scenes,\n getPreviousScene: this.getPreviousScene,\n getFocusedRoute: this.getFocusedRoute,\n onContentHeightChange: this.handleHeaderLayout,\n style: [styles.floating, isFloatHeaderAbsolute && [\n // Without this, the header buttons won't be touchable on Android when headerTransparent: true\n {\n height: focusedHeaderHeight\n }, styles.absolute]]\n }));\n return /*#__PURE__*/React.createElement(Background, null, isFloatHeaderAbsolute ? null : floatingHeader, /*#__PURE__*/React.createElement(MaybeScreenContainer, {\n enabled: detachInactiveScreens,\n style: styles.container,\n onLayout: this.handleLayout\n }, routes.map((route, index, self) => {\n var _scenes, _scenes2;\n const focused = focusedRoute.key === route.key;\n const gesture = gestures[route.key];\n const scene = scenes[index];\n\n // For the screens that shouldn't be active, the value is 0\n // For those that should be active, but are not the top screen, the value is 1\n // For those on top of the stack and with interaction enabled, the value is 2\n // For the old implementation, it stays the same it was\n let isScreenActive = 1;\n if (index < self.length - activeScreensLimit - 1) {\n // screen should be inactive because it is too deep in the stack\n isScreenActive = STATE_INACTIVE;\n } else {\n const sceneForActivity = scenes[self.length - 1];\n const outputValue = index === self.length - 1 ? STATE_ON_TOP // the screen is on top after the transition\n : index >= self.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit\n : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit\n isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({\n inputRange: [0, 1 - EPSILON, 1],\n outputRange: [1, 1, outputValue],\n extrapolate: 'clamp'\n }) : STATE_TRANSITIONING_OR_BELOW_TOP;\n }\n const {\n headerShown = true,\n headerTransparent,\n headerStyle,\n headerTintColor,\n freezeOnBlur\n } = scene.descriptor.options;\n const safeAreaInsetTop = insets.top;\n const safeAreaInsetRight = insets.right;\n const safeAreaInsetBottom = insets.bottom;\n const safeAreaInsetLeft = insets.left;\n const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;\n let headerDarkContent;\n if (headerShown) {\n if (typeof headerTintColor === 'string') {\n headerDarkContent = Color(headerTintColor).isDark();\n } else {\n const flattenedHeaderStyle = StyleSheet.flatten(headerStyle);\n if (flattenedHeaderStyle && 'backgroundColor' in flattenedHeaderStyle && typeof flattenedHeaderStyle.backgroundColor === 'string') {\n headerDarkContent = !Color(flattenedHeaderStyle.backgroundColor).isDark();\n }\n }\n }\n\n // Start from current card and count backwards the number of cards with same interpolation\n const interpolationIndex = getInterpolationIndex(scenes, index);\n const isModal = getIsModal(scene, interpolationIndex, isParentModal);\n const isNextScreenTransparent = ((_scenes = scenes[index + 1]) === null || _scenes === void 0 ? void 0 : _scenes.descriptor.options.presentation) === 'transparentModal';\n const detachCurrentScreen = ((_scenes2 = scenes[index + 1]) === null || _scenes2 === void 0 ? void 0 : _scenes2.descriptor.options.detachPreviousScreen) !== false;\n return /*#__PURE__*/React.createElement(MaybeScreen, {\n key: route.key,\n style: StyleSheet.absoluteFill,\n enabled: detachInactiveScreens,\n active: isScreenActive,\n freezeOnBlur: freezeOnBlur,\n pointerEvents: \"box-none\"\n }, /*#__PURE__*/React.createElement(CardContainer, {\n index: index,\n interpolationIndex: interpolationIndex,\n modal: isModal,\n active: index === self.length - 1,\n focused: focused,\n closing: closingRouteKeys.includes(route.key),\n layout: layout,\n gesture: gesture,\n scene: scene,\n safeAreaInsetTop: safeAreaInsetTop,\n safeAreaInsetRight: safeAreaInsetRight,\n safeAreaInsetBottom: safeAreaInsetBottom,\n safeAreaInsetLeft: safeAreaInsetLeft,\n onGestureStart: onGestureStart,\n onGestureCancel: onGestureCancel,\n onGestureEnd: onGestureEnd,\n headerHeight: headerHeight,\n isParentHeaderShown: isParentHeaderShown,\n onHeaderHeightChange: this.handleHeaderLayout,\n getPreviousScene: this.getPreviousScene,\n getFocusedRoute: this.getFocusedRoute,\n headerDarkContent: headerDarkContent,\n hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,\n renderHeader: renderHeader,\n renderScene: renderScene,\n onOpenRoute: onOpenRoute,\n onCloseRoute: onCloseRoute,\n onTransitionStart: onTransitionStart,\n onTransitionEnd: onTransitionEnd,\n isNextScreenTransparent: isNextScreenTransparent,\n detachCurrentScreen: detachCurrentScreen\n }));\n })), isFloatHeaderAbsolute ? floatingHeader : null);\n }\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0\n },\n floating: {\n zIndex: 1\n }\n});\n//# sourceMappingURL=CardStack.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f6759251b87097ea445898a1bf8216a1.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f6759251b87097ea445898a1bf8216a1.json new file mode 100644 index 00000000..970a8600 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f6759251b87097ea445898a1bf8216a1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport createElement from \"../createElement\";\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\n}\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(function (e) {\n if (e && e.currentTarget !== e.target) {\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n if (onDismiss) {\n onDismiss();\n }\n }\n }, [onDismiss, onShow, visible]);\n React.useEffect(function () {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children: children\n }) : null;\n}\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: [{\n translateY: '0%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '100%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '0%'\n }]\n }\n }\n },\n slideOut: {\n transform: [{\n translateY: '100%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '0%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '100%'\n }]\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","map":{"version":3,"names":["React","StyleSheet","createElement","ANIMATION_DURATION","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","styles","container","hidden","ModalAnimation","props","children","onDismiss","onShow","_React$useState","useState","isRendering","setIsRendering","wasVisible","useRef","isAnimated","animationEndCallback","useCallback","e","currentTarget","target","useEffect","current","style","onAnimationEnd","create","position","top","right","bottom","left","zIndex","animatedIn","animationDuration","animationTimingFunction","animatedOut","pointerEvents","fadeIn","opacity","animationKeyframes","fadeOut","slideIn","transform","translateY","slideOut"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js"],"sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\n\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n\n return visible ? styles.container : styles.hidden;\n}\n\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n\n var wasVisible = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n\n if (onDismiss) {\n onDismiss();\n }\n }\n }, [onDismiss, onShow, visible]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\n\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: [{\n translateY: '0%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '100%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '0%'\n }]\n }\n }\n },\n slideOut: {\n transform: [{\n translateY: '100%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '0%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '100%'\n }]\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;"],"mappings":"AASA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU;AACjB,OAAOC,aAAa;AACpB,IAAIC,kBAAkB,GAAG,GAAG;AAE5B,SAASC,iBAAiB,CAACC,aAAa,EAAEC,OAAO,EAAE;EACjD,IAAID,aAAa,KAAK,OAAO,EAAE;IAC7B,OAAOC,OAAO,GAAGC,qBAAqB,GAAGC,sBAAsB;EACjE;EAEA,IAAIH,aAAa,KAAK,MAAM,EAAE;IAC5B,OAAOC,OAAO,GAAGG,oBAAoB,GAAGC,qBAAqB;EAC/D;EAEA,OAAOJ,OAAO,GAAGK,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACE,MAAM;AACnD;AAEA,SAASC,cAAc,CAACC,KAAK,EAAE;EAC7B,IAAIV,aAAa,GAAGU,KAAK,CAACV,aAAa;IACnCW,QAAQ,GAAGD,KAAK,CAACC,QAAQ;IACzBC,SAAS,GAAGF,KAAK,CAACE,SAAS;IAC3BC,MAAM,GAAGH,KAAK,CAACG,MAAM;IACrBZ,OAAO,GAAGS,KAAK,CAACT,OAAO;EAE3B,IAAIa,eAAe,GAAGnB,KAAK,CAACoB,QAAQ,CAAC,KAAK,CAAC;IACvCC,WAAW,GAAGF,eAAe,CAAC,CAAC,CAAC;IAChCG,cAAc,GAAGH,eAAe,CAAC,CAAC,CAAC;EAEvC,IAAII,UAAU,GAAGvB,KAAK,CAACwB,MAAM,CAAC,KAAK,CAAC;EACpC,IAAIC,UAAU,GAAGpB,aAAa,IAAIA,aAAa,KAAK,MAAM;EAC1D,IAAIqB,oBAAoB,GAAG1B,KAAK,CAAC2B,WAAW,CAAC,UAAAC,CAAC,EAAI;IAChD,IAAIA,CAAC,IAAIA,CAAC,CAACC,aAAa,KAAKD,CAAC,CAACE,MAAM,EAAE;MAGrC;IACF;IAEA,IAAIxB,OAAO,EAAE;MACX,IAAIY,MAAM,EAAE;QACVA,MAAM,EAAE;MACV;IACF,CAAC,MAAM;MACLI,cAAc,CAAC,KAAK,CAAC;MAErB,IAAIL,SAAS,EAAE;QACbA,SAAS,EAAE;MACb;IACF;EACF,CAAC,EAAE,CAACA,SAAS,EAAEC,MAAM,EAAEZ,OAAO,CAAC,CAAC;EAChCN,KAAK,CAAC+B,SAAS,CAAC,YAAM;IACpB,IAAIzB,OAAO,EAAE;MACXgB,cAAc,CAAC,IAAI,CAAC;IACtB;IAEA,IAAIhB,OAAO,KAAKiB,UAAU,CAACS,OAAO,IAAI,CAACP,UAAU,EAAE;MAEjDC,oBAAoB,EAAE;IACxB;IAEAH,UAAU,CAACS,OAAO,GAAG1B,OAAO;EAC9B,CAAC,EAAE,CAACmB,UAAU,EAAEnB,OAAO,EAAEoB,oBAAoB,CAAC,CAAC;EAC/C,OAAOL,WAAW,IAAIf,OAAO,GAAGJ,aAAa,CAAC,KAAK,EAAE;IACnD+B,KAAK,EAAEZ,WAAW,GAAGjB,iBAAiB,CAACC,aAAa,EAAEC,OAAO,CAAC,GAAGK,MAAM,CAACE,MAAM;IAC9EqB,cAAc,EAAER,oBAAoB;IACpCV,QAAQ,EAARA;EACF,CAAC,CAAC,GAAG,IAAI;AACX;AAEA,IAAIL,MAAM,GAAGV,UAAU,CAACkC,MAAM,CAAC;EAC7BvB,SAAS,EAAE;IACTwB,QAAQ,EAAE,OAAO;IACjBC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVC,iBAAiB,EAAExC,kBAAkB,GAAG,IAAI;IAC5CyC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,WAAW,EAAE;IACXC,aAAa,EAAE,MAAM;IACrBH,iBAAiB,EAAExC,kBAAkB,GAAG,IAAI;IAC5CyC,uBAAuB,EAAE;EAC3B,CAAC;EACDG,MAAM,EAAE;IACNC,OAAO,EAAE,CAAC;IACVC,kBAAkB,EAAE;MAClB,IAAI,EAAE;QACJD,OAAO,EAAE;MACX,CAAC;MACD,MAAM,EAAE;QACNA,OAAO,EAAE;MACX;IACF;EACF,CAAC;EACDE,OAAO,EAAE;IACPF,OAAO,EAAE,CAAC;IACVC,kBAAkB,EAAE;MAClB,IAAI,EAAE;QACJD,OAAO,EAAE;MACX,CAAC;MACD,MAAM,EAAE;QACNA,OAAO,EAAE;MACX;IACF;EACF,CAAC;EACDG,OAAO,EAAE;IACPC,SAAS,EAAE,CAAC;MACVC,UAAU,EAAE;IACd,CAAC,CAAC;IACFJ,kBAAkB,EAAE;MAClB,IAAI,EAAE;QACJG,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH,CAAC;MACD,MAAM,EAAE;QACND,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH;IACF;EACF,CAAC;EACDC,QAAQ,EAAE;IACRF,SAAS,EAAE,CAAC;MACVC,UAAU,EAAE;IACd,CAAC,CAAC;IACFJ,kBAAkB,EAAE;MAClB,IAAI,EAAE;QACJG,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH,CAAC;MACD,MAAM,EAAE;QACND,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE;QACd,CAAC;MACH;IACF;EACF,CAAC;EACDxC,MAAM,EAAE;IACNmC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AACF,IAAIzC,qBAAqB,GAAG,CAACI,MAAM,CAACC,SAAS,EAAED,MAAM,CAAC+B,UAAU,EAAE/B,MAAM,CAACwC,OAAO,CAAC;AACjF,IAAI3C,sBAAsB,GAAG,CAACG,MAAM,CAACC,SAAS,EAAED,MAAM,CAACkC,WAAW,EAAElC,MAAM,CAAC2C,QAAQ,CAAC;AACpF,IAAI7C,oBAAoB,GAAG,CAACE,MAAM,CAACC,SAAS,EAAED,MAAM,CAAC+B,UAAU,EAAE/B,MAAM,CAACoC,MAAM,CAAC;AAC/E,IAAIrC,qBAAqB,GAAG,CAACC,MAAM,CAACC,SAAS,EAAED,MAAM,CAACkC,WAAW,EAAElC,MAAM,CAACuC,OAAO,CAAC;AAClF,eAAepC,cAAc"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f84c012192098a86357a6520f1fc03fb.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f84c012192098a86357a6520f1fc03fb.json new file mode 100644 index 00000000..1a5e0e2c --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f84c012192098a86357a6520f1fc03fb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\nimport * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nimport canUseDOM from \"../../modules/canUseDom\";\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n return 'env';\n}();\nvar SafeAreaView = React.forwardRef(function (props, ref) {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: StyleSheet.compose(styles.root, style)\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","StyleSheet","View","canUseDOM","cssFunction","window","CSS","supports","SafeAreaView","forwardRef","props","ref","style","rest","createElement","compose","styles","root","displayName","create","paddingTop","paddingRight","paddingBottom","paddingLeft"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/SafeAreaView/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\n\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n\n return 'env';\n}();\n\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: StyleSheet.compose(styles.root, style)\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,OAAO,CAAC;AAWzB,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU;AACjB,OAAOC,IAAI;AACX,OAAOC,SAAS;AAEhB,IAAIC,WAAW,GAAG,YAAY;EAC5B,IAAID,SAAS,IAAIE,MAAM,CAACC,GAAG,IAAID,MAAM,CAACC,GAAG,CAACC,QAAQ,IAAIF,MAAM,CAACC,GAAG,CAACC,QAAQ,CAAC,oCAAoC,CAAC,EAAE;IAC/G,OAAO,UAAU;EACnB;EAEA,OAAO,KAAK;AACd,CAAC,EAAE;AAEH,IAAIC,YAAY,GAAgBR,KAAK,CAACS,UAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC/D,IAAIC,KAAK,GAAGF,KAAK,CAACE,KAAK;IACnBC,IAAI,GAAGf,6BAA6B,CAACY,KAAK,EAAEX,SAAS,CAAC;EAE1D,OAAoBC,KAAK,CAACc,aAAa,CAACZ,IAAI,EAAEL,QAAQ,CAAC,CAAC,CAAC,EAAEgB,IAAI,EAAE;IAC/DF,GAAG,EAAEA,GAAG;IACRC,KAAK,EAAEX,UAAU,CAACc,OAAO,CAACC,MAAM,CAACC,IAAI,EAAEL,KAAK;EAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACFJ,YAAY,CAACU,WAAW,GAAG,cAAc;AACzC,IAAIF,MAAM,GAAGf,UAAU,CAACkB,MAAM,CAAC;EAC7BF,IAAI,EAAE;IACJG,UAAU,EAAEhB,WAAW,GAAG,uBAAuB;IACjDiB,YAAY,EAAEjB,WAAW,GAAG,yBAAyB;IACrDkB,aAAa,EAAElB,WAAW,GAAG,0BAA0B;IACvDmB,WAAW,EAAEnB,WAAW,GAAG;EAC7B;AACF,CAAC,CAAC;AACF,eAAeI,YAAY"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/f8c190e3fde536dd2f20ae9bde3025b5.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/f8c190e3fde536dd2f20ae9bde3025b5.json new file mode 100644 index 00000000..adba0f8f --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/f8c190e3fde536dd2f20ae9bde3025b5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createIconSet from \"./lib/create-icon-set\";\nimport glyphMap from \"./glyphmaps/Entypo.json\";\nvar iconSet = createIconSet(glyphMap, 'Entypo', 'Entypo.ttf');\nexport default iconSet;\nvar Button = iconSet.Button,\n getImageSource = iconSet.getImageSource,\n getImageSourceSync = iconSet.getImageSourceSync;\nexport { Button, getImageSource, getImageSourceSync };","map":{"version":3,"names":["createIconSet","glyphMap","iconSet","Button","getImageSource","getImageSourceSync"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-vector-icons/Entypo.js"],"sourcesContent":["/**\n * Entypo icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/Entypo.json';\n\nconst iconSet = createIconSet(glyphMap, 'Entypo', 'Entypo.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n"],"mappings":"AAKA,OAAOA,aAAa;AACpB,OAAOC,QAAQ;AAEf,IAAMC,OAAO,GAAGF,aAAa,CAACC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;AAE/D,eAAeC,OAAO;AACf,IACLC,MAAM,GAGJD,OAAO,CAHTC,MAAM;EACNC,cAAc,GAEZF,OAAO,CAFTE,cAAc;EACdC,kBAAkB,GAChBH,OAAO,CADTG,kBAAkB;AACR"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/fa7ff1bea7eed5c5f3c52a5052a7ba3f.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/fa7ff1bea7eed5c5f3c52a5052a7ba3f.json new file mode 100644 index 00000000..7fc6c732 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/fa7ff1bea7eed5c5f3c52a5052a7ba3f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { FETCH_WEATHER } from \"../constants\";\nexport var setWeather = function setWeather(weather) {\n return {\n type: FETCH_WEATHER,\n payload: weather\n };\n};","map":{"version":3,"names":["FETCH_WEATHER","setWeather","weather","type","payload"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/redux/actions/setWeather.ts"],"sourcesContent":["import { Weather } from \"../../data/stub\";\nimport { FETCH_WEATHER } from \"../constants\";\n\nexport const setWeather = (weather: Weather | null) => {\n return {\n type: FETCH_WEATHER,\n payload: weather,\n };\n }"],"mappings":"AACA,SAASA,aAAa;AAEtB,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAIC,OAAuB,EAAK;EACnD,OAAO;IACLC,IAAI,EAAEH,aAAa;IACnBI,OAAO,EAAEF;EACX,CAAC;AACH,CAAC"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/.expo/web/cache/development/babel-loader/fcb028d9331c9a5c7c9888acf704a706.json b/iut-expo-starter/.expo/web/cache/development/babel-loader/fcb028d9331c9a5c7c9888acf704a706.json new file mode 100644 index 00000000..e8e06480 --- /dev/null +++ b/iut-expo-starter/.expo/web/cache/development/babel-loader/fcb028d9331c9a5c7c9888acf704a706.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\nimport * as React from 'react';\nimport View from \"../View\";\nvar KeyboardAvoidingView = function (_React$Component) {\n _inherits(KeyboardAvoidingView, _React$Component);\n var _super = _createSuper(KeyboardAvoidingView);\n function KeyboardAvoidingView() {\n var _this;\n _classCallCheck(this, KeyboardAvoidingView);\n _this = _super.apply(this, arguments);\n _this.frame = null;\n _this.onLayout = function (event) {\n _this.frame = event.nativeEvent.layout;\n };\n return _this;\n }\n _createClass(KeyboardAvoidingView, [{\n key: \"relativeKeyboardHeight\",\n value: function relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n }, {\n key: \"onKeyboardChange\",\n value: function onKeyboardChange(event) {}\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n }]);\n return KeyboardAvoidingView;\n}(React.Component);\nexport default KeyboardAvoidingView;","map":{"version":3,"names":["_extends","_objectWithoutPropertiesLoose","_excluded","React","View","KeyboardAvoidingView","arguments","frame","onLayout","event","nativeEvent","layout","keyboardFrame","keyboardY","screenY","props","keyboardVerticalOffset","Math","max","y","height","_this$props","behavior","contentContainerStyle","rest","createElement","Component"],"sources":["/Users/thomaschazot/Documents/But2A/LaSuperMeteo/iut-expo-starter/node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport View from '../View';\n\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n\n if (!frame || !keyboardFrame) {\n return 0;\n }\n\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n\n onKeyboardChange(event) {}\n\n render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n\n}\n\nexport default KeyboardAvoidingView;"],"mappings":";;;;;;;AAAA,OAAOA,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,6BAA6B,MAAM,qDAAqD;AAC/F,IAAIC,SAAS,GAAG,CAAC,UAAU,EAAE,uBAAuB,EAAE,wBAAwB,CAAC;AAW/E,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI;AAAgB,IAErBC,oBAAoB;EAAA;EAAA;EACxB,gCAAc;IAAA;IAAA;IACZ,2BAASC,SAAS;IAClB,MAAKC,KAAK,GAAG,IAAI;IAEjB,MAAKC,QAAQ,GAAG,UAAAC,KAAK,EAAI;MACvB,MAAKF,KAAK,GAAGE,KAAK,CAACC,WAAW,CAACC,MAAM;IACvC,CAAC;IAAC;EACJ;EAAC;IAAA;IAAA,OAED,gCAAuBC,aAAa,EAAE;MACpC,IAAIL,KAAK,GAAG,IAAI,CAACA,KAAK;MAEtB,IAAI,CAACA,KAAK,IAAI,CAACK,aAAa,EAAE;QAC5B,OAAO,CAAC;MACV;MAEA,IAAIC,SAAS,GAAGD,aAAa,CAACE,OAAO,IAAI,IAAI,CAACC,KAAK,CAACC,sBAAsB,IAAI,CAAC,CAAC;MAChF,OAAOC,IAAI,CAACC,GAAG,CAACX,KAAK,CAACY,CAAC,GAAGZ,KAAK,CAACa,MAAM,GAAGP,SAAS,EAAE,CAAC,CAAC;IACxD;EAAC;IAAA;IAAA,OAED,0BAAiBJ,KAAK,EAAE,CAAC;EAAC;IAAA;IAAA,OAE1B,kBAAS;MACP,IAAIY,WAAW,GAAG,IAAI,CAACN,KAAK;QACxBO,QAAQ,GAAGD,WAAW,CAACC,QAAQ;QAC/BC,qBAAqB,GAAGF,WAAW,CAACE,qBAAqB;QACzDP,sBAAsB,GAAGK,WAAW,CAACL,sBAAsB;QAC3DQ,IAAI,GAAGvB,6BAA6B,CAACoB,WAAW,EAAEnB,SAAS,CAAC;MAEhE,OAAoBC,KAAK,CAACsB,aAAa,CAACrB,IAAI,EAAEJ,QAAQ,CAAC;QACrDQ,QAAQ,EAAE,IAAI,CAACA;MACjB,CAAC,EAAEgB,IAAI,CAAC,CAAC;IACX;EAAC;EAAA;AAAA,EAjCgCrB,KAAK,CAACuB,SAAS;AAqClD,eAAerB,oBAAoB"},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/iut-expo-starter/redux/reducers/appReducer.ts b/iut-expo-starter/redux/reducers/appReducer.ts index 84166259..d93b33f3 100644 --- a/iut-expo-starter/redux/reducers/appReducer.ts +++ b/iut-expo-starter/redux/reducers/appReducer.ts @@ -5,7 +5,8 @@ const initialState = { weatherList : [], weatherListSearched : [], favoriteCity: null, - favoriteWeather: null + favoriteWeather: null, + conditionCodes: null } const appReducer = (state = initialState, action) => { diff --git a/iut-expo-starter/screens/Home.tsx b/iut-expo-starter/screens/Home.tsx index 3ab3e7d1..da4f80a1 100644 --- a/iut-expo-starter/screens/Home.tsx +++ b/iut-expo-starter/screens/Home.tsx @@ -42,7 +42,7 @@ export default function Home(navigation){ } else{ return( - Pas de city + Vous n'avez pas ajouté de ville en favoris ) } })()} @@ -60,6 +60,7 @@ const leStyle = StyleSheet.create({ fontStyle: 'italic', fontSize: 10, alignSelf: "center", + alignContent: "center", marginLeft: 7 }, }); \ No newline at end of file From c331bc75591aba9cb9fe1ea581480025f5bf7d8d Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Sun, 9 Apr 2023 23:40:00 +0200 Subject: [PATCH 02/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/Sketch.drawio | 169 ++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 documentation/Sketch.drawio diff --git a/documentation/Sketch.drawio b/documentation/Sketch.drawio new file mode 100644 index 00000000..b4ffe028 --- /dev/null +++ b/documentation/Sketch.drawio @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 6ab7083944c4a40d2a2e9db84e43236c9277c97b Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Sun, 9 Apr 2023 23:49:13 +0200 Subject: [PATCH 03/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...apture d’écran 2023-04-09 à 23.48.24.png | Bin 0 -> 51051 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/Capture d’écran 2023-04-09 à 23.48.24.png diff --git a/documentation/Capture d’écran 2023-04-09 à 23.48.24.png b/documentation/Capture d’écran 2023-04-09 à 23.48.24.png new file mode 100644 index 0000000000000000000000000000000000000000..749cf7f1b188873988871306318c719c7f469490 GIT binary patch literal 51051 zcmdSAWmH_<)+UMu4X(l6Jp^|Mkl^kF3ju-`?(QBeXyI-N?hXk~a0nKla0ni(H<0(7 zbHA_e=sRxz>8>$~+U#0;ttm_9^UPUcN($1?kzXJ~K|wv2m623|f`V>>f`S!AdGkxaSL>`9h-L~JY3AP8f zC!?wN>3l9Wgit>e>?Cva)JS{(X$&833+3O-rh zUvh#V?1u-a?PlHHPrY=#@nnUPdD*kw;%P(Lg8IVeldUHd5 zQ!M>i_489qG3F`ry!-5gE1uy~BY8ABM}qHLlwA3uVr}%vT(|ek{r7b(dV@-+OtWe= zJ>cpIzV4=_p;ThlUPg=yq)Dn=^69|K0AIS35Q2PDS#j)NcSRIDS@2fRK;+JA_AuQP zuL60sQiuq_E0bJsogYJ2k;Mv;kY|rEcEws^v&e7?kLIW|iAzI+UYUk!%fb63Q6=>z z_BF8$%D!VfH8ek-L-vxZrDqaGGDhyf3-a%g300?X9vTfp(Y%ag_+~7Hb`?rfJ#oWA z9=(Ag0rTsRmQgS-ug0ojQnJWP!;h*-z9hvR*C;h>5*ufo^9{t>cXq6^G;Oh|?0Maz zWcVB}@kvG4WrSV!2n|y(3dgR<84*JhV|p2K7C!`u*z}D)kNf=|qj?j*kD+fZ4Bk%c z+u1RyvKXjEP_czR4I7VT6v6NrB@_xA41a7#5*ls5M{>xX)n35;FQHCf*dB81BfkKD z!WVJWyO>=j#Pl#e;ynmg-Rm%>t)5DVSC!pmHxMXJ)7GFGOuiMQ9yfC0UtRZDbM&ir zUnP$SIQ@Mjw>tWQt~R@9_wO%mFs?I<#A(GlWr8Uurh)~-#Ck-H={Zt9L=dgCHSmx^ z$J|x%t)nhFejr`GMN&l64-5&k3bg4em-RP3R@9D$Us4j$QjRz!v+~mwljjkHy71dk zBAn@b?hAW>yv}YfLNNEdhFR+8M9G-X#N7g_cf$*0ks545n%(%@!B-+NYPG6PL>h6^ zfBOFnILeb%@K`l$ZC#d;m5c^#9c2ks2hBp4kqCrkbVnOU`9{~ilh;CUmJ1KjoH3c( zc@d7s^qmf22k{Qm7V_;4Q|h7G){os&sh^r1S+riSVW&;ULDl43rM@G9ws683EWh}p z^8^I=nxV+O+6TxCZH-M2pGy|53-H{dLwV{vLqLe}-0ISSn%#o7z3*P;BYNiPL=S6s z&aO$x`pL23RMb}yiQBbs8`k6<+Q${obU%TkXLsa?fqwKD=<%JBDPDMbTgL3TLvSae z4D<-!I~c3bKEmmCpj8p=Aw;dv^CFG-qO4#wJUi%^nuIm*^*%!Le2ozpsD$| zIvfdgC6*tEwc^rX)K6i-xyKN=m)IHpcwia`7U;Q7z=1f?SONt8^u>Hsnn+K!9V8LR6UmOHV{UPxuJFm<% z=T{j{*{2+8HAamRwfSO@-geD|YW}FHQw_~r1hLd+Twy|Te0_Y{ApW4xuTh-m;oQ9; zSc-!ML%C((AF2wf2P!}5nV8ZTJQ(}wQ9f-kRx1B2_0+iX`z?(tk1K$i^rj?S(k$$o zb0Rilz1mNuVl}1`5$+%zQGN09{LGx6h2Bc}#r!2T>TV^DYNcvKYHX!#YE-4#B^*<< zCAh`vB_vACMbm`}8ucpX#g0GBOErthG}^(!*;GcT&IuU%tSqUnjMeR`}VevFN*T7w_UhyByX%|lV~UC)y7)XM=P3_I%OtNOmpNIxE$7ba^}IFer>*6O7nY11 zOCRSg{>%-{Gk2EFevFwDat!C|7VP%ScPn*k4+`tmib%zC!mDQ)OhWz6{Cz5EKk2Z% ztUSI9Pm5be=*#q%_qzDnGuq3w;Q7lrx$5HTM$5Nf&1N@eE9zTKL*^Uj%;wbR^uJ2) zFYUvh@9sCh#(M1@jT2o)=+-UP>$j~0QQA7{Q10jGs-CSLKi;5^P-e(Yim@a+8y*~H zn6W6G%ozWi+x;3p#)kBEer_anS8u~}Drg65kF!62a3is_m1)^2U{{{!^MY1AyiK`{ z;gZl|@4?wYD=8kS1?dzi4}nhPhd$#zZAE``-!0Lo$_34UD=-aeEVwlp38;9@EI?B zC@dO$i@96%`)UO^V?PQ%GrtV6&tgboyZ#3VY4GOHX5cSE8iIxp`7qxgK1bIlbq}!a z*{rdeyEP&;`qDMurQWsPH4`KfSrvgH{W30CERVg016i^j8b0FP0N_l5{@1d-BXsOdj9^( zO#S^Cl9s=dzvdixj_AwsmgL6AQNkhlZ%YY`n7+I=gFw(LdkrB=mzC5D% zd0Ed`jkEsOI2%R#kHnIs@VBJCi!R&>3iPI zjJH=@IoZkf#gF74yyao0V#Q`{ZdZ|ymC2Oc%_j|uYwsb_jNyA1@ zUYkXGsg>4Peo`l*_WQKAc5>~3j=Jbnre*hz)YRe3$+Y3mm3FXq?s(ttsH|5=ua*{x zYZ}3QB?S&B_HS2{=yb8`>+bt5%bn9Y>wa4s)}z$B9EL89YwRlPHc#4ZP4ItJP?>3F za+=9s@@r1pA=%+M9G_Ed!{1BX^J-(WUOu~Bz1Br%NBcqcRZz<-)VZh(+9KuW*mBC$ z?9!*jA5Oe`c2-|pPQX;r(sg9qLOM=z*RvDrpVn#m5p=_Ko+*SXoMsFOUKKg1>}II0 zE9hHCSnLXtc>mc;UEwO6Pu*uR_ZlG;+HyKLa_hV5Lpi{I!N16lc6)Gs4OX}q363De zPh)j6usnD%>2y=Gypf;@Q<>iQt<8N^=T~jTF4BzcPnp(nuLPHqx$;HbN*ny2cb?`4 z`dv#k9y=F|heSUsue#4;gq9AL`bpu0A+7`$M~n3I zOM3)(unCdfw`>JLdbippM7ZzDye&?CuNdC>IGx7q9=g$Zb6>h26W#JGEH|}TlZ28s z+_N4oZC#j=or>&T4qVROF>Fsxj;glDwv}C3Ue{jfUe-4UxCI1IMyF6+<8-`};NpaG zZ6$%Sacl64QiK;X$UaFo&y z0E%!kE!p?-@=%PxH6j!o^b06>;0hXe3quqA>-se`JrwNYeHbXH5DO@{zikwN&xcnm z@P2sa=@T|S7zzRS4-0s^X2bl`8oDVP_MdB5QQ$i$F;xj!S>RLE#KFwW#_@wKNIPn* z9JqmGC!_5M1%*fR@P?LEp*{lopSDob0%^(1@tfFMvl^M&8k@1YTH8JJ110Fn4_sQC zfsDvqtv}j0^1BLAKDOWot{-l*QIbD40a*!AYRM~+OV~P?k-uVPXJw}pMkXgG7j!Uv z&#xl+`tRewe?pWWKp;DQHZ~U*7giT8R$B*iHV!^MJ~nnvHcn0!paqMgn+?dwmBq%9 z>Zy}|`jIqqG;y%716kPGkU#WmWNhmM5~8Gh80cTGCppbrE&e@{jpJXn00r3|zG35F zWoP?W-@v1S4|n;MEL_b#YD-#J12zN35a#9L6nt#|-@f_xi2w1V*1w;8`SSnqJ3 z`6EuiVInGX)DdupxAq%U(He`L%;}aDh4pEfM76r0y23+?mApZ)NdDQ(w=8(Fv1B{i zXnrUp&}^>gv3Vija&d4lG;(9^lId00w>Hm^tlQ?dJicT+G|%#ofi=s0demjNS(RB&9eQ zg}&!1cD(UsRm{6n7;Z4;W^q*1?AnM3?ciD&@?pF&D+KwX+Z)4CNRTH|&rA6d-0_0& z!ck}3yQ1CJsDE^rQghi*2SlM(zA5qgOZI!QeQyP(dGu!Tp|hh!W{2AB&1<5)+b9;@ zI%e=rOJEFG!MMu3?_shIr-ZL&MwrU|hi-hMm zvGm5cRI_pJ7VVeo^l>yTs;{n{O1yPUMy+D92jLfBLnDV z^ez7R36`_#!B-^+Z%fCmpjrdjdBB6ojehM!U=_d!+Xrtfz z4Zr#@__namh?9{>s6vN3on||tw$hhuXOTkO{g7MlU+%6pc#VJVRDfm&TQAFRs|*D% znXz+=jg#Ze2XYom6uM$*hQsfxCC9Dd}CYd(1^kv;rTuSvkA^dKDmM~}`PN>_wz zy^kwBWDANG-||+NoJYUzbzFX_X^4YN5;Ss~uJM)Z{5lR$QTx}<_1k|$?)E-j?s(#>8&SS7G*78)JR`M?Xn`oq;A2w9oq_Y7*#AFHi%5E7JS;{1FQ z7<|w2KU;1K)h5#Zl;wJj6F5I=EvJyFK{73&s!DO#v5lmpYqH+)y3V@4zpT@?4JgXY zS`Us!r(J$i_a>}{NXD8niPP!&#UE&N#gzwAEr7b?cBzTy-tg8W?tZMh%;|*5yR@*< z-o{-_yh~vhxoNkWVa+d%81BkH*wIS!7)M8n6*a;Touk@#JyoKv4h$X%_M4};DbcL7 z@#ePt!LFM(U)K`vpjd|${V@RJd3R2N>!8LOjc)s~1TTmF5v>-;%*;$-iU?|fH!S-j z<}*q{>KsHW{O*N1>$Ld>``r1j76~T-vEy-2z(}-+qHyD11HExBr;1gj#h@mgRHDD( z-T8kSJ-FU1@$UJmuB-sb;|ebyqgbWigQq56v+C7=I4}rmnOn_NsP9gftM1NJYGO2* zB6xFKO}`Ymf=OWG63n|a?q;J;_;vl;2aDYAhT69Vi(8PM=U8Gm<_8>D194+$x?Fb{ zom*lMZ9{IU$w|G{{Y>rl&skJ;yl2$)ebsk!BqH(Th(DdH@D`|S9k6wlQ;fClXO>hp z@x`;0su!~+=qKtyY)qa;@K>UCA;Vr+Ob!9}oYQZepp8=0bZ6)_8XDzEOsMU_@9_N;>Idsin2S!E1$@s$6$U=36=+NFwmuav6D4XC&KI*Gc)x77{Lr{MkD_Z!4&D2Fn%4@b2Yt^@YXiNpSiiv zq4__JJvy8ML(~wK;V@4ErSC0|?a#$eZgm^QY0p`jVgr$K@J~_TjL0SM*bMdnC0e8+ z@MtHO2>TzcOaBt)Z8EF++azXL`g@&v8*9rd|GY%;WGe9xFfo(4+cC~H6v(fPR3J6X zAV|D`&z)ys0@C{zqQNhj1lR6V z12>5Xpa{Mogq$}!@6TV6GD?BJ=ZtmAW%1Z%PF^Fz%+y)yCV+1e++Z$$zb0KV>q@4Y zhv^CL=KH$URnsSpFpu&}Z_}htz%*WT_KMWmHC4`|Ex7evCk&Nqs0eNChvl}`%1vTq zeY`-ls7lAJ5pE4QPBfv&So=Lwm>1)GU*U&Rx%v_H*88I5*)&c+1W72epCWe?yJ56M zlL&mSn}8Vi3z&uf?fZ>OTS$Zhb})1>Z3nn6Um^s}A~6l8DKrSJL%G2i70F$NGM8P= zmsJO*=>2DItEAK>#H5!mT2vbWKcuqBdIs**&KQ*S$-y(kLx3x)r34-qSwb?ecUl%k1tD4+DX%tv0D;W3k+!YTHH`>8C;l%nQp zt!C1#;{9B6VF@QfUP);cim~uBY?(1NQ7nKO8Y{(kIa)hD_)8(6$Wn%vME(1CGcU<(H%z`M=%P3lEiUo_`kVn zI}FJTC_9JlQ;6aHl-|Ne(i&J>ay%*&Yyh> z8Si#!3_4Xv14E$+PfP1M* zp5Tw7zf^MRIyt*1RDfR`1cH1BAb z$>@IA%z?!*wjR0#8P8?fFV`9O%Cq!7TImG0vf(a`o)Zfj7b;{}{yfwu*GXMP@a~4G z%)#MDBu3`oRnx3l4_lTlbgc+63t@bv0F7smx&C(k5a-?MlF+>bBQ03M20Z<2D#Z>G z78XM#Qb8YtCd4#8hSX01=S_-l@D_$T76nep4qsv_KdsgS0`12C0$?8f$+24X!OJeSe38+{zdLc)ogk#>*I!|NL@LO$^>*RxS}* z@b%+4jTJkh62#k*4KOl31SF|SXMisb!&#k1a1+Oj2%wvCP4u2Y1x*=sf(J<+f|t-x zDC9$NVs-;U;XI;eD75|+AH&FyNglL6xwN+aw+)@L!v;Bs|Y~7U!8H>`1=Yx**VQS| zZUp+ItlKw$9Pj;%b)qY z)*$GQnkaX99l-o7M6=RB|LkyCM4i|z@<+|8A|3_n<+dee$%v`JC06}gyX)c) zA_W3|)LI}6QsxxRQjPMCR#KW8TGFt%b~zpv1V8pO*FDq zQb0c#Zh#DibBU^qKlM}_BvB_L&v+}tlZZ%HKy>>JDFgJ{4?sq8t2CHW)Z>J`EFj3K z|1pjX`LmG8hnNux35N_Cl`^C=;CM0x6QzRl_UJ7`K`*@+B)bZOx9r6`CJ>^E`|vx% zz>%dBENe%Ih4wh2TYK2**^?4iQljsB#L?xxPUYv4d8>SQDRUpD2LS*;VS!w#F@G~E z0egpHx*N-rrTj22H`8o~e!LTMKV_FdW90gDLoH$@PWL7ItId)QFfB&@vu%oqPn*uy z4{@n1W|ghyC0}2UDgORK32HitU}Rz8KK{i_?_Coy6aU}>BP_eoB!3;@myTlDkutaS zF(J*{-_e805SQX<-VVk3KYRY7=wPY&I*hH7=Fw*KN-&cJ@~T$TWgHUE+0ow{pk#o= zJ9QiWlpaZb}ft8|^4#z(88wfn7NImve)eH+>gzSeX>e(BS*`P&hI749O z^jm+)GdCL0ve!k%JODMfKw73h$O+dU2+%~nYP5=qvrAe&Bq zc;vSn?>JqT=*l@;OUl{#tyPc2G!auSNOu zKnII_Rem^=LX;20m*b__-Yc8MB6c6b0?_tUsiv95y4&MCfyPowpi|T!di7CBYx|jc z3c>q#>y)X4@akX!=AU`8*u7!t)-_??k9*Q3;sD$z!ONdz+FZLk-(>>PzUSWGoQxLK z)41zTJT2TW{(>*FguGPeGlj@`V4bl zVf=}k6c3@npRUliY6>;(;QeP}s=bE77BE?H1u%LB#k0gKStsH6lJ5+v1@uGu!Nqzz zKZ+9=NuQ2Bz(`1NV{!Hqd9uikRJl|p3c4W9RIX{fu5`11%&$b~SFT%Ma=hN3HkfgJ zzMr-r9uj)6*q9K|%k*76^Y4T}9LTnh>^xX*_pw1)YOr4)Dx=p@Zvmn+1psK10e)p z>?3JWI3_E+jDxP!DmnDc{GJB*$k+YT(?(&Wr=P_t-}1I2eY&29!MguDeN2;mt@&8* z-i^cCa|oq0r;iOHuZsnuQ6fl#QR0P8ANPbSMNzo#m7P>~&(Meo5XI$UgcUKG5}7nV zPw81rmEaEKNR*K~YoU>h*uq57-AZFw?izNjCOxSr0Qd2`{c#BNx|rT;X8!6;dXQL6 zu=j(Rve^;;su{>ShP?iC;8amIsOcM9tuKoAm%JtNKb3eqx+Q?|H6Th(gfb9NVVr|F zU54_r$Ps6oaE0R{3oURf7FGD{heqwoM}%EwpFw^KD{j@^+7OXe_zBT!vN_UF~~hs>@Rrso=Rc^o1FI7)AhgE?cQ`OM>D!&WCp++Kw%w{o`ur0eKzfnwG{ zAfNl`htb`M=c8OunFHF7^P?LArE4D9XgZ41WJ-C{P6^XU4w}(-$xw}LJD<1O$caF& zSnUoGm`V3KpWCQl_yId8URdhOD7RDHPr7U8&+d-21jHR{h`ZSVXyI%IEe&1llbHM> ztLm;?nM1O`n((HgyQ2qr4<7$fLJFh+HCZx8leM*cOt&d|74)Uz{^B(H#WS3F`WBB< z$f}!uEOtYPP30*roTMwj#@N_yjvsk4g83FhG_vwb?B3^YvIqV`6mvCSp032A{l*o(Xx=p#f>T zK4`uK7%8$!?JorkS`?y9*0WkjZ0$ESmApH3JlK6kAtV~$c9Hw5QG2y7jiuT~QNa8Z z-sE{dl;Utlf$ZS@``6%zn_8IoJ7pn$fS0}uqst_iu~wudje5Zyp5-*HeGEjn{4>oi zD2E55D=-mc-`M_i2#?u97v2(Tb7bEG2HLP*^|=+)QvUd&suxl}P+NI?{Y zuS`R@4>G>B9(AG6-T~=@h%Ea)!uKMHV^?AKn9{_U$-Lw-x&U`O!D%r;O^58=(ZeKAax?g|@j_U`L-|J%rbQhlYw-?{tg7V3?miFH^Nks5P`>VUmJ5Zy;-89JMPnPQDDC~Bg&N2xPUt|4L!QPI3!!HF^kX}u}*rF zIru+iu98tA*#7Btj4pgh-Ui6P%m1n6WJDlZ{Rd#juj_mczXk%uD^2>N3$neh_v@L; zf1)sgWDo)mfL$Tx{&Z5&UP#QpddQBrT~$$tn}S4B&prryCW5tzUf6MS=+Yk^Wv!|} z@6ihny)J1D-z zbGL%>{p~?Sm2zUSht}uo>*wg1M?*5Mmn**cQDJNk@QB%h&jlbk>GI<4O=Ez)cbOnm z1UbXdp+#5?#ybdYO3i(mL{(`Ckb7gz;X6w`Z%~Tnlp&wuA1Fx)>+Njbp~FMc1;`)RK)ifAhjdMa^kQQYN+vUDms zET87wGz%z=$2NNR;C_?zV$o62f5tq^YnoX4ArX?G0{OUpIQ7~bn-p0PQD~OZFpjpq z+l{@;Ee}3p7gF;Ol-SAvLDC2tp8**obh~&+n$Mr@LVKZ#Z>T2r($9b#j;6jDG6Rm9 zO=+K3#?0M}p^r5jx_aD}T7a}9bX?HrR&>iWlL3rz~vgLPpBMBU)z5k_K z*d@T~T33h(_BIBw&S523wba>wySWR~9m0{?T@HUD8RYTfN^q^HXoKpGFR=L2jy6X! zcI}*eP#dsw``_@-tZ3(c7ly`UZs)-CDgIdv>h20LN5$Vw99Y8Z>C(w9I#e?Mf@xQ9Bm;@tHDG=LmZ=mCy^5wLZ1$X*4h^5 zW~R!6r2*pM(}AmT^zJJ58{K#Bv+L`W(yb=v;-J@?c2tA_Nbp7zok=LL!&PcN)|sX0 zjixf=Qow{>fE8Qosmj^qdQ93n=R0Dq<=GyezDUCN@AzzX-haT(#AD50z>vSetT@m! zJzw(izB!i87a= zm#Fq+DRV$#!w_%}H{r8j1H|Pt+cv(dm-nME(A7gXKXq=#b0!sE>YpQC)$mJd^QlgCt};Y~q4!f3vlXw#zjXN0IdY^vIO% zYR-s*VV-3*cY;8q3G1j(DVGUZItG1i?SrJEanV2TXgWE&h!dKYMzoTf_GN_rKyo*3 z8qnV{mQN}O3=?BTD4=9iyD!bC*JXViUv(Ec?bNbaiMrvvIqHsb@*3jkr`P&qSIo@6 zaOt59dbPS;CzCl^~&6}g6Fof_AoKN57`c9Ugk<|U10k? z98i@~bkkwp8*5FXjQGjG@i1`pLa{%`ScSPmk$*9GbPSWHg4 zZ9ZuFew^?vr@Ns=ZA6G!45h45vT2WM9}*h(jY1gm3Fdw+P@4dcqziPRBl(%#2F+f4 zA*n$PFT?t#l^Ix4V`vc#YlWp*G)+jlk+}(0r~Qgue0K>XFvh7@t<9Gxmg8U&md@%O zPH2St;y_m?IOm{x$3(1BejQZ*A=pa zC5h>y2 zVV$dMU3mO?Z=cmaWH)<|)cXzybyScZK#qNH8>*>XRn(`YM}nV7@Z9Ej{Z% z^!#BPaKZK&Gz-eIQ>svc++eKNZXkw^fp2#W@Be55rLBaHqi@5iP1e}sc#&B#5k8*D zT{|>&l~)LZZb=N9G(RD3vzH-ZClfQbt!&_fecI9!2pX|IO)LM~;Xqu7laLs4`g7_9G&I=y}s zCeOw#q*^nAyP-a&T{e5X0rtJt5wDNk&A>4)-@+k)+Nac%VURQ+i`_83@$5mBYD^!$ zAT;O(pDM@^P1I|v3;Xu#6j*e_Xe?y_UhW3`Nw#YkMuo=YXJBWV7yoz~FC2}yGS8~t zlrjZx>WrfX|At^z(VU+>6fRKX#t0<>(^02Mle@zn)H7!N8j0O>+B02RaM8PGt&@)p z+|75RR11j?u@Pb9k%Un%Hx?5|9UnHVr|aGQQM}&s5VR_U8qx+TR9N*U)M~TZF+vt->8q~_pPJ$_{*_Y>8GR^U?BTt2wyb(kO~1O9-{I?^h3Ftumy$u&$|{wz zsF8Hq)I%KKG#NTMLUULB5@UW|g)g#tGD8yU0N$slPV$U_HpE$A=*aJcfP8<(2{P7s zDfD)9iuxA##?c1V8LDdDj%d>y-d>)_x45 zT?Ov+l{s)4kpK|wno!++d^xaB7wj)3LL5CwY2G)!9U^jMImEC0MlsB^>wID1H6?Yc z&Bxofyo;N7&}HuB?K{IezaWjpijC1_bT-EU)v+N%-`(@r1a~0;y~EcJcN$Lx{p`583(|`zwsnBr7InBMSMnBc--?!{H}#KTSY~iw|NYTN~ny z7p?mj&7d%Ys3k?lk0XH_yilL1H-pJP6l)An4Iy(3D>t-C2TVw{XKbrL9>fSMdn`yc z!3dWhdci^O#^_b9sJMBPK@+_MAU2VFqHj}k=2_O8KFlpRoKn;nq|lgUpLC zUEKy_pV&nejO?*|-!)-VlmU`w7f)clM!KVp7~e;1t0_+^xwU00d}2ehi*nV@R^ z|G)=D;AJ52=!%kd9Kw+4m9`U z&xzpeb`^MJETDY=B|nV2*?ockg-MK_@JK;Q$~{W>6+$_}{_}}2>mUR62^|pW;>Z6r zUG={y9(*0-fi!k0BxH&NcJ_mkyu6-|OItU4{pzD|MagRo_LiemqSu|wCeqZ`Vdx7 z)#g#atb7W4r{tJM5jD8(4i?~dpIDuaNAu3K`}p8S^p>qbv#fQMYCs@iPh5`v1NeN7 zcZ}Z`*!blyo2h^&mHnTr6}kV$%nGIt zECL!T97P=f%mAja(IHX) zG5Bvp?ho{vpFjCS$L}zGFq%YxsW@ND)S1J?#KeWCFDomX9i$m2fWfb!kJsb)`6Ntq zxN|GZr{W<8?7dKLs|i%^s(S3#CjYrT^r?&%{sVEa7~7xRsc1e>`JhP34=UQ3ueEBl za(zg4@B$vz1xrksk%K4M-1xu=BlI6izc|rL(u3+wA#D0E7{!2bw3h(hYSZoHw@VME zbW!{5zHJErbw+4_Iz82gB*=aH5{5&Nxsq>uAoWxYzG4Mx+(_hh2CXsxWk4kz}e^83VuN=vvl77mY8> z<*Z4Jx}oQBkSz6lBD%mHJCJ{1QzaNp<57HIfsjXE>H$>IRQPfhXftw(IphQJb1HL$oQR#r-FZR`lktWDYOMp70Hz=u=^IwZU15k?aI+gLP zYH#c=*txmMX}3hZRHGQk7!-q8_;1JGS4gphkcBj?k^(%~>1mzwzK%MOM*g&gIr=*4 zMZRFNr_x2H22jkV7DdGK%0f=qaQyzLRBCw=VDQ5s$9nv5J)9@HU+C^WjL&@&yxrjT z6S>`1j7~g$;4VMoEk)zckdzJC0x8?gKjF;$p76p)9k9pVw|{!AeiRuUOaVmBCE#@Y zEG~0}#%m!U?mq_DF*@&q#;rbl79AXs(=my4pd>tOcZ7X&9!TabrHh;lajoloTF2K1 zDYpRCb+n5=TRr-18#nM&BWgg~6AcFh*faiSBNlOyyE}6Yr01#!nY>4RM7BL1=X-=R z`#WecK#^U~Ve_G|YU$ef*Z0Gpd6^A+90B}(yp`#}+ID|;-48g<=Eiw%mctt$RcS8+ zxXT32c#U>nDXjYdS)7CHMnxE0ER64ET@fnjI6gorjfQ@K?{|qt#g$kIG>#y)p6_*^ zm)=6AD-Fp+eh*M(bm{w4)9y)l0&p?`%Hr~9b@TJ>`NAlo-z6qEplUUxZftEBm~M!Q z6+!?Uz><`THYr^oSr4sT5c{+^Lw$Gwr*pz}Q@Vy7Uk3@R3(sh3=&g`&R zHwNlr6@BtW)X2xD)h7oyLfLnhw)PmlQ~v(=(_!T&SWQe74PBUUh&c0ic+6TDKC40a zYXDm0+IqLKT_UwLO$nlWR+aubk^pli!)S<`62x0sDnHEk)e9iu7=HpKgInIbK5Jog zeP?!I4Wz6r(5%a2Q9vxv5ZiI6UxNXwtn*%*Z8 zA7!ah?{PBBli|^N_h)y6!TGhll3joN1Fe6!79+luOk6qY0n}`qrMyt3&jP0B^tLPw z2q+7xN5Ws-jizMiet;jt+)aLqe1~{VS0`Hn{btgEX#38CU8k!dWc)Bxc-fcT8uPnK z>PQGyZ+k{r>NbD*+-Kt#>z!;DW_`}J0XG9&27o@jzOsa8(Pg@J@hO5G|Emyeh%i8& zf-{Jd-)j~y$0IRlr`+l~rLLKOBioF-My?R3Z~>JlfdtfzeI2D~u57=X$0Tq$%hRK? zcJB^;&J`kj^$UB;eThni_3iB4Q8)SsHbANK*pFYM@*~vyyXkSicV#I~y zQ@DsJ634)>;eop}*^sbM1qOl$TGlsUM-(b|>jDP?X}ayp-{0AWX>gj<@?4pbAA*=e zn!jAUKRML#&O&`9!_au3b-XL8T2o9!|B7vj?d7Ooe(jP$LK$#XQ zX{AnWNmxK;s7_97)l?~W%8C0c{6f{|L9Ec2_hGRQl%{U@6Q$Yq4lz3+Fw=DrlUB=Q zy+4M>+O}%?G;r;`+-I#<1RnK9-OuQ50e%FvD#_kD1>O{>WFI+8(UydRGwQ0r!p|RD z&BQlw1wzbcr5+AV=G6r|Ui@yk_~}8zYa>f;4X9(`ad{ZD##S{(0d;}y zbVq;~VJ~{H?tQ@l=6Y83M)HP&`}Rxe{M@#|;fUJt4y?3Vnr)2T5`U_66Quc&ay0oo3w~e=EzBU2yo&_-R~o8?tpmLCGa`Cpm$MS%h|Lp_GUmJ z!jP!{3C0gKH1z`Bm`1Jyk^`DmDwaWo&7Ph}7Ml?0Wdt(Ms&&n-j`I|g=&(xN`VlWT z&)#s{ky?W0ZLj`R(sB)?W$mpCdDgbYErE>KxF0(Oh^4>RCKt=8cuzn^^M&;!@5a zRd>W11T)ha>T74;bJ!h4G+6qD@vMb_!!j}R?mJ_PoNJdr@Dw3%HhJU+DQ|5Cey|A7u$%5jf>-iL#X}h1GILr0#ZPiP&r~49C5sPvWWP0(q1(tWyQMLCYwqs=@bu6jP>A&r3U%h>j+ybGySY3;801IL>1IQ%g! zRsY9ezyH6`w5&`UwaNd)tf@oCeStM;2tCuEK@A<=_RTBv~mmzgk z4l-WU{x>T>CtxR6g5fkC590>vD?af&;Y)ZiAeHe@UqKG4V~Ugr`CEMV?c29VDNPj> zcj7OlEjr9mLNr7BtDIB}v6X*vDM-cIXMySaC zUlBf&4a~{bsAdEni^_-Z2DO%nz|T4|=7BWY#JaNlRw<);NfD4Ir9aiF(5%dS_!Z4V zkZn0vlWz&s#o2e8>_j91L$L72NO$}tB`mO01l?-HD_4Qap3-8~!je=j^A}=o1$^^R zO4UmX_?`EPnn2q*Kww?~WUh<-wCba$O8-KohVPP;cQd_E+W&L{Z?(SwlK|C@<)Z zz!%suvRHjv<8yyk0%Vaafe=X9Y3GOi$n}yR)JUe#f>v-9h7m`Xj$W&~lekjVX*B;1 zy%Rv*7XcwI+bZ!rg`X$&Urnx3b|W1XFnoKRfy{U@z&Za28wCiEQU%^sxU=TvTZJ>A z&YCZCFaszhC?3z1E>+HbT|6p$EoVJj)!9h0<_Kh%N`c&ge67vWJl_Zj)&SjK;s0TQ zf;$ZFe&cf+_aN4KT|1xLGZd!hur{o~sCuPXOJ;fg4s!?C{~rL_ECwi;O-Te8&!28v z#S-X3Klu89?hqdL&0MKu^u{6HO;qU9&n=Mu!QOjEMb)(VqC_Q0l%PaG6eWX76c7Yd zkRXyX2q-x;5(Oj+2&hDf4I&aG$0p|tjesCga+9-UIJF!7=KaFVU3bo%b>^NmYrTK* z+TFEl*RFb=U)m|b{Xm9cJ_Q5ZMg}Nr#rT%Gxbg7D<+!Up>AB2Owy<9-qrYPrlfNDB zBj$uuxwsNY>e^}K`%7AWKj2q0(?FqEYF$UL@7dBIDn;)_)V!~I#7{?`Vj9^Q!Z2KZ zzCPb?*FqmneP5~T0JONVCHEJu_LbV`-*(@#bp(uAv>dj-i2TP}54&P`r2r`}2TE#n zPMtEOMj#EEf!Ck*cE_gM5E)PkBd#~SogeT5F4F}ws@9SZS+`SnHjvU!rM zK-WOod}7$H9XK)9756qx{he7Lz3UqW81mld%aoJIcM{TPaGO%W*=1gN4b%YNU?Z~M zxB*9Y8!*e>$?Hfdk_?fxN)Z%eZ=F_d6 zrNN#M!wS&8Q@CoV{p7S!uo^8>KHl%~yhFv%JXzO%S=2di7;x(R%)%m0t4{%>a=Yrj zG9?EtnU|qV4A3Zyz!qN*$jV|#N+eQf!6dJ~upnf+L35)03CG|?@-TS=?l@5Md#8DI zv;KH4BIR~{4^nv$L=_5dlO9hqo<0}jo1rOflKYJ_2JQYZY-hjXH6BFc=`VCWT`?&K zsC1RzkR%dIVoYP6p6u4pW@$#1R{|zne#abWWqfcR*SIL0N#hvOKLF8^rekqESSQPyh**FJQQ!lIF%@~y?Yg_50a~02 z=H?P575d05?*imLyRmv-1DVBm7+hw^()pD_W#W363ZAnLF0+BRS(Zo>S%0@Id|_)=me-*y_7>aVPWt}AOPr$WIHLv$2yf|jlU z{uIJeZO{Yi;V5wgS5YOU?$ZtWBlo-}A7d~zFYx+3+ruwkJ@ErZj;?s6*&ye9N|M6F zPs(%}MPR68AoVqOB{vd#BwsWN#GZv$i8EVyP?zXgco>MV;R^+FKfz+S0T57H|z4p-hu$E%%^rH08j;Ramx1+bw`g6GM;IZ$o4XO!{rO_J7z+-lW-%9*-y zQ6;385+dda5@hv8(5g5GUySdDQm+FXfBej;+Z2)wB8bCK3#z?3K;!DQ(1{{Q zLQlr?Udj{xC$={lLyo>gHI4?w)M2mOes1}hofr!=>&hBBR9luQ(`4Bqi27?l$M=$l z`UnGq=?atu5Zuj@bOzRIUh~SCd+zCT*uZ#_e6kVd`AkTr^3@%@FYbEzIu~sR66G`j#ZS#^3Yh>k%%AJ=3y*|*x-)>PSCXZVm88S!x859 zSON#&>9S&H7gqS-C)oZ}Aqf$LEG8iv_=1(Ez82ocuyW9N=)D5dZ1)PZv4D^-Ef|>@ zjg6Ts#!{*wT#0C^nK@ZwFCxboKRJB`aOSBwh{c=fgH{{g*p4ECA?0DK1sY@BnXCNvvHH;OYskq<3iEzA24rcS975pGi-o9hf@`|+ zf%LC|8Y}~skczESKj?=wnD?`--Ms|8=b631xTfCxXh6d*8Eh+>LAW+?ggE2Q(--*Z zHGq+>A526zp|TM$#s1zL_~P#oiP2$c*j+CCk@_`9F-dF^r(J3DeJv2Nn5n@fMCgZ6 z(CtK*7L|W~q!zFuql z(EjlO!ax4;LRZX^5@NY+1Fi;}>iuS%N%gkb>feR_57zZxBQ|k{xEgBb2cp5@(qZlE zyxWRj3Bj;H1SGKAgww-kCow}dd4c6R`h>^R1Xc^)_`~`hM*iuPu)gx-)Z|cbAPNfjjCIS@aaQm<`h81iwI+??L%wp{Rk$I#D)x64~F+4z;s0re97TW1jm%`pnM!0!;ratqm)oZmBYFI|s!%ys$|`l^}@# zRD!O`l_g!riQ>>Sikfo)TBye%VW52EUo!y}_10C~kk9&9n+k`wp}wx0+fFZO3kNAe zQD|BTPId(yaB^F!u`&X(A%8udVzf;gD~5oGLYP|@@ziit&K+gY?#IUj37pXJkRxO!!H&#{~RH+r~FDqHv~Z;F#t;E7p7f;Kt&ZCg-wz8Kw{XE zlZYV4_|N8P@w+%J}UPzxjO{`bCftU30~X z={hOs;8M{jm<6?7uozaQu>yG+SX2XGtT{R5bC>z?VG1(u-)%~tm0K8xRASniX#>dHX8Udj>Wq1ax*hIXV6)(RY ztk`&3Tyx^$!tzVdg2Vz)i%*&yq5(7NQbu9TK2~;V4(fxjF8Po73YSca(%Ie7r2+s9 za|^Fh%vHDpQiMQ!QaVZ!C~MAz?fD>o`)3kjJ-bd>433XJXp$ASJ!on)Xd5b%%6Gn zt@p$~Y&;hxvJCL!FLx}5etyEQ;s7O<7FXL0>5a++ATpoCEs;F`k=M$R6_5VhbIG6H zc=X;8deLcVY1amiZk9ujE|}I6vKT<7UFJ3N)hxixmtDd7o+*{v$#B=zH!&Holo_r& zi+&8&SI!6S(lWB3gem}SS8O*e(^u`UHxd&9gw~#S_~Q-c;x6%i^tIzRK~BMt`IcIGdv3bU={}IIm)?v%Y(T|4x?+t z1V$QE0O3c}zd~M`Dw_`7qLuH}4I@#H>y`xYr~2{Xt~y&Dk97ekL8M!9VkkJyDCCO> zBM;Z0t1A$iJiV;vv2TLAB&P%V4N6}UHNE-ngs#!Rm^%dDH9@EM_$yZSTX4pFNt27t z1Pxe>%WX1-&-8LH!2$~<>z$cCIz7ev*?^JYZ;+sx@kCnntJZ*R4p4$;XyxeFRBNi8 z?{hMAe+CZar@*g#agMjCeG=9rhu(cQh=$OG>{dKRBOVpQcTOqF^siEmC>xJ0S{6&l z@&!>7_wMe`eE1w!VO8e0xCRek;Im45z?ex3u`rU4Z}vrE{%O}=%NvI8-!s^lYBHs- z0LLtCZ^J3-c1S4ka}mku+rmY+o+Bl|m2_&*fQ?zT%59fReMJbg)_q;{H)PFdE-u5` zi%Jb23odMuD4^&c%3^t(nN^bim{k<9@)q;H3F-7C-hI1Xx5%y*uz#)h2A)qDbXYLF z+E!Mm*3Bl7s)dc5*<)&nlAXwHDI}=(3>*A~*b|L^9$XL@ReG9mJ&%Sf`;Mj%2D^uG zu}x7q=*=Oq9Z;TZ|Hh@lsa~IgL@edfQTt#A&Suwp7`+Q=N@I}kf+tk@^NN&~4PxP% zOf-YFrX{dG>9ulxY^4-oT^#7T6Xsi8Ll( zv8VZ>D2rtXx)GqCx!3m__Nm4<5R)mIFr0c}2PEODEsUO(lEr$+*a6ngFC`%ALlu;n ziS@U1Ha#ZCK{^c|_7*QCEj_;PLy1IwAm32^E#J_fs10F+M7jB1qtojKnDj4)3?aP9 z9QfCT1jOe-fieJO&0isY8R{o@K;I}rgk+~Qp6(W$CgKkt5vrpn$9sp~t~DGl8JY61 zkw1vW@Wn37sO9tan|VodwF+>w?D7tNb;~q7^aHolY3NAEnn&M%xb~Qj{*l2u1ih=0 z(G9vz9-kiuJY|WYID8M$J;r&H-(&Puz`*Y2eM@tVgMr^PBzBi~{~D>VyqjNQFgVcf zs4<$7z5w9frTG9&J)S`NB?+S(%}!CQ03lWrv4@=xu$G97{8fMOn%V->i>Y24VEp1@ z^?B5-3L2axR)i=HhXXH=6&EvJ*fBFdk4Z^cP`-IQ zO^$k?%FT(Nid2m?TaLpAn9zSPGkHhe4p!)qNX&D^G-Zr7am_1+Y);U5^S~1r)T5~9 zhIR4`Ugy`Yi*xX4n9_t_xZ>MX0-!(Ry2<0$J|+Q~(nV=?Q$Dj`)VxktIqCsi6Q}nc zMb`(HI?v^(@_^(qW*RFIoY0$vg*}8tvfzNkkL$rNBsYX5&xix}4Rw*3gC+2F;!};a zN3uVr#T+I8wyM_4feA!nI~E0xzW=i)53Mr6{MRZIAYUOB9-(Z8OXY({kW~ZrTtFh1 zyXd^Ze`K9YbwZ0pN+bi8djV8D!0MM{%b@nz7Xo=L@jzuu#GOYe+$iw*Yc3AFL68oQ z4sm0I;LrZ;AFR(x9aG}fDE^1EU`2N+p{X6#CmXA0uCz#WQ@#$Ga$Q!hKQ_7w0Ac~_ z;=aLu+N$=uJ4FWyT>S}*3IG-+vHox4r29_~4=hWxH<&OtDl#$_S6%MWqikwDTrABV zN1&ka51haukb#sn+GniHG8&lE2j>blD^m$LBt!7%LGBn@v-SkSmCzJX3aHU%)z3HT z1Dy>vZ!ky|xC?{(+zw!Dw66EXzvc}Hpp1W|h69lV`b|c>S*=pRMj&bf%@#b>1YX?{ zAoRaaJOZ>n6hhi?=%b~~Qi^9c9Da7tilq8RQ4$57>Cz}5iWmqXfhYEjj$zE7e+V{6 zqzhB=|L@78e@EA-ZxFl+v; zWB?rfvIAeW2RUj0+AqB2F^ydSc8*zV?_DQQATNTNUj>vFPe7rf0>BCW!AX{vAb!mp zxZPwpl<_7((u6alE&zaA4WKDqaTC68#GD}H&Wym+nEIB$HSE;V!3PQF$bfKeNba|A zPJ)-*i}DwM^D+SOlsR!UCy)t>v}PeHS&v$h=SjKn;+NE?z|?XxBp7c2?BfGSxRffmWC$+_ z{x<>_f+ez8$^QmRkgLYr>E?uGBZ{s(5O2DVq3ZMH;XSuY!`=0;B#(m(N!4k9^e6IZ zXqW)s%X{ISewD7Ojn!&^O=N59|RyvDied z|MYqS?7jI=o*|-C88XsjjQbAtzLVgCY@%UYKwPL}q!j{?B49RcelL|P2mTWNZKmCdjSfnk{#P`q|>0czQwl!<4V-}?)kaqtzcQ)h@fv_aI-`xPdiHAN1yfJm?IHK zk@@8WGTga#+W`mJy#v~kEQ_3S87P8ov{ep;yho_Y>x>DUhhHHGz8I=!G`xVM?cD;C zH^%xql*ya4IPykJqkubQPZOl8k2dA}=7K&biv4is<<=~?U$s9M2TjJpc)d;l!$%r~ z?T}%>{$@*Xun!tOlRZ*K1x*VX-gJn-7_RLW-I8aaYE#}ON3ev6e%toFKkyU8(okeq zgVm*3Y&G(|KM=%i>5KtJqpj}XfKl}W#FS}OxfVm1XXlW>Q%v|Et3RG~bV;@pOkvD5{E$?sJ{$rDyevV2gz%qtuJnDlFUX&2 z;2u8$VnlD1F;bls+4p~|&%>3m6z}dt2m>6W>n`x1WS6g^4@v&QEkQ!36)3gM^PDF;vJh9@Bu-?-~>g0Sis zu=kjnbH;nlCpcaFJRkH;8I|%$S9G`FEI0uW4>8|FnUrFY@WZ>V=JoWhDEJ}(Efi?* zM1Y5NAYGBsfngvzCWZZxEIj!A%Z*VvG`^mAhOhtrSt4m?AOZxbjK{yU2Xggm>^JJJ zwu>Kce^^L(b8kplm_Rq8D0p5E3VTSERu}CdQ2BTs3>N`hoL@v%%Njo6^jX2ba{bV? zYoatI6$&+els}XBu5B=2U)+yN{v(kbx_zQxeh6Tfy2TWbyAu z-}R=5g%&cE2Fup-x8Rnsj~2IJ>8JSxdw{(7wut~ZgkPFR z*}Az_Sa$3v|7QfswUi?jHHa(Mu@ zNt*-xt~nrDGr@k9>9)IS>Y8WS?DA{*hm04m20i;*^_e_jVJcneH6ZA6k8Ry_f1@b(hwlNrstxcE{)CJ z#kwi3RgEEQNMA6S9`Y{whL)YI$#+a!sM;=Sk3{x zAIL4f8y5S3GE?Zbs9?Z29Gt>DTaLsGqJp!|wWAL&7{7%k)@sy zLhH+g<%MuwLwOBM!3wUrQBhHsqkuq#4+ud1LF3bc&%70dd^zT%X z{}kx*?+lN6D5bAs;cB*C9`Hw)#WHXV8ZSND!Q$#OmJ2_DY(40R72JH3cX;bxane7j zE=*sLhLZzKTxbhKFq#&k7v{*OX-tv&#Pkv(@i(@zX5Rlk?Loi_)9bSiWWoy*8;h0c zH`ycMBGm)c_)4Vcx?gmPMAEFHUJ%As0y2DYf^$IBw+4)rmGw1v`c{9Q%SLbn&PTj~ zz7Esk-_}pM$XieVo%I`9C~dP zZxg}?ZAiy7^iRtKO`dR7kYKE#6>@$+0)SRpvBCUKe0g3$!w#Q6Yfmq|_@DOlA985^ zzCHDW+EY*#b1jv31Dy!zMw~?5^M49ONXBVY%hgK&fmH<4w*01@JlX^ab+zbx zDjzrw`Fa6aZ=i=1p5&H>lN6 zTT9EF`L`ND?b#o%)vZ4Q17v|W=2^bZv$Kd9X;9Pgy<;c(aMrTk0t@k?Fv+L?1CYXx z0@MjL2FB?r?kS7tpBD$LB%F`9D*LM0P2t<4;k$k+-I#t-LK@`hksNQH5j7hW)ZM9z zF(5h@Qb#l0!g47D)5nU(0K3`X=R3;~{AQdhMOw2QaE^p;R>*~jv=MFIoZQAi^}8as z`E|!sMv4yy+$!ilKRL}rRG+A;I~ET&n}o)F{MardBU1okorb?|_0?7cZbsJ}nfR|X zHu_$00#qUi-T2O4VbXE-6K4Ug6~HS8df_!*CmjyuAI&{I$TeeE%f@RLgncnNd5H2} zzYz}o|G-)%95xM;3k?1rkQXF1J?=~3fd8o8V&KY2&foA>l1N0sw4guTXX1N}d>KFa ztXG*@IsyY_n{3G-wPUUK8ZqEMcC)3T#MUGJNCP06;oDT+WR(4&3 zEl6{C#7g?Lyu92S+11@W`~o*MH8s+gxZHc_v4X-dQB;+L9wqm!TcXpwYUptq*x~t> zOcM!+iRs;#mdZyx?|O*38Tl3qnvdG|OcHfBE%JEid~*iOar3>1i|6L&38}`mw~LBV zNXIu^ouu;w2?#DJyqh7=^l;E)UCdU3OAVT^!ufqqe6!(o{4Z zS)nT7DTy$Q?|2f-j0i2byQMg#6Df z`Mb}h<;aoL{6F70IjV#JZ8j!Fm@wzrPsU0-7wNVwKrvItyr;k zycm96I01AN;BSHQ=sTzhdq*hW_6EJkB3LBq-b>F?n@D;&^w_#!G2rsw>tZ42kEV8}%Tuwoz^-ez}Hh!MMmUFqaDr21TX2yUlftsdI zz$6n4?nsiYwY9Yce#F&vSPN!sZ2Xe;Nj3+L<$&WQNn3{)Wc?VO&#y(MT47yTof|Fi zgQ1Xba$m)sqetLZi;Nhf|O-!!BRD-T}3>q-^nCIVsX<}vE;V{W{ zP&%FBWy_e{lZ*6Jg*Vh^f&J9lI>(?F+9P*RGP1Jlny}W3m*?Bs9>&!aJn9Z6z-?U5 zumN`{!@=yNDd{T1NYG#IFtlCb?k!11=emBd6!~!+qFokm&M@3QvH& zT1)_i(h3xyW;?#a-+BTxOT#EC$ey*5^pK-f^#WtWb04f&$tIr%hw0+S8DmDL4oQbP z6LgpF<((uQFPnh~tG5jftnXc2=ZIbEWB_M#e@m#UcFZBF; zrRz9gIo$KXP#Vo=YX&G9%GeZgJliYxIGh4W8%rq+=WVbsrq-?xB!^mLSK@wz?CO z+$Rk$-&m%@*Xda8!di3Wlo)%7ueB|_VzZrn>)cv)VRz=!ayOxD6+m5;qVGD|A!N;gQ?RhoH!H1u!jlZ`X7+IDA>HV@!^7zTGQtrS5 zR&JL!$H#!%GzV_msFyX`yT<^rHt^(UY4&mbgba2BDlm=*6HZuFYB?W}<+p+kFJ@2u zIFTi~4qxiI`GV0>104OLxYN40CmttTN!&l}N32R`YxM2gSohb~+$Ii}_oJ(~(^i1Q zzWVJd(|A8Xf!%2pXP#e0Ha$C6UE~DbcQf*H8BFNP#D2oWi;5Irfb%bL$sfIw`ek?y z*D>*&lh{^lPf^nLr|ZR~Bi15^yR&W1VsMVO5mPekSO&6GPNXz;X$M!u z(8TygsM8R_M>OU&cuBGIpe)(_1o&aAteDZ#_)eaj+=2eD32>B2q;7+i+!? zft48l5JSU5)Vb-%Z0$;yJ2lt&OARic{p+E;RbF%v7H1_MY-AC zCCy(>L^FmSmt+M_J2po1oRj5Ackhf?s^m38{s}jR8n{CB{N1(u7Lk=Al@Y5WkE3bE z`ID1hHm7&EFMrn!yqutIleig?J~QcTHHw%D%mZ2?Y=&dojsOulIn)E!ttju}{Z0cn zqWP#DgDV1u-$W2y9G5FvXxk`-MU_*QJ`Xa=7L=!QWf9PCdZ(LKqGWfOHen!Y_~PXt z>gshrD-9{}gWj-VMYrL;&56!i6dglW&qkG_^9r25f)JbOkqNL&S5!8sYxbIs-Z0cu zQ0bPI*}l!|q@kv{l1rL1aXdCrJl~bRGMsl#*9nLj<`lO*_X0d)P8*#!DLUNEG(+CQeo+2wu1^$mzFx9=0iZyg!vW-G5_J&CkJrx@k6Q%B7?5 z!@YAbQNTfVMd+3@iabCc7TX7}AfFfJtn!d7oemWl=5lKGSt+gF`6|jivDYlHthn0H z*CO_dcd%m2b0b(kKHwdavz9{iKu@wXeD=L)LmW8LG_JY_%#QHsBuJJTH3j_wt6Jmd zQPtWj?wY!qqgifhj|R*N*m^g1P8?Df=#5?IPPY|LpB+1%q~2DOMy+!NuDK=dcbZYX z$GFbZ&{ui5{U8*#r(@4RLv%f_p};V~FS2XbI_YFP-C;4C(7A^&U~{TcnLk!^Hz2`7 zGGNyuq1!$FN^Y3^Zh6nEoVx)zht?{&>!G2RS78bFN5~O=4}#3TpqdIh<^u)7*kNNb z@s8w^Z+m30Yt&Z|jgQ9{M#&tkqbZIz62@uA*U!0S#v#iUk*4;XLaY7jDpTJgB6_T7u^27v1SQ@v!K_mocL2iPRf~A*Wm7r~K4m+ScW)vNqME z&w7k`@DRz$W-;8q=#UQL@TH<?AHU>>a5J^(h!=PY7-9!A@?U$5CzFiXNtu!XtwT(` z!%c^bws$5-bi?oLbMG0(CemCZk=Hdmf{yns<;vw>FW>dmyAEXO4a^|hQoU^`e4bC;#y2{SM~73`{oFw&v?$h)h|WDEAskY{lsQ$ zrTrKq89?^2vU|;Aw<6(3LCdmzwiK#U7H;K=%JFrqeQ|y@4`%AUKeb^$K^%Af9Ltpp z#FBMlGLkQaVZ76&fSsA>j%+*uO6E-kn{riDoE{Ir7d;ri32rn}P=9(&5d+>gyKx<^ z9T@0cydFJnMx!7(7^kvXvpJU`h2qJeTDwhp-QT!^82h$@@WQ7f)3-NZq_jk^d)0!7 z?k?JKxFL+rBUcJFy6;Wr>%Cp^N-gMU?1*Fj*l^2BgZF~v29J^2q=wh%E5Q^`c`_8t zQ4{8Q)Z!UGpH=8a`vTEN3l?-*avdAt8(2I%#VKCzPC(_GB~oFD2I?!M*RKKHH|e+| zoG|c(A*~83JXgJXGt%WC$HY%Lk>*NUaQPJP@ zcH<13hB&`|uu->ocJ@hr9Q!Q8gt4W9R~bU$-_@XNe*VR)?Nr8{Zzo?T4!%~pyUQK* zv%*?E{!S}roWZ=BanDGM`j*`zQ654f~Uoz|Y*8b4H7bluq3cQKx<2p?U$a}}{A zd4niH_w^SZQ_S|ttZ=)j!w;zUhJ)A6#UiU#9dip`q*@gA89u_CMtx6fP`ozTv1v=A z`tX$IXbJ(i{*rw|y@NU`DMT06$2)X5;W_F$j7LAuTVXdk3)f`5$%{|*yN8oUiV*T& z`!!-OO6}7EE-`BGT~==OaBwVkMEG?D{e|sL#1io>`=twWuU`ri$r!2&pLr*_n-&dIlR z`yfY%@|2nCZ%wb7CcQx!NZnDF9IH2|H86j+6tq-d^vIB6XJ2P zk-)ps{k+0gmjiB_ohutc?1z|%vhe%hSN;IsclobfuKb__Yd@!ZY1dmgF(f4t4@}TB zZIEHS`Lq&=Twg6tD@!tOvSzm6PrlA?F*d7-t-X~N(HT&`c;V(Uk|cG{WVQlMTrMR}Kn{FIsDFBj(HH+i!r z^#iggCv)~2=((dS+MTPrKG_~VaYJHq{T(n7<@;aUd<$y+2dGC|%2t02gp$1%Nic6x zATGMzFr|;f@)uwwo&zy-o6{abRa#^GqvH3dd;he|DtXU(UCiYn^sFsGq1fp9`QZA_Q#cBK-t-$3xuH?;e-d-~o}vlUNEzkiDC~4M zjSA|?s~0SRhq8wx{S~owUmO7=UmT6~+_?UxrR1-GOkGOWl$I%3JFa8^$fU1#ri4!~ zijyO5Hhq}2;CW|OJaiGk@%kxkRKcLo7talvh<@862y9XP{?o8bML{Ty9Ql28ROcSb z)Xa<@Zw!Tc&I*^xK?)ih%9RyRKgW*sgqCc`^#LmY$*7Je>;puH?5}IRxuu02&JZLm zyCfy4o?&Teptiiod&B=Gjz)S`WB$eZOtCwu7ge&tz#emsu;Cs`a*09X?}1+Y4z9+0 z(md5c6TG@ELrFp>2cqFDAB-g!y^&Aj-%uZA z0QITX{RV$cM`_yq&?qt0Yfuc-u>pv{!unD%I~vC;p5a;Kdx|1umDN>{m)9r(ASEvO zKY^4l7{;celAchbflHK>7kZMwUcy-W8{;*w!&l0?3QM%d0~nb?I&fzI%#@h|?`(n1 zV5!)jVaT(1O3<1t^8;8|df#tc86QHz0eENs`i2mM-IBhx2Usgud!rEM)%W7;Z>>0z zXCPg9ZA3hp6p#?Yf^a9Sz&IU)M+#{CIT^f=0pNEerT=NLIg(Sj zFkS(?-yk;jQbmEF8h5SzU3h2~_4C-ozheS|q}BZzl>j^GUv?1YoAYRcEgKrtCq)Q# zpB%WEb6Y?_Jr7z?E5a~{Am9*w1|s5wgkEf^tF^f(!@X$qw9l@#i51O=?Cm+H5z>G) zWT619p^G3iM*=4b2lH=eFckCf4{&fK7{CG(rlT&`8`sQW^n4opBR_BsZot#t+WKJK zFZLebGYnh_(6GN;fCPZ)zH}(Tv74gu5d@L~w{M%^<^&ZRu)^H_+^v57H0XCjJo;eUM-9|9Y1p_EF-YF?sgvYT45+Ch8H# z8*oCI=hy|dDp^AVIS3(mQ;i1IpWXO>=!5^e>4X2u3WlmH1?Zb}!S)Ft{EGF(p&^Yl z%4Xod1(>$klH?D7_~GJ=qwOtuMUt@T4FS(BfgeXl?*0MOrIoXsuekTJ z^pDM(&;Nw_yB`1;eh1|Q`~dGddslTZkh@A-9Txzx1&8Ya;_>i!G+|&#BfgWNXaamT zul#?_YxcORl_nE*AOAcrt`VLD=;>RBwdcjc;ks@BhfSjQ*qgkgBTz%goV{^h;N-T9 zc+nTYfjfFlf+UwO<}M>;cE%&e6(C4!L`6kq1-#d`2EhA$Hm6X)L0r(F2Qa3Nm?gS= zK5lq4cO}PsFZ@>A#pVbuhWqCZMvQ_vhdnp1dw%l(X10$o{D<>?%O9!(FY`~lZ2{RV z?+1H8^Mo)n2W;jFh^Ev$1*g>tq`EvF9<2V(z-ZS5wqu4E=`|?o$iH+23dRbzVtxT13Xt3VVzP5cFlq85WxQYk@(ogacG`1 z)=fc}Ns28gTYqeNVu?$=g$)Q1m82%vP@mMuFNd-hhk?%c$%$DaYW=O*?|VROWBw!WxN+-k=! zAV(hJx6EbiC1oZ)s!K^B%ts++Tg-YLx7gt<$6eY4-{<&!R(Rumt$Fm?4vZS=tpwoH zO|K>i^;>D*^?3X$6diL6zHX2-KrAQO$`Q zJuh$G=C-xryy}n?H+VPjvB3OGZ4lI%STdL%S7SZDTD3d=3*?PIy-75+a1Hil1o#QG zOP^KFyGssodih#kp(OZTukV^<2+BDdg|^dnf4>nuNvAf}=$W@&BI6sxZY!kxFq^64 z7HMkTei?zjZjm+1<5&9~`rZ4rm8U3Kar27%KPb)hP^G7+u#+#ZfC_l#WR(8XZc+N( zuXp+Q-lqqjTi*3N-5mk4KijI|W4@Djo-_MR+#Va=&bCwBr<>d>YqL+w*wPb1d@xh}FKC=P$GJq%ijxmX(c-jbC#52j7n9UaniuN--WN z(K-e#)Z2>!f@yf-;Cm^7hw{XF4(Ud+lTSCLu&)q!57UTq^xM7l93+v>i=NI-WX0Ia zjxa@(@Ua*OXt0UHG<5NRUhbl;$PLVIzX-T}tOqz%07nKBN{)h2gC)xt>Hc9D(+9!H~ zv9*}sQBb=Cs>~=IqZ7^i@*VI7gV{z3#ZH?Dhn~BGdKqp$%%Q+6P;jBnXGcbE<*kjo zF$1xHkWBX&c%RD(xSPQ%^iHF_C+CzaK;DeKtMlf4cc3x1IFuDXP(B1MQFAFCalix3 zVC{jV644<*2xl#6wcV`=H>vImZduaXMN~4BOP+gX4PFdLqciwegD24Eh2d4+#hc^O zaSM-Du7er=Rrwtvd-rTZzwWPhZUFM@lFhk)Ta+n*(^1-_1_C6h$0*1d# z!K;yxanp(wTa}+{V2^us2-0J?M8BpS`gT{{>ou8vxl~J%_^j7}=|udvPuwKWov`lN zaE`4NVEulH-Y@7={-khsr~fFu;N+6*7ismu;?3bLLd`jmDrb2Gg*it*-TB7Zm)a>J z-yFw$XJ4(k=`#!hN@Lp9CeFpq<<;q`Q;mfu?R^xuX=@j!>M#*pE|1+yhd9MoU-iqO zNX>GcU|)J3kVNUH^E()>*r2R;gysfz-Bfx2|2-G>w-xG!ZLU|Wl*HXF1zUV+Z(unk*_cM&>L@0s$+0>m0s(fJ zEkgY{kz;2%fMu2FCHKChui)%Gc5b0}Die21klh6|$G2vm?RADDt!D7#XkL7xIebY${rlPCb9tLE zSf~?rxZ&L6HvVCdkjTT^p@K8%pg)~U0$P7T(G(r;u5rM&Nq^p@cD;mjF3(9q!s80! zq_Eo=E>u%5L8}bZ^jDJTh_=9+%{qpHW*gJJ!+JcZV=gZ9)R}k z;B89c>~~75onX}+n`6n_B@JET+OUT5Y~|9J^NH3^9Z)_ZU4ls67qs%EzLd*G3i)_=HEb?Lt7a zPuL8W`G>coH-fTxmm6=4EZ3y**4 zUfFuXd5#_?=0dVq0~j#tPs%bV$(+c+K9{kM9cNO8yvmKI{7-ydrj zP{KnUt9u$+h)#|tPVa^#ZE+mpC)g-a$k6cTLX4)>31T)~0q!#tM`ADn>+Ps}ah_%} zq}->9Zfp488R}ig5@OUp^dXsTZf$+!T!D1e=}5UpBk1 z+9+gXVB1(AqrRQ3A0c;B*SBjfQni#Msa_w#yqh z_%@D8>Jpr=T+P0R`&sN7QF}u%g3RB$|AM}NVV%7p9m@CoHTQ8shjGCHT)U~)=XGao zflYENwC?&I5;F`$8J)UM2~90VCGklH2!ianTv3ny>27ZLPxxCOgK!ccxNGF?@!7L_ zp9Cpe+7}hmPl-UFE?m(aXa>d7D&{*@Q}0C~Rdda=hlY%9(YC`w8n6jv>+BMhO4sM( z9TX1j!rXK`9Qbr$+D5H{^X$AFvsMPLZtl;?9ki+Jv7alNDzpc& z>UVGMSBNA}hwyjj&2NQ2SBIr=xkiustE^cWd3=>^>L&1yxf75#JUpDT(9( z(warq(djNIz^|q^$OG0Pxi9Yp6H`PMUmuO>9DcdQsEGox>sQ|W=(ba%{kL5Wq8uis zN{>v(b4{8v+e6YK=s_;x4~oQf-_C8xh-L#sZXrZ#$G+ILqzkms=&sD_3^Dl_n~P;K zx8qeMK3ddiwznL#{M@EXmVs|e8FzO+=P-ZYsq21i8*~pl19-5WjM06ArJdMVk_a=?@p%d5Kd7@H z9)0dBCZ*8pC?!JOC*9?p?sS6G!lEyH1=UgV(J^mRmT~!X^`1X>ZvLKzZZAs_!((>Z}Y7~j^tU$0XhMWW?_bM#iX;SKRuqj`LZb))8V z11Uv!OZg7xOqjmkX#>UV7tZZC^CmrK))$Fnr$*&xUnrUv7kO#ZU=Dlv2c(KPDw|Nq zJc58EDt~_c+XPg?JXV)@Z{j7m@LHTlCf_^{$1Ws2fA>AoFFcs$8c<=9^(uV; zyp0|J)!E#(L3=(tC}n!f&a`?}<&LxU0Bq=b+VmTG2#hv>x|e10;P}MLQLVKikam;w zZ*0&15IFyZqS-9V-q=|f0T7H%s&e(InE2V{=p~!DW{wd6KFVBuEFKBSG{V2#3pL8% z9D*e{2ty{?SQ>`N7~}8C=EascGn$-t{J7*Kj)EKi2uy+E=pPi-vI4@w=A0Eb-=*3m z#>W>aN2uC=rUhh$$^^8?=DUxA#UF~6{E-Yp?3T5=dnNfIq^=e_Q&*cdbKvlPfaEBF-1vt7~hY~U+e;)6ckL3CM@2}T#f$HzymlW7_r{7UgU07t)g zL3BsnRlKK^!XXGEN?{DkeiBo23^Zz0&^50;GO(BkhmjV2>AZ9N_apfw&H%CfdG36oOZHg1HeDp z68`t#bW}@Fo%X_h1B9lgrpxV9AQPcu$5$A=+$8aDqA4Mc3xMdjNu^6kE~RNmcWLU3 z?@P^tWHh?%94f5ZX6acD2Ia~jLs;h#Otu!B;e#i2wiy2&! z(0qCWjtnirkM!+EuMrww?>aUX7M40{({tqyP~HnSlF>vRJr)`IW#QQYHoJp-G7qP z(Yh6E4WhRE{M6Ia(^u-VfTaR(X!EW)(0ig;pZvml!+Vjm!2-?HFz1z_c}Q)Ls+~so z{HuPA2b*L7W%DEyYg!SB)Fe7UJA*oa=_o6km}gX3mR|LZrUi(VV@YYs$|bRI9^~g9Mm(h|x9~5ZCgdSnF$Yr&O@koc=x3=g*%lqe0LnyH5qz4f`QL z(hha{5kOudchXC^6AgS6 z5B@LZ;8sC62xqn)4?q70tKtE*OMs}o({K2OAzRNDWJ?UOwcix#oBbDa&h$5*mo*@? zfY(sfH#F-?_L=c}x9IPlWOD!)}7=o9VWyTGu7+e?<`FKM_Pqi8=1^D1c}B z_MCPxK^vaJGnFhjiJ((@y~fgxc}h5_ZG8WCt`{5*(YT%@8?xgjb|4fV;A#H~Bb@P! zLWp)Z(k54lzWFinMO^S^%_b17F^r?dfdSZNq(;qgW2y8!(kKle0RB>URK)_qM4lU} zP*;@U%IEF#j8M(K{KpOv#q_)x!AmiyJgJ-gm*xhjWHxGuAY3?=1yywbjd}7vU3~vP zO=|Qx{fZE;TYDWmHcu57wiIgw%D;-nCqCz@><@);-_6;0{CsQ%N<#0cF%6piF{N%f?r&>bB!y>E}m!^}D{x=`APk zOKPMOzq}lNXubq3jqO^0$z@8_G1+ZFU1}4^kU;pT$K64{FM*x`ZpXwEln*xQTsSj; zkM8~lWjFld%!lKjU95y~2xlH1rtZ=?^BgVjo=Q^Fl=+~XG3`V`U+&bs!BWJTa=erj zFmdY`7qU%oygT!W{7e1Ijfzea|AnHnVwqUJ_Eg2S^%k;uyPT{#ME2+5yOh$i+ejIY zzKy2Mq|OO8<+;!`xp(VUvPHzu0CJTA_4x^~bpZo^>L0wqpsm7~{!DJrkMA-F7P$!j zSyake<=rs0@r?}QI0|WF4*YoFkt1+`*2<=5*Ljb@L18%ZpHV=Do*-R1V-*k9hc( z3yDtq;M6elG-$&*+S>D(Wyp})#8jbHvzEi4gIAyXkZd=#*)mt64AC+8v3ZFYK%?-a zA1b&#C+t&3ZmzfmVq|1wG@pZmqolS|cAO6YB3Rvr-@0!Owt96;w(=tlN1VGC#Xt1+ z+t7~Cp6pyq9IEfeT*o0$TzNqUK?z-TG6rC3B2$@Fkyi!TaVcH=0QLPOj5kJpGj(?& zP5g~FZ&H_9XUgefsc3nRHq!~K;DxO_j{Pj*erY@m7B@&#IoeJ5^6qMXFa^43ny+pQ ziV~Np+;wy7qqJs0sikmw%SlSw_rEAjt^v>p$w1?JCg95$w4VGWp!Mm4pDX&JUPDKF zbTjVAHSwHa_4;))tAjV#H{?JP!t_i#a~R_C#5HSG2n32-{iAFRf_5+*L+otlA zUcQ?%pB@F@ob>!&wU({9=EF&|>9dg*6%2uZ!lXcI!3d+PgNAZ`&Pj*qYW3zH2Xt*O z-_w>t)}7{PMc?r&N2@bRLSLK~M~~mE_~M=h`^yBSX^HM+JQ!s0byPnlETNY?%=XdJ4ukJ0Hlx(A4K^REc)~FI>VZTCREHV~@4tnd)OOX}+J}GsR|_riuT>cZ z08lb1Be{y-3)g;l?|)|X#e&{GJ$^sVY_CT^St;O=neZl3rwzoXPuhQ@jWnyKwn^^E zuY`%um-dk)yHQPJrIuSyTs{+d<`IUpljZ$6h(S6Q@x1=rN2Y$k6U+-1{L@sRrh?Ewq9 zUkXw}b2jFwe13Jx%JcJ|g+b98dTv(Fw`d<6uuI}P9*NZlEe0Bj$333bmi}T~N>z&9 z=6>da>KkztrS)e#O|*5clL#?lw6cYX;^`Is3-R!J>vg)+RSIwG7CX5LEjE6HX%VY7 zR@J?<^QDf8>e%n(0z1}%^qe8ftLh$y$-Hp#Z+MG3#NY6S^<)c*!&GN^D_KQJIF!l`GB-e4N%OKFzf+I>)#7fE|C zz{_@&1M)TtC;x_Dtc#BeTFCwcE_7PeRKOeST_PCKIet3@08zwG4^Ttw-lv5SjZ>*r zt^bbJvgjA$-PkH7AYj{oj05EQ`9U5lzEnRT52KiNNKN?&G7$C)xH&0gApQhHQ{i_W z(RHgN9dzbLuv$TTV$cU2PNFDxuQ@??FrtP*q&`ev#C9_~ayvt_8g#-i%6Sx}n|Hi{W*Q>3Y?mKyno!6lK0*)Ybub343p-^*dMHbIq;}Syx+%HztA$aZ; zK2uaV3t~&(84&>XcXzB3GKR7)ULdgo&L5Jr-(6ug)Vd4<69(ESpZg2Rw0iN#xElYt zaQxB27Ulna8=6|G0hua}%Xt@N`&eQW$ccoIrqFZ;p(;Z&FCJs>KY7z7+sS(YPys&x z2L%R%T(k@JCnWwgwFY(sAD#>Y9$!8}^E~2Z(nZ`}>vFQnX;ipJ77#2plL0v0Oi=`o zf)1_+{zhxxo*K~RgnsR1G%kda6A)H3?L0ihGPAM<>L=YwsBJZG*J}6z&Y4r9!Vhg9 z;6CI8MAX(Xd4dkm+tP=%Vv` zr#vcGhrV9j&Xr`N?a#>?&>9@vlIsKXuks01U*JCP0ss@ej}?CO-T^gx?la69B2X9e zS0c#MpLtgcSGh8 z#KsyxMH^qya#bK7lTwqVQiU?cBEooZ^1=vHr>z2tkwOPR=zZec6sPwqW0$i_85a zSSGwwHmgZGlgMMHA}p)YF9etTPa1f%8tZ^?wq~=p)JXM9spzKbuYf z)J!Iq_a~zXKpU(l(P!JF`OW7Yqp5ZZT~Qa{6`uPu(nxDvW53kzFJC_P3SRzO7ssR z+avD1u}HzoTF?{n5MF0~7jbW(?JEGgjnJdP1b0)3tx)&It<&mxDxt(iTg%#kXHSn> zFNnf+%6=>iw(YsMISUl9mFtk0!xn1}kzY>}K4%$(wM-I$HL@>=OWf~wC<06!t93HOhu#G2QV zQ#Fte5fGka(P`L}3IE5`3xw1T-LL1_yQ8JAOD2k4jH3-I1#+fM*#^GAAni-iW!;)$ zgeksld?Z^GIwI>)2Eq1UrAfr)P|aZUS7&;lukrZNz9OW=sf_4m5h#BP486JR4A`Oi z##o6D1i8fF-o7iZiY#B+%r6%9TR9RP6w59x%=Rk)(}O3+%v?E)i@!;>ND?Z}+FQu9 zUJv_KVXFLk)j+Q;y8RZ3mo0RPQsHKgP|}27xIKJz7T~*Xe8F-8O>7^N1j?HvQCA6a z={qf>_kq`%M82)hy$vAc?gN(y>hzpo396;)N%nw{Bx_wP&7w~M`rg*zHK7N)b$k~2 zCq04^##`PFvKANE3*!%?q*=G?cq~Nj2NStkZy8MkJ4=Z!V&XHrfg0Q%fS6rtTe5{5 z73ZhdB$%mJ59&I6069k1EhU39;?{_Vlt?3KEO!!97>qp6V~%*fc77{Cp;TYQzC@EP zfu?i;xIRp1lB{k3y}in_^RM5QV)(b%!vO4XymhpbA@zaUCeI4IS`|sv5eN%3egKdu zH9TwGa&ipCIoh6VEL@;_0~l`J3;tYA9>LVE z_NlDltDC4?;LOKkv-_e2VjsXctjter;jEP6cofW;dG5JUPh=Qjx?AW$9lP)=SF1>Z zW?{bj0Mdx42LMI$7=3$15{W$OeX(x+>2z*w7(9cZ?QTo}8*!fhvet61UMN%&h;RRf zfV=E79Nv=T-vExyRl1Um!FA$9PUK$eLJ=Je+m7#_q0GOEi!=k#^>NZqXPz$px~QH+ zkm}V8EP{VFJvgY#4Q9TD4f!M`o=p`SK@s3*pD3^(#G0Ksp`X;{X^kdZ&hnd&Ies9- z!#~T{E~fkDshV%&)D}fvCdIVgN++k%>dTzYQ*73D0pu8`7=z$pqc!w0*)cVmD^>%D z>Ga3n?;n5zV*DNvaB#bOm+De_gZ_9EVGD$XJpn5h(jhIO)=Kjp?enz( z!H)FA9iUYuuWzsz@??PFfG-$0tB4&)-6-Sf!Y0))`! z76nSq2H6QcWl|^m$iX)|R=fy5SUIH5VMp5ZtuOw%L!)aErh{jct22-*z09vkQ~>ns z7BPvxxk;3zV(>2y=5VsdihJY!{H7xPQ3Ok92l~_0T!9pCy~9_K9ED@S{l)OBSUa80 z{1U*$O)hXQ%{bA)^7>@cnsG&m+)A0skamZKj8>8FoD1E!blpR9dRV(Zr`YWe!&wP1 z)U6Y8%CpygMALhdd6OH5xqg`I>&L$1eNjsKJS0vC(JPqS2UXA42!2W$$bnvMhZc3u zcwj47=APJ*x7};|kjNF*&Z8(jD=t73&e*t^YE=!`fs?ODvRep?&BM>=gug%@uukWL zbo_`T+$Tw?>+eLGjfduQ;wt z@1W8beR>!xA)}$1E@NB`%b&M%Ic~2xpH{tPwHp5_A5XT7(6z*RRb}xd8s(;|+jw{S z3#f33D-yZ6vNc?P8*=YgQ3}kgz5Scloq!+)_xDs>ls9NC|P-+eq%bon^FBynx1Rs-ZE>=nrw%(SD zw(?OW6HK>=rik(i-`TWGJZu2(31<+q+(aO4cQ)kNS~$3rHkpmR-rbxf=G}ljI4*a& zNy(Kr1%lfIz`r{Fva=A1D(Z^~)eYT5RF$(R3BRCIXhy7jd8geEY~H5I&&GV#tXzrC zB5x!C4)LBvF>_PE7&&Dfz;ZT*g7%U8h(fE%EhCqK2O#X3UbyqKAgfVGY-D7gGQcks zW4|uk9T`O}%+U`$0iI4T|7PTE0AbT1d3$n~d>W9F(H4#yLwa9(ivW{hoQyA;g=7Qj zHgqd`_m-e={6e1>s=Nf|#<)EVjM(R1YPQkXVZqF7Nf?0X9(O&q|Ncy9G|Ik~a-s z;7BE0Ik6=ch(`q#Y-=jOX&zxjD0-=H{*9kgJR$pp=k_u~B@RjjQ6P}-i8>;;)I zQ=aEvZ+w|o>S}P2WT)O#9_|kxy3+Bg`TnbCK8j<+NnPe;h6a`N;^^AU7d+tbPS9(r z+J3HH#ImPL^o-OF@j?uvLF!76h%RFJNQ;<8IAV1AW83_k4c~^O#XCQ{CrpHC1RIjn z>=EaY4~N+K5*boas_%SqtX4=HJSM}}&gP`P2gSOsEHZ^%{(|XN5k=STt#|PbJkLv$ zhX)VrCOQt)v*_h%3<>#~^ojgFcB>6TsoUJo`+oC?Ri~m5E@hvJc|OJ#m>=w2%gY?5 z&+#54UY=LKc^Lr31v+)TPl>4ymm5^DdEJIffc8W`5Ogb?NYb*(L8B7$Yd(D3o?SSr zklW&KS;vUH(U=_bGQpFn%g`-9__9OfcJNE0j&FjTYsRvCIqV5BVnVWdLYrDQpp%lOabC%%aq=io=223riDRtA4-e6ICWgg(kbn(}aThuQ=2+PPY%EioOc(xt;$n!HD z9ayuMHe)<)bo1c_>?)rSe47VIqPkR$;PotlF_UBMulcu(?9N?SI>_s1Heh1kEqG}1 zq5!usGdUajFom5wn(p#KjZJ#VgKniyNuPv;~w90kiDF9#gNy_a_F&R zEu=*j=0#*}Kr7iEs#0;Y!P8s^%TLY~H=L~%DQ5!m6|XHr^B(-BPeg`@{bl@Ox;@_rMRiSE68NpgJajT6m+tOg-SkDy!+5FVDpKl~>%Bsbr?F9Gu@soe#Zw;m)Q+ zG9xYBfgc(2iZ~*tCeB!O%n%jsjU0-!cf3H72+t5y5V`i~BE^AFgVMz%GZ#oQ@r4S( zI)~ZA4iiEVxCZjG;Fd&U5_Y2@{8s=L2nBhex<;r^D(e}APEp3w79<+-Ner-tcq{yp z@W552^7M(YWu4*jClVT=1s{?~yJ_e)56~3qPv{Qs{CT~krkWOwsmiO0<|UysP%D3i zEaI{7xA3J1IVdm0cj*Pfzz{~d<%94=Qo@2R0;V0EtFx7Zyuk}492D@#UF-^J)A;t> zF<0&r>tQvGPI*NH@hk;Jh-qq(-P=#Nqf@XiGNtT{@;scUi=+CP&C%u6VZEa=rseJoLK4y4Au@6t@S-KE0%8`@U;4010O%+eW{U@717ps98? zJPDPu>BF3~Lg&LhG=HPCDDKjnNHox_QVZGfb;z9;z2dS<=*583e44 z1%+HzR7%q@-n7MirU-l{XrU?Q%C2S-<{Ea&f6~2eUqF)cO`)z1=Or|YsZ48_q9eA9^AaVd-4qTa2O_dS|%sc z)!366-@2B))mG&U?%e+TSNj$Chlhb%+f(Y9{sr2&)~(ms?jH~D99XmJwS=6tBT{LRf@)Hl_5%$v#0^W$Q$NLgjsLFBz#g4<_f@K?o!KR5u5`RaVC>N`;sHQGsG zN{ZWqECG4KPS+5Rv^u1k7~NLy3cS}Jc+cvJEx6OuweIlld!cx+Si+B^dGnm-9IC&q z&n)g|_Eq3d-B&CrxuVA_9e5Jl;56A^?!dmC;w>MEXz!WXYLb zcFb?wDZQPa=!zle8(D>K_J; zJLJnjqssB`;ndvDuhE6H2IW8f-)>fs&0r4sgXhf)v#ai=Kx_FYOv=?pOvQnyui?OUEhK)s>2C;-Oav+@sat^m6!q&L0$a^qmi{kEH$Xk2-Q b#{M5cSGH^;J?d}*@b8+2zIwT;-J|~iKDH}! literal 0 HcmV?d00001 From 592776802dfbab24fa94a99b082aa64c08131474 Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Sun, 9 Apr 2023 23:49:24 +0200 Subject: [PATCH 04/11] =?UTF-8?q?Supprimer=20'documentation/Capture=20d?= =?UTF-8?q?=E2=80=99=C3=A9cran=202023-04-09=20=C3=A0=2023.48.24.png'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...apture d’écran 2023-04-09 à 23.48.24.png | Bin 51051 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 documentation/Capture d’écran 2023-04-09 à 23.48.24.png diff --git a/documentation/Capture d’écran 2023-04-09 à 23.48.24.png b/documentation/Capture d’écran 2023-04-09 à 23.48.24.png deleted file mode 100644 index 749cf7f1b188873988871306318c719c7f469490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51051 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 b#{M5cSGH^;J?d}*@b8+2zIwT;-J|~iKDH}! From 4cd63688c085e3016c659c1c87fca5fcc2bd04ab Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Sun, 9 Apr 2023 23:50:01 +0200 Subject: [PATCH 05/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/HomeScreen.png | Bin 0 -> 51051 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/HomeScreen.png diff --git a/documentation/HomeScreen.png b/documentation/HomeScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..749cf7f1b188873988871306318c719c7f469490 GIT binary patch literal 51051 zcmdSAWmH_<)+UMu4X(l6Jp^|Mkl^kF3ju-`?(QBeXyI-N?hXk~a0nKla0ni(H<0(7 zbHA_e=sRxz>8>$~+U#0;ttm_9^UPUcN($1?kzXJ~K|wv2m623|f`V>>f`S!AdGkxaSL>`9h-L~JY3AP8f zC!?wN>3l9Wgit>e>?Cva)JS{(X$&833+3O-rh zUvh#V?1u-a?PlHHPrY=#@nnUPdD*kw;%P(Lg8IVeldUHd5 zQ!M>i_489qG3F`ry!-5gE1uy~BY8ABM}qHLlwA3uVr}%vT(|ek{r7b(dV@-+OtWe= zJ>cpIzV4=_p;ThlUPg=yq)Dn=^69|K0AIS35Q2PDS#j)NcSRIDS@2fRK;+JA_AuQP zuL60sQiuq_E0bJsogYJ2k;Mv;kY|rEcEws^v&e7?kLIW|iAzI+UYUk!%fb63Q6=>z z_BF8$%D!VfH8ek-L-vxZrDqaGGDhyf3-a%g300?X9vTfp(Y%ag_+~7Hb`?rfJ#oWA z9=(Ag0rTsRmQgS-ug0ojQnJWP!;h*-z9hvR*C;h>5*ufo^9{t>cXq6^G;Oh|?0Maz zWcVB}@kvG4WrSV!2n|y(3dgR<84*JhV|p2K7C!`u*z}D)kNf=|qj?j*kD+fZ4Bk%c z+u1RyvKXjEP_czR4I7VT6v6NrB@_xA41a7#5*ls5M{>xX)n35;FQHCf*dB81BfkKD z!WVJWyO>=j#Pl#e;ynmg-Rm%>t)5DVSC!pmHxMXJ)7GFGOuiMQ9yfC0UtRZDbM&ir zUnP$SIQ@Mjw>tWQt~R@9_wO%mFs?I<#A(GlWr8Uurh)~-#Ck-H={Zt9L=dgCHSmx^ z$J|x%t)nhFejr`GMN&l64-5&k3bg4em-RP3R@9D$Us4j$QjRz!v+~mwljjkHy71dk zBAn@b?hAW>yv}YfLNNEdhFR+8M9G-X#N7g_cf$*0ks545n%(%@!B-+NYPG6PL>h6^ zfBOFnILeb%@K`l$ZC#d;m5c^#9c2ks2hBp4kqCrkbVnOU`9{~ilh;CUmJ1KjoH3c( zc@d7s^qmf22k{Qm7V_;4Q|h7G){os&sh^r1S+riSVW&;ULDl43rM@G9ws683EWh}p z^8^I=nxV+O+6TxCZH-M2pGy|53-H{dLwV{vLqLe}-0ISSn%#o7z3*P;BYNiPL=S6s z&aO$x`pL23RMb}yiQBbs8`k6<+Q${obU%TkXLsa?fqwKD=<%JBDPDMbTgL3TLvSae z4D<-!I~c3bKEmmCpj8p=Aw;dv^CFG-qO4#wJUi%^nuIm*^*%!Le2ozpsD$| zIvfdgC6*tEwc^rX)K6i-xyKN=m)IHpcwia`7U;Q7z=1f?SONt8^u>Hsnn+K!9V8LR6UmOHV{UPxuJFm<% z=T{j{*{2+8HAamRwfSO@-geD|YW}FHQw_~r1hLd+Twy|Te0_Y{ApW4xuTh-m;oQ9; zSc-!ML%C((AF2wf2P!}5nV8ZTJQ(}wQ9f-kRx1B2_0+iX`z?(tk1K$i^rj?S(k$$o zb0Rilz1mNuVl}1`5$+%zQGN09{LGx6h2Bc}#r!2T>TV^DYNcvKYHX!#YE-4#B^*<< zCAh`vB_vACMbm`}8ucpX#g0GBOErthG}^(!*;GcT&IuU%tSqUnjMeR`}VevFN*T7w_UhyByX%|lV~UC)y7)XM=P3_I%OtNOmpNIxE$7ba^}IFer>*6O7nY11 zOCRSg{>%-{Gk2EFevFwDat!C|7VP%ScPn*k4+`tmib%zC!mDQ)OhWz6{Cz5EKk2Z% ztUSI9Pm5be=*#q%_qzDnGuq3w;Q7lrx$5HTM$5Nf&1N@eE9zTKL*^Uj%;wbR^uJ2) zFYUvh@9sCh#(M1@jT2o)=+-UP>$j~0QQA7{Q10jGs-CSLKi;5^P-e(Yim@a+8y*~H zn6W6G%ozWi+x;3p#)kBEer_anS8u~}Drg65kF!62a3is_m1)^2U{{{!^MY1AyiK`{ z;gZl|@4?wYD=8kS1?dzi4}nhPhd$#zZAE``-!0Lo$_34UD=-aeEVwlp38;9@EI?B zC@dO$i@96%`)UO^V?PQ%GrtV6&tgboyZ#3VY4GOHX5cSE8iIxp`7qxgK1bIlbq}!a z*{rdeyEP&;`qDMurQWsPH4`KfSrvgH{W30CERVg016i^j8b0FP0N_l5{@1d-BXsOdj9^( zO#S^Cl9s=dzvdixj_AwsmgL6AQNkhlZ%YY`n7+I=gFw(LdkrB=mzC5D% zd0Ed`jkEsOI2%R#kHnIs@VBJCi!R&>3iPI zjJH=@IoZkf#gF74yyao0V#Q`{ZdZ|ymC2Oc%_j|uYwsb_jNyA1@ zUYkXGsg>4Peo`l*_WQKAc5>~3j=Jbnre*hz)YRe3$+Y3mm3FXq?s(ttsH|5=ua*{x zYZ}3QB?S&B_HS2{=yb8`>+bt5%bn9Y>wa4s)}z$B9EL89YwRlPHc#4ZP4ItJP?>3F za+=9s@@r1pA=%+M9G_Ed!{1BX^J-(WUOu~Bz1Br%NBcqcRZz<-)VZh(+9KuW*mBC$ z?9!*jA5Oe`c2-|pPQX;r(sg9qLOM=z*RvDrpVn#m5p=_Ko+*SXoMsFOUKKg1>}II0 zE9hHCSnLXtc>mc;UEwO6Pu*uR_ZlG;+HyKLa_hV5Lpi{I!N16lc6)Gs4OX}q363De zPh)j6usnD%>2y=Gypf;@Q<>iQt<8N^=T~jTF4BzcPnp(nuLPHqx$;HbN*ny2cb?`4 z`dv#k9y=F|heSUsue#4;gq9AL`bpu0A+7`$M~n3I zOM3)(unCdfw`>JLdbippM7ZzDye&?CuNdC>IGx7q9=g$Zb6>h26W#JGEH|}TlZ28s z+_N4oZC#j=or>&T4qVROF>Fsxj;glDwv}C3Ue{jfUe-4UxCI1IMyF6+<8-`};NpaG zZ6$%Sacl64QiK;X$UaFo&y z0E%!kE!p?-@=%PxH6j!o^b06>;0hXe3quqA>-se`JrwNYeHbXH5DO@{zikwN&xcnm z@P2sa=@T|S7zzRS4-0s^X2bl`8oDVP_MdB5QQ$i$F;xj!S>RLE#KFwW#_@wKNIPn* z9JqmGC!_5M1%*fR@P?LEp*{lopSDob0%^(1@tfFMvl^M&8k@1YTH8JJ110Fn4_sQC zfsDvqtv}j0^1BLAKDOWot{-l*QIbD40a*!AYRM~+OV~P?k-uVPXJw}pMkXgG7j!Uv z&#xl+`tRewe?pWWKp;DQHZ~U*7giT8R$B*iHV!^MJ~nnvHcn0!paqMgn+?dwmBq%9 z>Zy}|`jIqqG;y%716kPGkU#WmWNhmM5~8Gh80cTGCppbrE&e@{jpJXn00r3|zG35F zWoP?W-@v1S4|n;MEL_b#YD-#J12zN35a#9L6nt#|-@f_xi2w1V*1w;8`SSnqJ3 z`6EuiVInGX)DdupxAq%U(He`L%;}aDh4pEfM76r0y23+?mApZ)NdDQ(w=8(Fv1B{i zXnrUp&}^>gv3Vija&d4lG;(9^lId00w>Hm^tlQ?dJicT+G|%#ofi=s0demjNS(RB&9eQ zg}&!1cD(UsRm{6n7;Z4;W^q*1?AnM3?ciD&@?pF&D+KwX+Z)4CNRTH|&rA6d-0_0& z!ck}3yQ1CJsDE^rQghi*2SlM(zA5qgOZI!QeQyP(dGu!Tp|hh!W{2AB&1<5)+b9;@ zI%e=rOJEFG!MMu3?_shIr-ZL&MwrU|hi-hMm zvGm5cRI_pJ7VVeo^l>yTs;{n{O1yPUMy+D92jLfBLnDV z^ez7R36`_#!B-^+Z%fCmpjrdjdBB6ojehM!U=_d!+Xrtfz z4Zr#@__namh?9{>s6vN3on||tw$hhuXOTkO{g7MlU+%6pc#VJVRDfm&TQAFRs|*D% znXz+=jg#Ze2XYom6uM$*hQsfxCC9Dd}CYd(1^kv;rTuSvkA^dKDmM~}`PN>_wz zy^kwBWDANG-||+NoJYUzbzFX_X^4YN5;Ss~uJM)Z{5lR$QTx}<_1k|$?)E-j?s(#>8&SS7G*78)JR`M?Xn`oq;A2w9oq_Y7*#AFHi%5E7JS;{1FQ z7<|w2KU;1K)h5#Zl;wJj6F5I=EvJyFK{73&s!DO#v5lmpYqH+)y3V@4zpT@?4JgXY zS`Us!r(J$i_a>}{NXD8niPP!&#UE&N#gzwAEr7b?cBzTy-tg8W?tZMh%;|*5yR@*< z-o{-_yh~vhxoNkWVa+d%81BkH*wIS!7)M8n6*a;Touk@#JyoKv4h$X%_M4};DbcL7 z@#ePt!LFM(U)K`vpjd|${V@RJd3R2N>!8LOjc)s~1TTmF5v>-;%*;$-iU?|fH!S-j z<}*q{>KsHW{O*N1>$Ld>``r1j76~T-vEy-2z(}-+qHyD11HExBr;1gj#h@mgRHDD( z-T8kSJ-FU1@$UJmuB-sb;|ebyqgbWigQq56v+C7=I4}rmnOn_NsP9gftM1NJYGO2* zB6xFKO}`Ymf=OWG63n|a?q;J;_;vl;2aDYAhT69Vi(8PM=U8Gm<_8>D194+$x?Fb{ zom*lMZ9{IU$w|G{{Y>rl&skJ;yl2$)ebsk!BqH(Th(DdH@D`|S9k6wlQ;fClXO>hp z@x`;0su!~+=qKtyY)qa;@K>UCA;Vr+Ob!9}oYQZepp8=0bZ6)_8XDzEOsMU_@9_N;>Idsin2S!E1$@s$6$U=36=+NFwmuav6D4XC&KI*Gc)x77{Lr{MkD_Z!4&D2Fn%4@b2Yt^@YXiNpSiiv zq4__JJvy8ML(~wK;V@4ErSC0|?a#$eZgm^QY0p`jVgr$K@J~_TjL0SM*bMdnC0e8+ z@MtHO2>TzcOaBt)Z8EF++azXL`g@&v8*9rd|GY%;WGe9xFfo(4+cC~H6v(fPR3J6X zAV|D`&z)ys0@C{zqQNhj1lR6V z12>5Xpa{Mogq$}!@6TV6GD?BJ=ZtmAW%1Z%PF^Fz%+y)yCV+1e++Z$$zb0KV>q@4Y zhv^CL=KH$URnsSpFpu&}Z_}htz%*WT_KMWmHC4`|Ex7evCk&Nqs0eNChvl}`%1vTq zeY`-ls7lAJ5pE4QPBfv&So=Lwm>1)GU*U&Rx%v_H*88I5*)&c+1W72epCWe?yJ56M zlL&mSn}8Vi3z&uf?fZ>OTS$Zhb})1>Z3nn6Um^s}A~6l8DKrSJL%G2i70F$NGM8P= zmsJO*=>2DItEAK>#H5!mT2vbWKcuqBdIs**&KQ*S$-y(kLx3x)r34-qSwb?ecUl%k1tD4+DX%tv0D;W3k+!YTHH`>8C;l%nQp zt!C1#;{9B6VF@QfUP);cim~uBY?(1NQ7nKO8Y{(kIa)hD_)8(6$Wn%vME(1CGcU<(H%z`M=%P3lEiUo_`kVn zI}FJTC_9JlQ;6aHl-|Ne(i&J>ay%*&Yyh> z8Si#!3_4Xv14E$+PfP1M* zp5Tw7zf^MRIyt*1RDfR`1cH1BAb z$>@IA%z?!*wjR0#8P8?fFV`9O%Cq!7TImG0vf(a`o)Zfj7b;{}{yfwu*GXMP@a~4G z%)#MDBu3`oRnx3l4_lTlbgc+63t@bv0F7smx&C(k5a-?MlF+>bBQ03M20Z<2D#Z>G z78XM#Qb8YtCd4#8hSX01=S_-l@D_$T76nep4qsv_KdsgS0`12C0$?8f$+24X!OJeSe38+{zdLc)ogk#>*I!|NL@LO$^>*RxS}* z@b%+4jTJkh62#k*4KOl31SF|SXMisb!&#k1a1+Oj2%wvCP4u2Y1x*=sf(J<+f|t-x zDC9$NVs-;U;XI;eD75|+AH&FyNglL6xwN+aw+)@L!v;Bs|Y~7U!8H>`1=Yx**VQS| zZUp+ItlKw$9Pj;%b)qY z)*$GQnkaX99l-o7M6=RB|LkyCM4i|z@<+|8A|3_n<+dee$%v`JC06}gyX)c) zA_W3|)LI}6QsxxRQjPMCR#KW8TGFt%b~zpv1V8pO*FDq zQb0c#Zh#DibBU^qKlM}_BvB_L&v+}tlZZ%HKy>>JDFgJ{4?sq8t2CHW)Z>J`EFj3K z|1pjX`LmG8hnNux35N_Cl`^C=;CM0x6QzRl_UJ7`K`*@+B)bZOx9r6`CJ>^E`|vx% zz>%dBENe%Ih4wh2TYK2**^?4iQljsB#L?xxPUYv4d8>SQDRUpD2LS*;VS!w#F@G~E z0egpHx*N-rrTj22H`8o~e!LTMKV_FdW90gDLoH$@PWL7ItId)QFfB&@vu%oqPn*uy z4{@n1W|ghyC0}2UDgORK32HitU}Rz8KK{i_?_Coy6aU}>BP_eoB!3;@myTlDkutaS zF(J*{-_e805SQX<-VVk3KYRY7=wPY&I*hH7=Fw*KN-&cJ@~T$TWgHUE+0ow{pk#o= zJ9QiWlpaZb}ft8|^4#z(88wfn7NImve)eH+>gzSeX>e(BS*`P&hI749O z^jm+)GdCL0ve!k%JODMfKw73h$O+dU2+%~nYP5=qvrAe&Bq zc;vSn?>JqT=*l@;OUl{#tyPc2G!auSNOu zKnII_Rem^=LX;20m*b__-Yc8MB6c6b0?_tUsiv95y4&MCfyPowpi|T!di7CBYx|jc z3c>q#>y)X4@akX!=AU`8*u7!t)-_??k9*Q3;sD$z!ONdz+FZLk-(>>PzUSWGoQxLK z)41zTJT2TW{(>*FguGPeGlj@`V4bl zVf=}k6c3@npRUliY6>;(;QeP}s=bE77BE?H1u%LB#k0gKStsH6lJ5+v1@uGu!Nqzz zKZ+9=NuQ2Bz(`1NV{!Hqd9uikRJl|p3c4W9RIX{fu5`11%&$b~SFT%Ma=hN3HkfgJ zzMr-r9uj)6*q9K|%k*76^Y4T}9LTnh>^xX*_pw1)YOr4)Dx=p@Zvmn+1psK10e)p z>?3JWI3_E+jDxP!DmnDc{GJB*$k+YT(?(&Wr=P_t-}1I2eY&29!MguDeN2;mt@&8* z-i^cCa|oq0r;iOHuZsnuQ6fl#QR0P8ANPbSMNzo#m7P>~&(Meo5XI$UgcUKG5}7nV zPw81rmEaEKNR*K~YoU>h*uq57-AZFw?izNjCOxSr0Qd2`{c#BNx|rT;X8!6;dXQL6 zu=j(Rve^;;su{>ShP?iC;8amIsOcM9tuKoAm%JtNKb3eqx+Q?|H6Th(gfb9NVVr|F zU54_r$Ps6oaE0R{3oURf7FGD{heqwoM}%EwpFw^KD{j@^+7OXe_zBT!vN_UF~~hs>@Rrso=Rc^o1FI7)AhgE?cQ`OM>D!&WCp++Kw%w{o`ur0eKzfnwG{ zAfNl`htb`M=c8OunFHF7^P?LArE4D9XgZ41WJ-C{P6^XU4w}(-$xw}LJD<1O$caF& zSnUoGm`V3KpWCQl_yId8URdhOD7RDHPr7U8&+d-21jHR{h`ZSVXyI%IEe&1llbHM> ztLm;?nM1O`n((HgyQ2qr4<7$fLJFh+HCZx8leM*cOt&d|74)Uz{^B(H#WS3F`WBB< z$f}!uEOtYPP30*roTMwj#@N_yjvsk4g83FhG_vwb?B3^YvIqV`6mvCSp032A{l*o(Xx=p#f>T zK4`uK7%8$!?JorkS`?y9*0WkjZ0$ESmApH3JlK6kAtV~$c9Hw5QG2y7jiuT~QNa8Z z-sE{dl;Utlf$ZS@``6%zn_8IoJ7pn$fS0}uqst_iu~wudje5Zyp5-*HeGEjn{4>oi zD2E55D=-mc-`M_i2#?u97v2(Tb7bEG2HLP*^|=+)QvUd&suxl}P+NI?{Y zuS`R@4>G>B9(AG6-T~=@h%Ea)!uKMHV^?AKn9{_U$-Lw-x&U`O!D%r;O^58=(ZeKAax?g|@j_U`L-|J%rbQhlYw-?{tg7V3?miFH^Nks5P`>VUmJ5Zy;-89JMPnPQDDC~Bg&N2xPUt|4L!QPI3!!HF^kX}u}*rF zIru+iu98tA*#7Btj4pgh-Ui6P%m1n6WJDlZ{Rd#juj_mczXk%uD^2>N3$neh_v@L; zf1)sgWDo)mfL$Tx{&Z5&UP#QpddQBrT~$$tn}S4B&prryCW5tzUf6MS=+Yk^Wv!|} z@6ihny)J1D-z zbGL%>{p~?Sm2zUSht}uo>*wg1M?*5Mmn**cQDJNk@QB%h&jlbk>GI<4O=Ez)cbOnm z1UbXdp+#5?#ybdYO3i(mL{(`Ckb7gz;X6w`Z%~Tnlp&wuA1Fx)>+Njbp~FMc1;`)RK)ifAhjdMa^kQQYN+vUDms zET87wGz%z=$2NNR;C_?zV$o62f5tq^YnoX4ArX?G0{OUpIQ7~bn-p0PQD~OZFpjpq z+l{@;Ee}3p7gF;Ol-SAvLDC2tp8**obh~&+n$Mr@LVKZ#Z>T2r($9b#j;6jDG6Rm9 zO=+K3#?0M}p^r5jx_aD}T7a}9bX?HrR&>iWlL3rz~vgLPpBMBU)z5k_K z*d@T~T33h(_BIBw&S523wba>wySWR~9m0{?T@HUD8RYTfN^q^HXoKpGFR=L2jy6X! zcI}*eP#dsw``_@-tZ3(c7ly`UZs)-CDgIdv>h20LN5$Vw99Y8Z>C(w9I#e?Mf@xQ9Bm;@tHDG=LmZ=mCy^5wLZ1$X*4h^5 zW~R!6r2*pM(}AmT^zJJ58{K#Bv+L`W(yb=v;-J@?c2tA_Nbp7zok=LL!&PcN)|sX0 zjixf=Qow{>fE8Qosmj^qdQ93n=R0Dq<=GyezDUCN@AzzX-haT(#AD50z>vSetT@m! zJzw(izB!i87a= zm#Fq+DRV$#!w_%}H{r8j1H|Pt+cv(dm-nME(A7gXKXq=#b0!sE>YpQC)$mJd^QlgCt};Y~q4!f3vlXw#zjXN0IdY^vIO% zYR-s*VV-3*cY;8q3G1j(DVGUZItG1i?SrJEanV2TXgWE&h!dKYMzoTf_GN_rKyo*3 z8qnV{mQN}O3=?BTD4=9iyD!bC*JXViUv(Ec?bNbaiMrvvIqHsb@*3jkr`P&qSIo@6 zaOt59dbPS;CzCl^~&6}g6Fof_AoKN57`c9Ugk<|U10k? z98i@~bkkwp8*5FXjQGjG@i1`pLa{%`ScSPmk$*9GbPSWHg4 zZ9ZuFew^?vr@Ns=ZA6G!45h45vT2WM9}*h(jY1gm3Fdw+P@4dcqziPRBl(%#2F+f4 zA*n$PFT?t#l^Ix4V`vc#YlWp*G)+jlk+}(0r~Qgue0K>XFvh7@t<9Gxmg8U&md@%O zPH2St;y_m?IOm{x$3(1BejQZ*A=pa zC5h>y2 zVV$dMU3mO?Z=cmaWH)<|)cXzybyScZK#qNH8>*>XRn(`YM}nV7@Z9Ej{Z% z^!#BPaKZK&Gz-eIQ>svc++eKNZXkw^fp2#W@Be55rLBaHqi@5iP1e}sc#&B#5k8*D zT{|>&l~)LZZb=N9G(RD3vzH-ZClfQbt!&_fecI9!2pX|IO)LM~;Xqu7laLs4`g7_9G&I=y}s zCeOw#q*^nAyP-a&T{e5X0rtJt5wDNk&A>4)-@+k)+Nac%VURQ+i`_83@$5mBYD^!$ zAT;O(pDM@^P1I|v3;Xu#6j*e_Xe?y_UhW3`Nw#YkMuo=YXJBWV7yoz~FC2}yGS8~t zlrjZx>WrfX|At^z(VU+>6fRKX#t0<>(^02Mle@zn)H7!N8j0O>+B02RaM8PGt&@)p z+|75RR11j?u@Pb9k%Un%Hx?5|9UnHVr|aGQQM}&s5VR_U8qx+TR9N*U)M~TZF+vt->8q~_pPJ$_{*_Y>8GR^U?BTt2wyb(kO~1O9-{I?^h3Ftumy$u&$|{wz zsF8Hq)I%KKG#NTMLUULB5@UW|g)g#tGD8yU0N$slPV$U_HpE$A=*aJcfP8<(2{P7s zDfD)9iuxA##?c1V8LDdDj%d>y-d>)_x45 zT?Ov+l{s)4kpK|wno!++d^xaB7wj)3LL5CwY2G)!9U^jMImEC0MlsB^>wID1H6?Yc z&Bxofyo;N7&}HuB?K{IezaWjpijC1_bT-EU)v+N%-`(@r1a~0;y~EcJcN$Lx{p`583(|`zwsnBr7InBMSMnBc--?!{H}#KTSY~iw|NYTN~ny z7p?mj&7d%Ys3k?lk0XH_yilL1H-pJP6l)An4Iy(3D>t-C2TVw{XKbrL9>fSMdn`yc z!3dWhdci^O#^_b9sJMBPK@+_MAU2VFqHj}k=2_O8KFlpRoKn;nq|lgUpLC zUEKy_pV&nejO?*|-!)-VlmU`w7f)clM!KVp7~e;1t0_+^xwU00d}2ehi*nV@R^ z|G)=D;AJ52=!%kd9Kw+4m9`U z&xzpeb`^MJETDY=B|nV2*?ockg-MK_@JK;Q$~{W>6+$_}{_}}2>mUR62^|pW;>Z6r zUG={y9(*0-fi!k0BxH&NcJ_mkyu6-|OItU4{pzD|MagRo_LiemqSu|wCeqZ`Vdx7 z)#g#atb7W4r{tJM5jD8(4i?~dpIDuaNAu3K`}p8S^p>qbv#fQMYCs@iPh5`v1NeN7 zcZ}Z`*!blyo2h^&mHnTr6}kV$%nGIt zECL!T97P=f%mAja(IHX) zG5Bvp?ho{vpFjCS$L}zGFq%YxsW@ND)S1J?#KeWCFDomX9i$m2fWfb!kJsb)`6Ntq zxN|GZr{W<8?7dKLs|i%^s(S3#CjYrT^r?&%{sVEa7~7xRsc1e>`JhP34=UQ3ueEBl za(zg4@B$vz1xrksk%K4M-1xu=BlI6izc|rL(u3+wA#D0E7{!2bw3h(hYSZoHw@VME zbW!{5zHJErbw+4_Iz82gB*=aH5{5&Nxsq>uAoWxYzG4Mx+(_hh2CXsxWk4kz}e^83VuN=vvl77mY8> z<*Z4Jx}oQBkSz6lBD%mHJCJ{1QzaNp<57HIfsjXE>H$>IRQPfhXftw(IphQJb1HL$oQR#r-FZR`lktWDYOMp70Hz=u=^IwZU15k?aI+gLP zYH#c=*txmMX}3hZRHGQk7!-q8_;1JGS4gphkcBj?k^(%~>1mzwzK%MOM*g&gIr=*4 zMZRFNr_x2H22jkV7DdGK%0f=qaQyzLRBCw=VDQ5s$9nv5J)9@HU+C^WjL&@&yxrjT z6S>`1j7~g$;4VMoEk)zckdzJC0x8?gKjF;$p76p)9k9pVw|{!AeiRuUOaVmBCE#@Y zEG~0}#%m!U?mq_DF*@&q#;rbl79AXs(=my4pd>tOcZ7X&9!TabrHh;lajoloTF2K1 zDYpRCb+n5=TRr-18#nM&BWgg~6AcFh*faiSBNlOyyE}6Yr01#!nY>4RM7BL1=X-=R z`#WecK#^U~Ve_G|YU$ef*Z0Gpd6^A+90B}(yp`#}+ID|;-48g<=Eiw%mctt$RcS8+ zxXT32c#U>nDXjYdS)7CHMnxE0ER64ET@fnjI6gorjfQ@K?{|qt#g$kIG>#y)p6_*^ zm)=6AD-Fp+eh*M(bm{w4)9y)l0&p?`%Hr~9b@TJ>`NAlo-z6qEplUUxZftEBm~M!Q z6+!?Uz><`THYr^oSr4sT5c{+^Lw$Gwr*pz}Q@Vy7Uk3@R3(sh3=&g`&R zHwNlr6@BtW)X2xD)h7oyLfLnhw)PmlQ~v(=(_!T&SWQe74PBUUh&c0ic+6TDKC40a zYXDm0+IqLKT_UwLO$nlWR+aubk^pli!)S<`62x0sDnHEk)e9iu7=HpKgInIbK5Jog zeP?!I4Wz6r(5%a2Q9vxv5ZiI6UxNXwtn*%*Z8 zA7!ah?{PBBli|^N_h)y6!TGhll3joN1Fe6!79+luOk6qY0n}`qrMyt3&jP0B^tLPw z2q+7xN5Ws-jizMiet;jt+)aLqe1~{VS0`Hn{btgEX#38CU8k!dWc)Bxc-fcT8uPnK z>PQGyZ+k{r>NbD*+-Kt#>z!;DW_`}J0XG9&27o@jzOsa8(Pg@J@hO5G|Emyeh%i8& zf-{Jd-)j~y$0IRlr`+l~rLLKOBioF-My?R3Z~>JlfdtfzeI2D~u57=X$0Tq$%hRK? zcJB^;&J`kj^$UB;eThni_3iB4Q8)SsHbANK*pFYM@*~vyyXkSicV#I~y zQ@DsJ634)>;eop}*^sbM1qOl$TGlsUM-(b|>jDP?X}ayp-{0AWX>gj<@?4pbAA*=e zn!jAUKRML#&O&`9!_au3b-XL8T2o9!|B7vj?d7Ooe(jP$LK$#XQ zX{AnWNmxK;s7_97)l?~W%8C0c{6f{|L9Ec2_hGRQl%{U@6Q$Yq4lz3+Fw=DrlUB=Q zy+4M>+O}%?G;r;`+-I#<1RnK9-OuQ50e%FvD#_kD1>O{>WFI+8(UydRGwQ0r!p|RD z&BQlw1wzbcr5+AV=G6r|Ui@yk_~}8zYa>f;4X9(`ad{ZD##S{(0d;}y zbVq;~VJ~{H?tQ@l=6Y83M)HP&`}Rxe{M@#|;fUJt4y?3Vnr)2T5`U_66Quc&ay0oo3w~e=EzBU2yo&_-R~o8?tpmLCGa`Cpm$MS%h|Lp_GUmJ z!jP!{3C0gKH1z`Bm`1Jyk^`DmDwaWo&7Ph}7Ml?0Wdt(Ms&&n-j`I|g=&(xN`VlWT z&)#s{ky?W0ZLj`R(sB)?W$mpCdDgbYErE>KxF0(Oh^4>RCKt=8cuzn^^M&;!@5a zRd>W11T)ha>T74;bJ!h4G+6qD@vMb_!!j}R?mJ_PoNJdr@Dw3%HhJU+DQ|5Cey|A7u$%5jf>-iL#X}h1GILr0#ZPiP&r~49C5sPvWWP0(q1(tWyQMLCYwqs=@bu6jP>A&r3U%h>j+ybGySY3;801IL>1IQ%g! zRsY9ezyH6`w5&`UwaNd)tf@oCeStM;2tCuEK@A<=_RTBv~mmzgk z4l-WU{x>T>CtxR6g5fkC590>vD?af&;Y)ZiAeHe@UqKG4V~Ugr`CEMV?c29VDNPj> zcj7OlEjr9mLNr7BtDIB}v6X*vDM-cIXMySaC zUlBf&4a~{bsAdEni^_-Z2DO%nz|T4|=7BWY#JaNlRw<);NfD4Ir9aiF(5%dS_!Z4V zkZn0vlWz&s#o2e8>_j91L$L72NO$}tB`mO01l?-HD_4Qap3-8~!je=j^A}=o1$^^R zO4UmX_?`EPnn2q*Kww?~WUh<-wCba$O8-KohVPP;cQd_E+W&L{Z?(SwlK|C@<)Z zz!%suvRHjv<8yyk0%Vaafe=X9Y3GOi$n}yR)JUe#f>v-9h7m`Xj$W&~lekjVX*B;1 zy%Rv*7XcwI+bZ!rg`X$&Urnx3b|W1XFnoKRfy{U@z&Za28wCiEQU%^sxU=TvTZJ>A z&YCZCFaszhC?3z1E>+HbT|6p$EoVJj)!9h0<_Kh%N`c&ge67vWJl_Zj)&SjK;s0TQ zf;$ZFe&cf+_aN4KT|1xLGZd!hur{o~sCuPXOJ;fg4s!?C{~rL_ECwi;O-Te8&!28v z#S-X3Klu89?hqdL&0MKu^u{6HO;qU9&n=Mu!QOjEMb)(VqC_Q0l%PaG6eWX76c7Yd zkRXyX2q-x;5(Oj+2&hDf4I&aG$0p|tjesCga+9-UIJF!7=KaFVU3bo%b>^NmYrTK* z+TFEl*RFb=U)m|b{Xm9cJ_Q5ZMg}Nr#rT%Gxbg7D<+!Up>AB2Owy<9-qrYPrlfNDB zBj$uuxwsNY>e^}K`%7AWKj2q0(?FqEYF$UL@7dBIDn;)_)V!~I#7{?`Vj9^Q!Z2KZ zzCPb?*FqmneP5~T0JONVCHEJu_LbV`-*(@#bp(uAv>dj-i2TP}54&P`r2r`}2TE#n zPMtEOMj#EEf!Ck*cE_gM5E)PkBd#~SogeT5F4F}ws@9SZS+`SnHjvU!rM zK-WOod}7$H9XK)9756qx{he7Lz3UqW81mld%aoJIcM{TPaGO%W*=1gN4b%YNU?Z~M zxB*9Y8!*e>$?Hfdk_?fxN)Z%eZ=F_d6 zrNN#M!wS&8Q@CoV{p7S!uo^8>KHl%~yhFv%JXzO%S=2di7;x(R%)%m0t4{%>a=Yrj zG9?EtnU|qV4A3Zyz!qN*$jV|#N+eQf!6dJ~upnf+L35)03CG|?@-TS=?l@5Md#8DI zv;KH4BIR~{4^nv$L=_5dlO9hqo<0}jo1rOflKYJ_2JQYZY-hjXH6BFc=`VCWT`?&K zsC1RzkR%dIVoYP6p6u4pW@$#1R{|zne#abWWqfcR*SIL0N#hvOKLF8^rekqESSQPyh**FJQQ!lIF%@~y?Yg_50a~02 z=H?P575d05?*imLyRmv-1DVBm7+hw^()pD_W#W363ZAnLF0+BRS(Zo>S%0@Id|_)=me-*y_7>aVPWt}AOPr$WIHLv$2yf|jlU z{uIJeZO{Yi;V5wgS5YOU?$ZtWBlo-}A7d~zFYx+3+ruwkJ@ErZj;?s6*&ye9N|M6F zPs(%}MPR68AoVqOB{vd#BwsWN#GZv$i8EVyP?zXgco>MV;R^+FKfz+S0T57H|z4p-hu$E%%^rH08j;Ramx1+bw`g6GM;IZ$o4XO!{rO_J7z+-lW-%9*-y zQ6;385+dda5@hv8(5g5GUySdDQm+FXfBej;+Z2)wB8bCK3#z?3K;!DQ(1{{Q zLQlr?Udj{xC$={lLyo>gHI4?w)M2mOes1}hofr!=>&hBBR9luQ(`4Bqi27?l$M=$l z`UnGq=?atu5Zuj@bOzRIUh~SCd+zCT*uZ#_e6kVd`AkTr^3@%@FYbEzIu~sR66G`j#ZS#^3Yh>k%%AJ=3y*|*x-)>PSCXZVm88S!x859 zSON#&>9S&H7gqS-C)oZ}Aqf$LEG8iv_=1(Ez82ocuyW9N=)D5dZ1)PZv4D^-Ef|>@ zjg6Ts#!{*wT#0C^nK@ZwFCxboKRJB`aOSBwh{c=fgH{{g*p4ECA?0DK1sY@BnXCNvvHH;OYskq<3iEzA24rcS975pGi-o9hf@`|+ zf%LC|8Y}~skczESKj?=wnD?`--Ms|8=b631xTfCxXh6d*8Eh+>LAW+?ggE2Q(--*Z zHGq+>A526zp|TM$#s1zL_~P#oiP2$c*j+CCk@_`9F-dF^r(J3DeJv2Nn5n@fMCgZ6 z(CtK*7L|W~q!zFuql z(EjlO!ax4;LRZX^5@NY+1Fi;}>iuS%N%gkb>feR_57zZxBQ|k{xEgBb2cp5@(qZlE zyxWRj3Bj;H1SGKAgww-kCow}dd4c6R`h>^R1Xc^)_`~`hM*iuPu)gx-)Z|cbAPNfjjCIS@aaQm<`h81iwI+??L%wp{Rk$I#D)x64~F+4z;s0re97TW1jm%`pnM!0!;ratqm)oZmBYFI|s!%ys$|`l^}@# zRD!O`l_g!riQ>>Sikfo)TBye%VW52EUo!y}_10C~kk9&9n+k`wp}wx0+fFZO3kNAe zQD|BTPId(yaB^F!u`&X(A%8udVzf;gD~5oGLYP|@@ziit&K+gY?#IUj37pXJkRxO!!H&#{~RH+r~FDqHv~Z;F#t;E7p7f;Kt&ZCg-wz8Kw{XE zlZYV4_|N8P@w+%J}UPzxjO{`bCftU30~X z={hOs;8M{jm<6?7uozaQu>yG+SX2XGtT{R5bC>z?VG1(u-)%~tm0K8xRASniX#>dHX8Udj>Wq1ax*hIXV6)(RY ztk`&3Tyx^$!tzVdg2Vz)i%*&yq5(7NQbu9TK2~;V4(fxjF8Po73YSca(%Ie7r2+s9 za|^Fh%vHDpQiMQ!QaVZ!C~MAz?fD>o`)3kjJ-bd>433XJXp$ASJ!on)Xd5b%%6Gn zt@p$~Y&;hxvJCL!FLx}5etyEQ;s7O<7FXL0>5a++ATpoCEs;F`k=M$R6_5VhbIG6H zc=X;8deLcVY1amiZk9ujE|}I6vKT<7UFJ3N)hxixmtDd7o+*{v$#B=zH!&Holo_r& zi+&8&SI!6S(lWB3gem}SS8O*e(^u`UHxd&9gw~#S_~Q-c;x6%i^tIzRK~BMt`IcIGdv3bU={}IIm)?v%Y(T|4x?+t z1V$QE0O3c}zd~M`Dw_`7qLuH}4I@#H>y`xYr~2{Xt~y&Dk97ekL8M!9VkkJyDCCO> zBM;Z0t1A$iJiV;vv2TLAB&P%V4N6}UHNE-ngs#!Rm^%dDH9@EM_$yZSTX4pFNt27t z1Pxe>%WX1-&-8LH!2$~<>z$cCIz7ev*?^JYZ;+sx@kCnntJZ*R4p4$;XyxeFRBNi8 z?{hMAe+CZar@*g#agMjCeG=9rhu(cQh=$OG>{dKRBOVpQcTOqF^siEmC>xJ0S{6&l z@&!>7_wMe`eE1w!VO8e0xCRek;Im45z?ex3u`rU4Z}vrE{%O}=%NvI8-!s^lYBHs- z0LLtCZ^J3-c1S4ka}mku+rmY+o+Bl|m2_&*fQ?zT%59fReMJbg)_q;{H)PFdE-u5` zi%Jb23odMuD4^&c%3^t(nN^bim{k<9@)q;H3F-7C-hI1Xx5%y*uz#)h2A)qDbXYLF z+E!Mm*3Bl7s)dc5*<)&nlAXwHDI}=(3>*A~*b|L^9$XL@ReG9mJ&%Sf`;Mj%2D^uG zu}x7q=*=Oq9Z;TZ|Hh@lsa~IgL@edfQTt#A&Suwp7`+Q=N@I}kf+tk@^NN&~4PxP% zOf-YFrX{dG>9ulxY^4-oT^#7T6Xsi8Ll( zv8VZ>D2rtXx)GqCx!3m__Nm4<5R)mIFr0c}2PEODEsUO(lEr$+*a6ngFC`%ALlu;n ziS@U1Ha#ZCK{^c|_7*QCEj_;PLy1IwAm32^E#J_fs10F+M7jB1qtojKnDj4)3?aP9 z9QfCT1jOe-fieJO&0isY8R{o@K;I}rgk+~Qp6(W$CgKkt5vrpn$9sp~t~DGl8JY61 zkw1vW@Wn37sO9tan|VodwF+>w?D7tNb;~q7^aHolY3NAEnn&M%xb~Qj{*l2u1ih=0 z(G9vz9-kiuJY|WYID8M$J;r&H-(&Puz`*Y2eM@tVgMr^PBzBi~{~D>VyqjNQFgVcf zs4<$7z5w9frTG9&J)S`NB?+S(%}!CQ03lWrv4@=xu$G97{8fMOn%V->i>Y24VEp1@ z^?B5-3L2axR)i=HhXXH=6&EvJ*fBFdk4Z^cP`-IQ zO^$k?%FT(Nid2m?TaLpAn9zSPGkHhe4p!)qNX&D^G-Zr7am_1+Y);U5^S~1r)T5~9 zhIR4`Ugy`Yi*xX4n9_t_xZ>MX0-!(Ry2<0$J|+Q~(nV=?Q$Dj`)VxktIqCsi6Q}nc zMb`(HI?v^(@_^(qW*RFIoY0$vg*}8tvfzNkkL$rNBsYX5&xix}4Rw*3gC+2F;!};a zN3uVr#T+I8wyM_4feA!nI~E0xzW=i)53Mr6{MRZIAYUOB9-(Z8OXY({kW~ZrTtFh1 zyXd^Ze`K9YbwZ0pN+bi8djV8D!0MM{%b@nz7Xo=L@jzuu#GOYe+$iw*Yc3AFL68oQ z4sm0I;LrZ;AFR(x9aG}fDE^1EU`2N+p{X6#CmXA0uCz#WQ@#$Ga$Q!hKQ_7w0Ac~_ z;=aLu+N$=uJ4FWyT>S}*3IG-+vHox4r29_~4=hWxH<&OtDl#$_S6%MWqikwDTrABV zN1&ka51haukb#sn+GniHG8&lE2j>blD^m$LBt!7%LGBn@v-SkSmCzJX3aHU%)z3HT z1Dy>vZ!ky|xC?{(+zw!Dw66EXzvc}Hpp1W|h69lV`b|c>S*=pRMj&bf%@#b>1YX?{ zAoRaaJOZ>n6hhi?=%b~~Qi^9c9Da7tilq8RQ4$57>Cz}5iWmqXfhYEjj$zE7e+V{6 zqzhB=|L@78e@EA-ZxFl+v; zWB?rfvIAeW2RUj0+AqB2F^ydSc8*zV?_DQQATNTNUj>vFPe7rf0>BCW!AX{vAb!mp zxZPwpl<_7((u6alE&zaA4WKDqaTC68#GD}H&Wym+nEIB$HSE;V!3PQF$bfKeNba|A zPJ)-*i}DwM^D+SOlsR!UCy)t>v}PeHS&v$h=SjKn;+NE?z|?XxBp7c2?BfGSxRffmWC$+_ z{x<>_f+ez8$^QmRkgLYr>E?uGBZ{s(5O2DVq3ZMH;XSuY!`=0;B#(m(N!4k9^e6IZ zXqW)s%X{ISewD7Ojn!&^O=N59|RyvDied z|MYqS?7jI=o*|-C88XsjjQbAtzLVgCY@%UYKwPL}q!j{?B49RcelL|P2mTWNZKmCdjSfnk{#P`q|>0czQwl!<4V-}?)kaqtzcQ)h@fv_aI-`xPdiHAN1yfJm?IHK zk@@8WGTga#+W`mJy#v~kEQ_3S87P8ov{ep;yho_Y>x>DUhhHHGz8I=!G`xVM?cD;C zH^%xql*ya4IPykJqkubQPZOl8k2dA}=7K&biv4is<<=~?U$s9M2TjJpc)d;l!$%r~ z?T}%>{$@*Xun!tOlRZ*K1x*VX-gJn-7_RLW-I8aaYE#}ON3ev6e%toFKkyU8(okeq zgVm*3Y&G(|KM=%i>5KtJqpj}XfKl}W#FS}OxfVm1XXlW>Q%v|Et3RG~bV;@pOkvD5{E$?sJ{$rDyevV2gz%qtuJnDlFUX&2 z;2u8$VnlD1F;bls+4p~|&%>3m6z}dt2m>6W>n`x1WS6g^4@v&QEkQ!36)3gM^PDF;vJh9@Bu-?-~>g0Sis zu=kjnbH;nlCpcaFJRkH;8I|%$S9G`FEI0uW4>8|FnUrFY@WZ>V=JoWhDEJ}(Efi?* zM1Y5NAYGBsfngvzCWZZxEIj!A%Z*VvG`^mAhOhtrSt4m?AOZxbjK{yU2Xggm>^JJJ zwu>Kce^^L(b8kplm_Rq8D0p5E3VTSERu}CdQ2BTs3>N`hoL@v%%Njo6^jX2ba{bV? zYoatI6$&+els}XBu5B=2U)+yN{v(kbx_zQxeh6Tfy2TWbyAu z-}R=5g%&cE2Fup-x8Rnsj~2IJ>8JSxdw{(7wut~ZgkPFR z*}Az_Sa$3v|7QfswUi?jHHa(Mu@ zNt*-xt~nrDGr@k9>9)IS>Y8WS?DA{*hm04m20i;*^_e_jVJcneH6ZA6k8Ry_f1@b(hwlNrstxcE{)CJ z#kwi3RgEEQNMA6S9`Y{whL)YI$#+a!sM;=Sk3{x zAIL4f8y5S3GE?Zbs9?Z29Gt>DTaLsGqJp!|wWAL&7{7%k)@sy zLhH+g<%MuwLwOBM!3wUrQBhHsqkuq#4+ud1LF3bc&%70dd^zT%X z{}kx*?+lN6D5bAs;cB*C9`Hw)#WHXV8ZSND!Q$#OmJ2_DY(40R72JH3cX;bxane7j zE=*sLhLZzKTxbhKFq#&k7v{*OX-tv&#Pkv(@i(@zX5Rlk?Loi_)9bSiWWoy*8;h0c zH`ycMBGm)c_)4Vcx?gmPMAEFHUJ%As0y2DYf^$IBw+4)rmGw1v`c{9Q%SLbn&PTj~ zz7Esk-_}pM$XieVo%I`9C~dP zZxg}?ZAiy7^iRtKO`dR7kYKE#6>@$+0)SRpvBCUKe0g3$!w#Q6Yfmq|_@DOlA985^ zzCHDW+EY*#b1jv31Dy!zMw~?5^M49ONXBVY%hgK&fmH<4w*01@JlX^ab+zbx zDjzrw`Fa6aZ=i=1p5&H>lN6 zTT9EF`L`ND?b#o%)vZ4Q17v|W=2^bZv$Kd9X;9Pgy<;c(aMrTk0t@k?Fv+L?1CYXx z0@MjL2FB?r?kS7tpBD$LB%F`9D*LM0P2t<4;k$k+-I#t-LK@`hksNQH5j7hW)ZM9z zF(5h@Qb#l0!g47D)5nU(0K3`X=R3;~{AQdhMOw2QaE^p;R>*~jv=MFIoZQAi^}8as z`E|!sMv4yy+$!ilKRL}rRG+A;I~ET&n}o)F{MardBU1okorb?|_0?7cZbsJ}nfR|X zHu_$00#qUi-T2O4VbXE-6K4Ug6~HS8df_!*CmjyuAI&{I$TeeE%f@RLgncnNd5H2} zzYz}o|G-)%95xM;3k?1rkQXF1J?=~3fd8o8V&KY2&foA>l1N0sw4guTXX1N}d>KFa ztXG*@IsyY_n{3G-wPUUK8ZqEMcC)3T#MUGJNCP06;oDT+WR(4&3 zEl6{C#7g?Lyu92S+11@W`~o*MH8s+gxZHc_v4X-dQB;+L9wqm!TcXpwYUptq*x~t> zOcM!+iRs;#mdZyx?|O*38Tl3qnvdG|OcHfBE%JEid~*iOar3>1i|6L&38}`mw~LBV zNXIu^ouu;w2?#DJyqh7=^l;E)UCdU3OAVT^!ufqqe6!(o{4Z zS)nT7DTy$Q?|2f-j0i2byQMg#6Df z`Mb}h<;aoL{6F70IjV#JZ8j!Fm@wzrPsU0-7wNVwKrvItyr;k zycm96I01AN;BSHQ=sTzhdq*hW_6EJkB3LBq-b>F?n@D;&^w_#!G2rsw>tZ42kEV8}%Tuwoz^-ez}Hh!MMmUFqaDr21TX2yUlftsdI zz$6n4?nsiYwY9Yce#F&vSPN!sZ2Xe;Nj3+L<$&WQNn3{)Wc?VO&#y(MT47yTof|Fi zgQ1Xba$m)sqetLZi;Nhf|O-!!BRD-T}3>q-^nCIVsX<}vE;V{W{ zP&%FBWy_e{lZ*6Jg*Vh^f&J9lI>(?F+9P*RGP1Jlny}W3m*?Bs9>&!aJn9Z6z-?U5 zumN`{!@=yNDd{T1NYG#IFtlCb?k!11=emBd6!~!+qFokm&M@3QvH& zT1)_i(h3xyW;?#a-+BTxOT#EC$ey*5^pK-f^#WtWb04f&$tIr%hw0+S8DmDL4oQbP z6LgpF<((uQFPnh~tG5jftnXc2=ZIbEWB_M#e@m#UcFZBF; zrRz9gIo$KXP#Vo=YX&G9%GeZgJliYxIGh4W8%rq+=WVbsrq-?xB!^mLSK@wz?CO z+$Rk$-&m%@*Xda8!di3Wlo)%7ueB|_VzZrn>)cv)VRz=!ayOxD6+m5;qVGD|A!N;gQ?RhoH!H1u!jlZ`X7+IDA>HV@!^7zTGQtrS5 zR&JL!$H#!%GzV_msFyX`yT<^rHt^(UY4&mbgba2BDlm=*6HZuFYB?W}<+p+kFJ@2u zIFTi~4qxiI`GV0>104OLxYN40CmttTN!&l}N32R`YxM2gSohb~+$Ii}_oJ(~(^i1Q zzWVJd(|A8Xf!%2pXP#e0Ha$C6UE~DbcQf*H8BFNP#D2oWi;5Irfb%bL$sfIw`ek?y z*D>*&lh{^lPf^nLr|ZR~Bi15^yR&W1VsMVO5mPekSO&6GPNXz;X$M!u z(8TygsM8R_M>OU&cuBGIpe)(_1o&aAteDZ#_)eaj+=2eD32>B2q;7+i+!? zft48l5JSU5)Vb-%Z0$;yJ2lt&OARic{p+E;RbF%v7H1_MY-AC zCCy(>L^FmSmt+M_J2po1oRj5Ackhf?s^m38{s}jR8n{CB{N1(u7Lk=Al@Y5WkE3bE z`ID1hHm7&EFMrn!yqutIleig?J~QcTHHw%D%mZ2?Y=&dojsOulIn)E!ttju}{Z0cn zqWP#DgDV1u-$W2y9G5FvXxk`-MU_*QJ`Xa=7L=!QWf9PCdZ(LKqGWfOHen!Y_~PXt z>gshrD-9{}gWj-VMYrL;&56!i6dglW&qkG_^9r25f)JbOkqNL&S5!8sYxbIs-Z0cu zQ0bPI*}l!|q@kv{l1rL1aXdCrJl~bRGMsl#*9nLj<`lO*_X0d)P8*#!DLUNEG(+CQeo+2wu1^$mzFx9=0iZyg!vW-G5_J&CkJrx@k6Q%B7?5 z!@YAbQNTfVMd+3@iabCc7TX7}AfFfJtn!d7oemWl=5lKGSt+gF`6|jivDYlHthn0H z*CO_dcd%m2b0b(kKHwdavz9{iKu@wXeD=L)LmW8LG_JY_%#QHsBuJJTH3j_wt6Jmd zQPtWj?wY!qqgifhj|R*N*m^g1P8?Df=#5?IPPY|LpB+1%q~2DOMy+!NuDK=dcbZYX z$GFbZ&{ui5{U8*#r(@4RLv%f_p};V~FS2XbI_YFP-C;4C(7A^&U~{TcnLk!^Hz2`7 zGGNyuq1!$FN^Y3^Zh6nEoVx)zht?{&>!G2RS78bFN5~O=4}#3TpqdIh<^u)7*kNNb z@s8w^Z+m30Yt&Z|jgQ9{M#&tkqbZIz62@uA*U!0S#v#iUk*4;XLaY7jDpTJgB6_T7u^27v1SQ@v!K_mocL2iPRf~A*Wm7r~K4m+ScW)vNqME z&w7k`@DRz$W-;8q=#UQL@TH<?AHU>>a5J^(h!=PY7-9!A@?U$5CzFiXNtu!XtwT(` z!%c^bws$5-bi?oLbMG0(CemCZk=Hdmf{yns<;vw>FW>dmyAEXO4a^|hQoU^`e4bC;#y2{SM~73`{oFw&v?$h)h|WDEAskY{lsQ$ zrTrKq89?^2vU|;Aw<6(3LCdmzwiK#U7H;K=%JFrqeQ|y@4`%AUKeb^$K^%Af9Ltpp z#FBMlGLkQaVZ76&fSsA>j%+*uO6E-kn{riDoE{Ir7d;ri32rn}P=9(&5d+>gyKx<^ z9T@0cydFJnMx!7(7^kvXvpJU`h2qJeTDwhp-QT!^82h$@@WQ7f)3-NZq_jk^d)0!7 z?k?JKxFL+rBUcJFy6;Wr>%Cp^N-gMU?1*Fj*l^2BgZF~v29J^2q=wh%E5Q^`c`_8t zQ4{8Q)Z!UGpH=8a`vTEN3l?-*avdAt8(2I%#VKCzPC(_GB~oFD2I?!M*RKKHH|e+| zoG|c(A*~83JXgJXGt%WC$HY%Lk>*NUaQPJP@ zcH<13hB&`|uu->ocJ@hr9Q!Q8gt4W9R~bU$-_@XNe*VR)?Nr8{Zzo?T4!%~pyUQK* zv%*?E{!S}roWZ=BanDGM`j*`zQ654f~Uoz|Y*8b4H7bluq3cQKx<2p?U$a}}{A zd4niH_w^SZQ_S|ttZ=)j!w;zUhJ)A6#UiU#9dip`q*@gA89u_CMtx6fP`ozTv1v=A z`tX$IXbJ(i{*rw|y@NU`DMT06$2)X5;W_F$j7LAuTVXdk3)f`5$%{|*yN8oUiV*T& z`!!-OO6}7EE-`BGT~==OaBwVkMEG?D{e|sL#1io>`=twWuU`ri$r!2&pLr*_n-&dIlR z`yfY%@|2nCZ%wb7CcQx!NZnDF9IH2|H86j+6tq-d^vIB6XJ2P zk-)ps{k+0gmjiB_ohutc?1z|%vhe%hSN;IsclobfuKb__Yd@!ZY1dmgF(f4t4@}TB zZIEHS`Lq&=Twg6tD@!tOvSzm6PrlA?F*d7-t-X~N(HT&`c;V(Uk|cG{WVQlMTrMR}Kn{FIsDFBj(HH+i!r z^#iggCv)~2=((dS+MTPrKG_~VaYJHq{T(n7<@;aUd<$y+2dGC|%2t02gp$1%Nic6x zATGMzFr|;f@)uwwo&zy-o6{abRa#^GqvH3dd;he|DtXU(UCiYn^sFsGq1fp9`QZA_Q#cBK-t-$3xuH?;e-d-~o}vlUNEzkiDC~4M zjSA|?s~0SRhq8wx{S~owUmO7=UmT6~+_?UxrR1-GOkGOWl$I%3JFa8^$fU1#ri4!~ zijyO5Hhq}2;CW|OJaiGk@%kxkRKcLo7talvh<@862y9XP{?o8bML{Ty9Ql28ROcSb z)Xa<@Zw!Tc&I*^xK?)ih%9RyRKgW*sgqCc`^#LmY$*7Je>;puH?5}IRxuu02&JZLm zyCfy4o?&Teptiiod&B=Gjz)S`WB$eZOtCwu7ge&tz#emsu;Cs`a*09X?}1+Y4z9+0 z(md5c6TG@ELrFp>2cqFDAB-g!y^&Aj-%uZA z0QITX{RV$cM`_yq&?qt0Yfuc-u>pv{!unD%I~vC;p5a;Kdx|1umDN>{m)9r(ASEvO zKY^4l7{;celAchbflHK>7kZMwUcy-W8{;*w!&l0?3QM%d0~nb?I&fzI%#@h|?`(n1 zV5!)jVaT(1O3<1t^8;8|df#tc86QHz0eENs`i2mM-IBhx2Usgud!rEM)%W7;Z>>0z zXCPg9ZA3hp6p#?Yf^a9Sz&IU)M+#{CIT^f=0pNEerT=NLIg(Sj zFkS(?-yk;jQbmEF8h5SzU3h2~_4C-ozheS|q}BZzl>j^GUv?1YoAYRcEgKrtCq)Q# zpB%WEb6Y?_Jr7z?E5a~{Am9*w1|s5wgkEf^tF^f(!@X$qw9l@#i51O=?Cm+H5z>G) zWT619p^G3iM*=4b2lH=eFckCf4{&fK7{CG(rlT&`8`sQW^n4opBR_BsZot#t+WKJK zFZLebGYnh_(6GN;fCPZ)zH}(Tv74gu5d@L~w{M%^<^&ZRu)^H_+^v57H0XCjJo;eUM-9|9Y1p_EF-YF?sgvYT45+Ch8H# z8*oCI=hy|dDp^AVIS3(mQ;i1IpWXO>=!5^e>4X2u3WlmH1?Zb}!S)Ft{EGF(p&^Yl z%4Xod1(>$klH?D7_~GJ=qwOtuMUt@T4FS(BfgeXl?*0MOrIoXsuekTJ z^pDM(&;Nw_yB`1;eh1|Q`~dGddslTZkh@A-9Txzx1&8Ya;_>i!G+|&#BfgWNXaamT zul#?_YxcORl_nE*AOAcrt`VLD=;>RBwdcjc;ks@BhfSjQ*qgkgBTz%goV{^h;N-T9 zc+nTYfjfFlf+UwO<}M>;cE%&e6(C4!L`6kq1-#d`2EhA$Hm6X)L0r(F2Qa3Nm?gS= zK5lq4cO}PsFZ@>A#pVbuhWqCZMvQ_vhdnp1dw%l(X10$o{D<>?%O9!(FY`~lZ2{RV z?+1H8^Mo)n2W;jFh^Ev$1*g>tq`EvF9<2V(z-ZS5wqu4E=`|?o$iH+23dRbzVtxT13Xt3VVzP5cFlq85WxQYk@(ogacG`1 z)=fc}Ns28gTYqeNVu?$=g$)Q1m82%vP@mMuFNd-hhk?%c$%$DaYW=O*?|VROWBw!WxN+-k=! zAV(hJx6EbiC1oZ)s!K^B%ts++Tg-YLx7gt<$6eY4-{<&!R(Rumt$Fm?4vZS=tpwoH zO|K>i^;>D*^?3X$6diL6zHX2-KrAQO$`Q zJuh$G=C-xryy}n?H+VPjvB3OGZ4lI%STdL%S7SZDTD3d=3*?PIy-75+a1Hil1o#QG zOP^KFyGssodih#kp(OZTukV^<2+BDdg|^dnf4>nuNvAf}=$W@&BI6sxZY!kxFq^64 z7HMkTei?zjZjm+1<5&9~`rZ4rm8U3Kar27%KPb)hP^G7+u#+#ZfC_l#WR(8XZc+N( zuXp+Q-lqqjTi*3N-5mk4KijI|W4@Djo-_MR+#Va=&bCwBr<>d>YqL+w*wPb1d@xh}FKC=P$GJq%ijxmX(c-jbC#52j7n9UaniuN--WN z(K-e#)Z2>!f@yf-;Cm^7hw{XF4(Ud+lTSCLu&)q!57UTq^xM7l93+v>i=NI-WX0Ia zjxa@(@Ua*OXt0UHG<5NRUhbl;$PLVIzX-T}tOqz%07nKBN{)h2gC)xt>Hc9D(+9!H~ zv9*}sQBb=Cs>~=IqZ7^i@*VI7gV{z3#ZH?Dhn~BGdKqp$%%Q+6P;jBnXGcbE<*kjo zF$1xHkWBX&c%RD(xSPQ%^iHF_C+CzaK;DeKtMlf4cc3x1IFuDXP(B1MQFAFCalix3 zVC{jV644<*2xl#6wcV`=H>vImZduaXMN~4BOP+gX4PFdLqciwegD24Eh2d4+#hc^O zaSM-Du7er=Rrwtvd-rTZzwWPhZUFM@lFhk)Ta+n*(^1-_1_C6h$0*1d# z!K;yxanp(wTa}+{V2^us2-0J?M8BpS`gT{{>ou8vxl~J%_^j7}=|udvPuwKWov`lN zaE`4NVEulH-Y@7={-khsr~fFu;N+6*7ismu;?3bLLd`jmDrb2Gg*it*-TB7Zm)a>J z-yFw$XJ4(k=`#!hN@Lp9CeFpq<<;q`Q;mfu?R^xuX=@j!>M#*pE|1+yhd9MoU-iqO zNX>GcU|)J3kVNUH^E()>*r2R;gysfz-Bfx2|2-G>w-xG!ZLU|Wl*HXF1zUV+Z(unk*_cM&>L@0s$+0>m0s(fJ zEkgY{kz;2%fMu2FCHKChui)%Gc5b0}Die21klh6|$G2vm?RADDt!D7#XkL7xIebY${rlPCb9tLE zSf~?rxZ&L6HvVCdkjTT^p@K8%pg)~U0$P7T(G(r;u5rM&Nq^p@cD;mjF3(9q!s80! zq_Eo=E>u%5L8}bZ^jDJTh_=9+%{qpHW*gJJ!+JcZV=gZ9)R}k z;B89c>~~75onX}+n`6n_B@JET+OUT5Y~|9J^NH3^9Z)_ZU4ls67qs%EzLd*G3i)_=HEb?Lt7a zPuL8W`G>coH-fTxmm6=4EZ3y**4 zUfFuXd5#_?=0dVq0~j#tPs%bV$(+c+K9{kM9cNO8yvmKI{7-ydrj zP{KnUt9u$+h)#|tPVa^#ZE+mpC)g-a$k6cTLX4)>31T)~0q!#tM`ADn>+Ps}ah_%} zq}->9Zfp488R}ig5@OUp^dXsTZf$+!T!D1e=}5UpBk1 z+9+gXVB1(AqrRQ3A0c;B*SBjfQni#Msa_w#yqh z_%@D8>Jpr=T+P0R`&sN7QF}u%g3RB$|AM}NVV%7p9m@CoHTQ8shjGCHT)U~)=XGao zflYENwC?&I5;F`$8J)UM2~90VCGklH2!ianTv3ny>27ZLPxxCOgK!ccxNGF?@!7L_ zp9Cpe+7}hmPl-UFE?m(aXa>d7D&{*@Q}0C~Rdda=hlY%9(YC`w8n6jv>+BMhO4sM( z9TX1j!rXK`9Qbr$+D5H{^X$AFvsMPLZtl;?9ki+Jv7alNDzpc& z>UVGMSBNA}hwyjj&2NQ2SBIr=xkiustE^cWd3=>^>L&1yxf75#JUpDT(9( z(warq(djNIz^|q^$OG0Pxi9Yp6H`PMUmuO>9DcdQsEGox>sQ|W=(ba%{kL5Wq8uis zN{>v(b4{8v+e6YK=s_;x4~oQf-_C8xh-L#sZXrZ#$G+ILqzkms=&sD_3^Dl_n~P;K zx8qeMK3ddiwznL#{M@EXmVs|e8FzO+=P-ZYsq21i8*~pl19-5WjM06ArJdMVk_a=?@p%d5Kd7@H z9)0dBCZ*8pC?!JOC*9?p?sS6G!lEyH1=UgV(J^mRmT~!X^`1X>ZvLKzZZAs_!((>Z}Y7~j^tU$0XhMWW?_bM#iX;SKRuqj`LZb))8V z11Uv!OZg7xOqjmkX#>UV7tZZC^CmrK))$Fnr$*&xUnrUv7kO#ZU=Dlv2c(KPDw|Nq zJc58EDt~_c+XPg?JXV)@Z{j7m@LHTlCf_^{$1Ws2fA>AoFFcs$8c<=9^(uV; zyp0|J)!E#(L3=(tC}n!f&a`?}<&LxU0Bq=b+VmTG2#hv>x|e10;P}MLQLVKikam;w zZ*0&15IFyZqS-9V-q=|f0T7H%s&e(InE2V{=p~!DW{wd6KFVBuEFKBSG{V2#3pL8% z9D*e{2ty{?SQ>`N7~}8C=EascGn$-t{J7*Kj)EKi2uy+E=pPi-vI4@w=A0Eb-=*3m z#>W>aN2uC=rUhh$$^^8?=DUxA#UF~6{E-Yp?3T5=dnNfIq^=e_Q&*cdbKvlPfaEBF-1vt7~hY~U+e;)6ckL3CM@2}T#f$HzymlW7_r{7UgU07t)g zL3BsnRlKK^!XXGEN?{DkeiBo23^Zz0&^50;GO(BkhmjV2>AZ9N_apfw&H%CfdG36oOZHg1HeDp z68`t#bW}@Fo%X_h1B9lgrpxV9AQPcu$5$A=+$8aDqA4Mc3xMdjNu^6kE~RNmcWLU3 z?@P^tWHh?%94f5ZX6acD2Ia~jLs;h#Otu!B;e#i2wiy2&! z(0qCWjtnirkM!+EuMrww?>aUX7M40{({tqyP~HnSlF>vRJr)`IW#QQYHoJp-G7qP z(Yh6E4WhRE{M6Ia(^u-VfTaR(X!EW)(0ig;pZvml!+Vjm!2-?HFz1z_c}Q)Ls+~so z{HuPA2b*L7W%DEyYg!SB)Fe7UJA*oa=_o6km}gX3mR|LZrUi(VV@YYs$|bRI9^~g9Mm(h|x9~5ZCgdSnF$Yr&O@koc=x3=g*%lqe0LnyH5qz4f`QL z(hha{5kOudchXC^6AgS6 z5B@LZ;8sC62xqn)4?q70tKtE*OMs}o({K2OAzRNDWJ?UOwcix#oBbDa&h$5*mo*@? zfY(sfH#F-?_L=c}x9IPlWOD!)}7=o9VWyTGu7+e?<`FKM_Pqi8=1^D1c}B z_MCPxK^vaJGnFhjiJ((@y~fgxc}h5_ZG8WCt`{5*(YT%@8?xgjb|4fV;A#H~Bb@P! zLWp)Z(k54lzWFinMO^S^%_b17F^r?dfdSZNq(;qgW2y8!(kKle0RB>URK)_qM4lU} zP*;@U%IEF#j8M(K{KpOv#q_)x!AmiyJgJ-gm*xhjWHxGuAY3?=1yywbjd}7vU3~vP zO=|Qx{fZE;TYDWmHcu57wiIgw%D;-nCqCz@><@);-_6;0{CsQ%N<#0cF%6piF{N%f?r&>bB!y>E}m!^}D{x=`APk zOKPMOzq}lNXubq3jqO^0$z@8_G1+ZFU1}4^kU;pT$K64{FM*x`ZpXwEln*xQTsSj; zkM8~lWjFld%!lKjU95y~2xlH1rtZ=?^BgVjo=Q^Fl=+~XG3`V`U+&bs!BWJTa=erj zFmdY`7qU%oygT!W{7e1Ijfzea|AnHnVwqUJ_Eg2S^%k;uyPT{#ME2+5yOh$i+ejIY zzKy2Mq|OO8<+;!`xp(VUvPHzu0CJTA_4x^~bpZo^>L0wqpsm7~{!DJrkMA-F7P$!j zSyake<=rs0@r?}QI0|WF4*YoFkt1+`*2<=5*Ljb@L18%ZpHV=Do*-R1V-*k9hc( z3yDtq;M6elG-$&*+S>D(Wyp})#8jbHvzEi4gIAyXkZd=#*)mt64AC+8v3ZFYK%?-a zA1b&#C+t&3ZmzfmVq|1wG@pZmqolS|cAO6YB3Rvr-@0!Owt96;w(=tlN1VGC#Xt1+ z+t7~Cp6pyq9IEfeT*o0$TzNqUK?z-TG6rC3B2$@Fkyi!TaVcH=0QLPOj5kJpGj(?& zP5g~FZ&H_9XUgefsc3nRHq!~K;DxO_j{Pj*erY@m7B@&#IoeJ5^6qMXFa^43ny+pQ ziV~Np+;wy7qqJs0sikmw%SlSw_rEAjt^v>p$w1?JCg95$w4VGWp!Mm4pDX&JUPDKF zbTjVAHSwHa_4;))tAjV#H{?JP!t_i#a~R_C#5HSG2n32-{iAFRf_5+*L+otlA zUcQ?%pB@F@ob>!&wU({9=EF&|>9dg*6%2uZ!lXcI!3d+PgNAZ`&Pj*qYW3zH2Xt*O z-_w>t)}7{PMc?r&N2@bRLSLK~M~~mE_~M=h`^yBSX^HM+JQ!s0byPnlETNY?%=XdJ4ukJ0Hlx(A4K^REc)~FI>VZTCREHV~@4tnd)OOX}+J}GsR|_riuT>cZ z08lb1Be{y-3)g;l?|)|X#e&{GJ$^sVY_CT^St;O=neZl3rwzoXPuhQ@jWnyKwn^^E zuY`%um-dk)yHQPJrIuSyTs{+d<`IUpljZ$6h(S6Q@x1=rN2Y$k6U+-1{L@sRrh?Ewq9 zUkXw}b2jFwe13Jx%JcJ|g+b98dTv(Fw`d<6uuI}P9*NZlEe0Bj$333bmi}T~N>z&9 z=6>da>KkztrS)e#O|*5clL#?lw6cYX;^`Is3-R!J>vg)+RSIwG7CX5LEjE6HX%VY7 zR@J?<^QDf8>e%n(0z1}%^qe8ftLh$y$-Hp#Z+MG3#NY6S^<)c*!&GN^D_KQJIF!l`GB-e4N%OKFzf+I>)#7fE|C zz{_@&1M)TtC;x_Dtc#BeTFCwcE_7PeRKOeST_PCKIet3@08zwG4^Ttw-lv5SjZ>*r zt^bbJvgjA$-PkH7AYj{oj05EQ`9U5lzEnRT52KiNNKN?&G7$C)xH&0gApQhHQ{i_W z(RHgN9dzbLuv$TTV$cU2PNFDxuQ@??FrtP*q&`ev#C9_~ayvt_8g#-i%6Sx}n|Hi{W*Q>3Y?mKyno!6lK0*)Ybub343p-^*dMHbIq;}Syx+%HztA$aZ; zK2uaV3t~&(84&>XcXzB3GKR7)ULdgo&L5Jr-(6ug)Vd4<69(ESpZg2Rw0iN#xElYt zaQxB27Ulna8=6|G0hua}%Xt@N`&eQW$ccoIrqFZ;p(;Z&FCJs>KY7z7+sS(YPys&x z2L%R%T(k@JCnWwgwFY(sAD#>Y9$!8}^E~2Z(nZ`}>vFQnX;ipJ77#2plL0v0Oi=`o zf)1_+{zhxxo*K~RgnsR1G%kda6A)H3?L0ihGPAM<>L=YwsBJZG*J}6z&Y4r9!Vhg9 z;6CI8MAX(Xd4dkm+tP=%Vv` zr#vcGhrV9j&Xr`N?a#>?&>9@vlIsKXuks01U*JCP0ss@ej}?CO-T^gx?la69B2X9e zS0c#MpLtgcSGh8 z#KsyxMH^qya#bK7lTwqVQiU?cBEooZ^1=vHr>z2tkwOPR=zZec6sPwqW0$i_85a zSSGwwHmgZGlgMMHA}p)YF9etTPa1f%8tZ^?wq~=p)JXM9spzKbuYf z)J!Iq_a~zXKpU(l(P!JF`OW7Yqp5ZZT~Qa{6`uPu(nxDvW53kzFJC_P3SRzO7ssR z+avD1u}HzoTF?{n5MF0~7jbW(?JEGgjnJdP1b0)3tx)&It<&mxDxt(iTg%#kXHSn> zFNnf+%6=>iw(YsMISUl9mFtk0!xn1}kzY>}K4%$(wM-I$HL@>=OWf~wC<06!t93HOhu#G2QV zQ#Fte5fGka(P`L}3IE5`3xw1T-LL1_yQ8JAOD2k4jH3-I1#+fM*#^GAAni-iW!;)$ zgeksld?Z^GIwI>)2Eq1UrAfr)P|aZUS7&;lukrZNz9OW=sf_4m5h#BP486JR4A`Oi z##o6D1i8fF-o7iZiY#B+%r6%9TR9RP6w59x%=Rk)(}O3+%v?E)i@!;>ND?Z}+FQu9 zUJv_KVXFLk)j+Q;y8RZ3mo0RPQsHKgP|}27xIKJz7T~*Xe8F-8O>7^N1j?HvQCA6a z={qf>_kq`%M82)hy$vAc?gN(y>hzpo396;)N%nw{Bx_wP&7w~M`rg*zHK7N)b$k~2 zCq04^##`PFvKANE3*!%?q*=G?cq~Nj2NStkZy8MkJ4=Z!V&XHrfg0Q%fS6rtTe5{5 z73ZhdB$%mJ59&I6069k1EhU39;?{_Vlt?3KEO!!97>qp6V~%*fc77{Cp;TYQzC@EP zfu?i;xIRp1lB{k3y}in_^RM5QV)(b%!vO4XymhpbA@zaUCeI4IS`|sv5eN%3egKdu zH9TwGa&ipCIoh6VEL@;_0~l`J3;tYA9>LVE z_NlDltDC4?;LOKkv-_e2VjsXctjter;jEP6cofW;dG5JUPh=Qjx?AW$9lP)=SF1>Z zW?{bj0Mdx42LMI$7=3$15{W$OeX(x+>2z*w7(9cZ?QTo}8*!fhvet61UMN%&h;RRf zfV=E79Nv=T-vExyRl1Um!FA$9PUK$eLJ=Je+m7#_q0GOEi!=k#^>NZqXPz$px~QH+ zkm}V8EP{VFJvgY#4Q9TD4f!M`o=p`SK@s3*pD3^(#G0Ksp`X;{X^kdZ&hnd&Ies9- z!#~T{E~fkDshV%&)D}fvCdIVgN++k%>dTzYQ*73D0pu8`7=z$pqc!w0*)cVmD^>%D z>Ga3n?;n5zV*DNvaB#bOm+De_gZ_9EVGD$XJpn5h(jhIO)=Kjp?enz( z!H)FA9iUYuuWzsz@??PFfG-$0tB4&)-6-Sf!Y0))`! z76nSq2H6QcWl|^m$iX)|R=fy5SUIH5VMp5ZtuOw%L!)aErh{jct22-*z09vkQ~>ns z7BPvxxk;3zV(>2y=5VsdihJY!{H7xPQ3Ok92l~_0T!9pCy~9_K9ED@S{l)OBSUa80 z{1U*$O)hXQ%{bA)^7>@cnsG&m+)A0skamZKj8>8FoD1E!blpR9dRV(Zr`YWe!&wP1 z)U6Y8%CpygMALhdd6OH5xqg`I>&L$1eNjsKJS0vC(JPqS2UXA42!2W$$bnvMhZc3u zcwj47=APJ*x7};|kjNF*&Z8(jD=t73&e*t^YE=!`fs?ODvRep?&BM>=gug%@uukWL zbo_`T+$Tw?>+eLGjfduQ;wt z@1W8beR>!xA)}$1E@NB`%b&M%Ic~2xpH{tPwHp5_A5XT7(6z*RRb}xd8s(;|+jw{S z3#f33D-yZ6vNc?P8*=YgQ3}kgz5Scloq!+)_xDs>ls9NC|P-+eq%bon^FBynx1Rs-ZE>=nrw%(SD zw(?OW6HK>=rik(i-`TWGJZu2(31<+q+(aO4cQ)kNS~$3rHkpmR-rbxf=G}ljI4*a& zNy(Kr1%lfIz`r{Fva=A1D(Z^~)eYT5RF$(R3BRCIXhy7jd8geEY~H5I&&GV#tXzrC zB5x!C4)LBvF>_PE7&&Dfz;ZT*g7%U8h(fE%EhCqK2O#X3UbyqKAgfVGY-D7gGQcks zW4|uk9T`O}%+U`$0iI4T|7PTE0AbT1d3$n~d>W9F(H4#yLwa9(ivW{hoQyA;g=7Qj zHgqd`_m-e={6e1>s=Nf|#<)EVjM(R1YPQkXVZqF7Nf?0X9(O&q|Ncy9G|Ik~a-s z;7BE0Ik6=ch(`q#Y-=jOX&zxjD0-=H{*9kgJR$pp=k_u~B@RjjQ6P}-i8>;;)I zQ=aEvZ+w|o>S}P2WT)O#9_|kxy3+Bg`TnbCK8j<+NnPe;h6a`N;^^AU7d+tbPS9(r z+J3HH#ImPL^o-OF@j?uvLF!76h%RFJNQ;<8IAV1AW83_k4c~^O#XCQ{CrpHC1RIjn z>=EaY4~N+K5*boas_%SqtX4=HJSM}}&gP`P2gSOsEHZ^%{(|XN5k=STt#|PbJkLv$ zhX)VrCOQt)v*_h%3<>#~^ojgFcB>6TsoUJo`+oC?Ri~m5E@hvJc|OJ#m>=w2%gY?5 z&+#54UY=LKc^Lr31v+)TPl>4ymm5^DdEJIffc8W`5Ogb?NYb*(L8B7$Yd(D3o?SSr zklW&KS;vUH(U=_bGQpFn%g`-9__9OfcJNE0j&FjTYsRvCIqV5BVnVWdLYrDQpp%lOabC%%aq=io=223riDRtA4-e6ICWgg(kbn(}aThuQ=2+PPY%EioOc(xt;$n!HD z9ayuMHe)<)bo1c_>?)rSe47VIqPkR$;PotlF_UBMulcu(?9N?SI>_s1Heh1kEqG}1 zq5!usGdUajFom5wn(p#KjZJ#VgKniyNuPv;~w90kiDF9#gNy_a_F&R zEu=*j=0#*}Kr7iEs#0;Y!P8s^%TLY~H=L~%DQ5!m6|XHr^B(-BPeg`@{bl@Ox;@_rMRiSE68NpgJajT6m+tOg-SkDy!+5FVDpKl~>%Bsbr?F9Gu@soe#Zw;m)Q+ zG9xYBfgc(2iZ~*tCeB!O%n%jsjU0-!cf3H72+t5y5V`i~BE^AFgVMz%GZ#oQ@r4S( zI)~ZA4iiEVxCZjG;Fd&U5_Y2@{8s=L2nBhex<;r^D(e}APEp3w79<+-Ner-tcq{yp z@W552^7M(YWu4*jClVT=1s{?~yJ_e)56~3qPv{Qs{CT~krkWOwsmiO0<|UysP%D3i zEaI{7xA3J1IVdm0cj*Pfzz{~d<%94=Qo@2R0;V0EtFx7Zyuk}492D@#UF-^J)A;t> zF<0&r>tQvGPI*NH@hk;Jh-qq(-P=#Nqf@XiGNtT{@;scUi=+CP&C%u6VZEa=rseJoLK4y4Au@6t@S-KE0%8`@U;4010O%+eW{U@717ps98? zJPDPu>BF3~Lg&LhG=HPCDDKjnNHox_QVZGfb;z9;z2dS<=*583e44 z1%+HzR7%q@-n7MirU-l{XrU?Q%C2S-<{Ea&f6~2eUqF)cO`)z1=Or|YsZ48_q9eA9^AaVd-4qTa2O_dS|%sc z)!366-@2B))mG&U?%e+TSNj$Chlhb%+f(Y9{sr2&)~(ms?jH~D99XmJwS=6tBT{LRf@)Hl_5%$v#0^W$Q$NLgjsLFBz#g4<_f@K?o!KR5u5`RaVC>N`;sHQGsG zN{ZWqECG4KPS+5Rv^u1k7~NLy3cS}Jc+cvJEx6OuweIlld!cx+Si+B^dGnm-9IC&q z&n)g|_Eq3d-B&CrxuVA_9e5Jl;56A^?!dmC;w>MEXz!WXYLb zcFb?wDZQPa=!zle8(D>K_J; zJLJnjqssB`;ndvDuhE6H2IW8f-)>fs&0r4sgXhf)v#ai=Kx_FYOv=?pOvQnyui?OUEhK)s>2C;-Oav+@sat^m6!q&L0$a^qmi{kEH$Xk2-Q b#{M5cSGH^;J?d}*@b8+2zIwT;-J|~iKDH}! literal 0 HcmV?d00001 From 146bd824e26841bebcf3d372253f2740bb8ba4d1 Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Sun, 9 Apr 2023 23:50:28 +0200 Subject: [PATCH 06/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/ListScreen.png | Bin 0 -> 66350 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/ListScreen.png diff --git a/documentation/ListScreen.png b/documentation/ListScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..43f87e7fd973a31a3c4e8f86ca09ddcf6266976d GIT binary patch literal 66350 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 Date: Sun, 9 Apr 2023 23:54:45 +0200 Subject: [PATCH 07/11] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9035a64a..1a73dd5d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,22 @@ -# LaSuperMeteo +# LaSuperMeteo +![React Native](https://img.shields.io/badge/reactnative-3DDC84?style=for-the-badge&logo=react&logoColor=white) +![TypeScript](https://img.shields.io/badge/typescript-%237F52FF.svg?style=for-the-badge&logo=typescript&logoColor=white) + +La Super Météo est une application qui vous permet de connaître la météo des grandes villes de France. Elle utilise l'API : https://iut-weather-api.azurewebsites.net/swagger-ui/#/Cities/get_cities + +Cette application permet aussi d'ajouter une ville en favorite pour accéder à sa météo plus facilement. + +## Description + +Sur la page d'accueil de l'application, est affichée la ville favorite de l'utilisateur avec toutes ses données métrologiques. Si l'utilisateur n'a pas choisi de ville favorite alors il lui est conseillé d'en mettre une. + +Ensuite, il y a une autre page contenant la liste des villes de l'API. L'utilisateur peut aussi rechercher une ville en utilisant la barre de recherche. Si l'utilisateur clique sur un des composants de la ville alors les détails de cette ville s'afficheront. + +## Sketchs + + +
+home_page +city_list +
From 7696367583a525ac57652c56ebc5e898a7b6fe27 Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Mon, 10 Apr 2023 00:01:29 +0200 Subject: [PATCH 08/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/SearchScreenSM.png | Bin 0 -> 53707 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/SearchScreenSM.png diff --git a/documentation/SearchScreenSM.png b/documentation/SearchScreenSM.png new file mode 100644 index 0000000000000000000000000000000000000000..8d86109c738abd9b52ce5e793387a1dc9b6385fa GIT binary patch literal 53707 zcmb@uRaBf!&@~DKch}(V?(P;KxH|-b>)`J0?(Q1gU4y&B06_-{uK7vc?_2Avb^eQU zajxc>dAh5syQ{0KckP~tuZq%0@c8gxU|>kHG7>6aU=V#^V32*V&>z3N|G8cQ10w;G zl@L{P&pz+ANVfhC$ZbV&Vo;mrE>mpnEVJ-reLt`9 z&sc9)>UR$hMrQ{37RmW!nnaUaZXX5#);`%b|;xXjZe(Mb}$TnPG=}EMe zQuyA#1IG)y0K%DM$s`)ob5friz4hSuDCH`|ZLEF&AU1PUPg=5Dp3d|zO_%1-x? zq;727^4N*l;cXJk${Mu`sK6>52a*c2F(2-h3oS=hPLiwF`KU5WSx}m00LQ5*(sfcD zUK<{rb)zv8s2Er&1YPxy)X6WL6cHyASD#^g40((laq|3>l>Sjh_xRIihr1^E^0`n494R*G?RFczM+UDBM;zX+izeRmjD7$Xq@|1wrF z5c^y@$}A6fEleg;#iu=keD&q!U`jFi5}AMpXU{B4@%~ky#AZiIVH#Rp>Fe(~yoe#< za#RpOs670hY);vzC=(z3)2fO7E7`>7wXT}E3sEZK+{De}_KwGpDcVL4>B4L2%{9^k z)DP3*56vRrGK5VZ2&<7F|`nMu!7!1O{3JQN&6 z;%eBtHL%!a7exxI5WA5?IQktQD4>cVe=LA_RfxoZMD`gu&*#we+;7)W#W*P5-R+Fm zzmkBpn3<3)!R*2EtOBGdBGo7D_0ndgwI@@)X8SGf&vDNW61ue3pvUeZUYyZAg#4)7XCgg`Rq>T*YTebhqh3-=x4!(AwX zqt;iPSf~wg0jF%ok0e?h#3n02U_8i>`| zIHKve51=|nx^08QV_Ag_iVql#7jw~xoI5FHG&ZXkUEWTU0XFCmtz(d-M(RHLNGoqw ze9u~me?2b5OmKHW+?IFp6b;6BzjoU4Tc=0Fa^v^id{018vI6Q()uOKZ(#+L(Ddz0= zm-ss+Gz>qR;QAgOFK>Oq?hB6BV1f8D)@N!dk(rn-}(iObwC5) z`JD0Gn-8ex`sCmHL+5nQi^L+v#9aHsSf)-E0Bqdi z7%cdVyVR=+mh=rEa0sLr?1x7CQpYzpT9gzw%_p0Qt{o$=&jN5KUqDsMX(kP;z_X#iz^rz>A2kGq+>MJ z0I>FUx)TKv&qb>`oVuxs>^iV$Rg(|B56y^OBRzHIJeR$!8Rbh2IXl*Ec6Zj_v^}G@ zTb8$ZM{@UhFGpvEziEy(&CG2BhGI+>?YwON^be*J)Cx7BNI!^hXvs_o7zzVO+2~99 z$l<;%dpSUgv+bv4Vw;w8e%AjZf{s9Z(toysyua?+jmUbdmNEUr&fjJ*b<@`Hs{O`F zQGjpfh&Pp25qmUbypOG_%l+`)Ipz^J&B{2+tNqfo{)h8Kn5qob%IRb#2IcAi{SDm7-PAQQ_=Kjgn>(hN~CzKQeEu92X)3 zDm4KxcJpmgfR|0#m`v+1fmY4UlCCy+8L%&lojd(}^KS|p*ibZHA*Y|85_l^frJG9G zDqVJ)=MpA^On(8gR`GrGF*{d1b~oOHZ5O=ny)REZ(j)s z2Q!F;YK*g^rp{hPfMpR6CK}EAS)IvCjplogpPKPM1G*y%SYvcnezE=$zN_dNCtj`c!**gF<^l{%GXFT?5I!F&2;s7 z@FK7h<1y$VJQ9z`@bMLDz6xEA=`8!~=z)Z^JNUz!;>YHXN9QJC(osN~Afe@i(qwN` zaR;cl>p7X?+{z1gHB-z@@dN3LV;LatO)ApGC>pS#Ld#VhHRHGdFe9h7Yv6X5NI#vt zZo85RPGMn^;+iov${^a#kv5K2iED(p8sBpvopi}+AnW%Mem0ero;bo#cI;> z&d1OYVj~}4JL2TEmJVL+wTAZj*e_&AxtKG?t7iJ2Z6fsXvzwCP(mldUli5q5s*rp*uMj1(@hq$g+tI5mT$T_8We zb`_QMU6F4s<+hm0451A>kb!SDk^n(8y2=Z2JX+tz>cYg$RCoQy8K4g&(?*)sZn6%Xg%N2W@n>Vztxetn+TAQfPfSKK2a;@0L$#go5=Y z&}@{sS$St^_K&n055KE=WCL#mV=vWu!S zPR8!sTTmHk3b&p{%%j_m+z($ij&V`<8R#kyQXD)_-%)=;Bu<{Lg=@U$+?Lj69Q#Et zQOrhBc%dBGSW{>1<&4v-ub|GF9AUb+ zE6r4AtuHxl!U+NEpX%jR-J10*jCe{r2Td)?U6PTcQj*>o2+^lnSa>xT2ELWz{?Y}` zjC#>^C?TNIS(;{L^z@ic)t`5aN-eELE-{*2=1xGYzAH}k}IlOz7gR+`vhuPaQy4EzgqW!kv zJ7NKrGw+?DKpXq>)U-aQ4ggUKn1ika({nqv=e=r2ZJ+g)dSD2C zxsy=o;s`S?9kx<*G!L2Su+@JBODcfjZe2WR76jrLZrK>6txy9N99rmcgm;dXJd{$w9@@o*Hf5}W zoNjg&7M`KU%Pf@B5-90$Gb%BstD_7)j9|yY7{)CsnSxB>)mneDY zb+Uuz#}N<4!PxG{i7%8OT!x}ECf6RjcUl2KH%|t0gHh$G)3PWtv!m8Fgw)E)=mjl7 ztPVb5TOxoIFncS8;f62JhAYj=R>KXl`6eC$XQy(7<2eD;+Z_TZ4Dp{y1N zv{-szM;HU2o$FMUIEDO5cHPCT?c~L-!=?j&@L#pd#OWsoGU1-Zotl9AzKz}cU?p^h z;9;xFSOx8dP!_dV=VN2L$o{mEq3PBU?!Bt6vfl!i&1|ckg5aSxrMGXzA#@wDjk;g& zY&{R20m0xa5A$x{_yjvjmoCv~6Z31fGOYsgqR_{xt$!c%+zgyVTC~dSJP`$3E_<|i ztkAl(x{Zo$unqbNc&JZU7OLX(gWGOh%nZLQuw})Qe>m;X%*u_b<}dUCIj0bh^CS>5K&u0 z6c$6Ezdf5?Dl3xq8(rT=N$PZKTSs7_x*P=0kBZBkxMH>SnLZ%An7a1VWb#KG7Q_<@ zk73L`QWsUn&prO>9g^Q}K~MZ0_dUKVeJug{aXNNj(|Cc9IX@l6ViE57DaDZz?dyG3 z!ntwMj_==mhV98Msn8;Yml?050J`L!;DtiCIEm%2I&RIb-Fgy5QRL2v86Bk8!qPB%ZnFZPZC6G*y_3$z%@j?MF%Y>dWiTtRJfEqSz%oJ zobxHdHj)*Y^;2u;eHW_8RXMO3S?RVxjbpez->QDtlFZaa$_9FgtSn9j_19ADHry}~x zM&Lhck)i)P3?)ozU-hsKkoUEaPL)==bA$#v!;CZZyGI z<}NbbBOxkX1m?4rqy7{OXo5%H!H6)rk@cE7UF%Pvm6~(HS#T7th^-W=-9ttRf@&00 znRdo4DSNNZoi$c}$)cxpR%x(SoRg*+B7%-iho%W)>EU@>S9|dogK)xRTWh~Pi}J1f zhH4^g7Qk=ahfYj@%C@&4gq3Ep%=p-^9AxxH2FAmX5EXLuyTrJM!(})nMnEin)_334&HahW|y^$u#+ zTVZy-!JnaYNXEVfL1KB&aoaVM6|TrW5h*CHHB(k9u^*5Hpj4 zC;wq9l@sI1>P4Y~C526qrmr~{up(gVYiuvX)W2vo+M{YSUT8qK?FSk$jJh(WZ|~8! z#!ZwCZX^{&Kw}F33LB%?mn}Bl;ZpLoPAkAe1wQ6v2c=4kbXxBQNoE*DA#~DChL%l# zhi@j1!IClnFfq|j4sUG6#n9IkOTB*Fkr+byt=;|^Yh{+cgbx*o#>cjKP4WXRTGKN+WqMAds`-Y ze_LNM-fCzjHj?iL*3 z(q&jJF-4SnE?e#;E{83&y_<9NPnL=P=;n9i`E%kn4HZ(XEpMRWT*bP2pQ*03UySCD zGxWAnd#p3}H;zQyr`=LGLqNq(hzyvGMNuzJ^LC}EnTv9CF=%cQOQ2!thdd&F58I1RF;~|h23^)GgKqU^!TFrxKdqP(+ZHAh>SO$ z=70}cH`O3OQ>{2$erTAJEL&}f#j=f5-mnW(!k+s%c0b=^8gi+vtHJ$vARaLqTa*9t z5N45?S=~nN&sxXLyt#K~?AS(sf|OS_$Y1P={7bvYL7KzoW}vL2lBd8NUpJ<6 zSPY@CZSBF%icP;2SFxS<#cGjnacxI57!myg=An`5*05n}*>x$!pUVpMab`KK@v2#$ znSZ#Z?_)*QRY}NwvgW%L-xg&>t=7P2?lt%5_YvJ=381pJ0VbmOcxhnO+%5#sN zt+fgLx)N(EH

&ooiWEwj#}50)VFMER#X)!n1lbQwTlaE--Tkv)P8a&eEw+*|s^H zt*JU&pJ~#g_%C3bpgQviTO|6>t$(CKk0w#tX~1*dV}ROQ+S$4?xmX*pO|=(042})g zjqg^ouyrvCAjVl(U$V2lN`+~;XFxvFM}xy7Q9Ns9A{88py)UJ%wS4;-Da?S~(hsAt z3WzXowY^iH1a3Wkg;--;Gk6WhEc$`eYi239H!%WICH0RX*W%P;%(FjlVs5dTYrwwA zZ$Ui;?}&1UWIte4+J%xDQce=iY1tj#b)QtRl^LS50&Y$N1myAx>|8rj1n$LKA9Zu( zi|$;{A#4S0ZneM$Rpu@o3A}J%@Kd&&H@hKP2FXDcI>xQm_lr2G!H5u;eP&|~MLpN; zS&3C{4pvtvz)5^G+@p~$jF^V(OUIYXXDC0bLibet1EJ2^t-}@{GzFCk@JVS_j#BeZ z=z{gW9+6-oQJ%_r%WH3bk69<*mZADg`?bdhgIpX5VI{XJEs20UOI4JG>vZ6ae<>P3 zGE7RTu0Wj`e(vPg(ct@R&@c3w!jcZPlLCAEm7bL)m2<~STT7>8!dSu4zBad~s=Le1 z>5Mrt&&|Dr%xcES<{dAJg99E$Hyg2Mv0;M5gP+ccIc@V4p=t*tYjA{1@Nf#j0b%tT zWJrGX`qtD@c!}vAiiytLO1IrE(dJf+D@MN~0D0^Ev(b*5kTAT^cG4*w4<;><;d>p{ zq<+$vO>{?xlQx!1G20O&Rn)*sihetYM3y=9wb=NMrUn_;!yGC@=9Z0w_%+LJ(G&JX z;KgvESnGuwBh_X|^3TmT9i_UJIkIA}{_Krz*uY+&U(<$nE)C6In-|zo%<|TTFFCwx zIYu=Xa_ACag8Sk3*kYbYA6X6^ha@HmDiEM728eSQhOR`}^4|0KBMUfyWMW91YwmUY zjN8AlKj&;m)6GL=7v71XF;wxzp^0YJ7}u8C7c{DjVZG>CfA-WS%MA|^P8E*vqvA_4 zqn6jk`dyRs2m@npm=v;l*(ZX+{;Q<8+8*6MjOQ(uNs*zMKP=^(l8dXP^g8@$`Sf41 zJv&nMX-it8qPGp0^&K?jrt-u`oG%UM z`jP{lWy{XTjz5Mz6wakg9$N*l06S=~D*_hBV_VitX>VCg`!uEB_%_%bT`qQ>O5j>N zSrTYBD+pRO4%Dji@MX1IO%M>&`TW^i??=z>5~Nqg5=LOzU?suuc?PQH8N< zCr@@}SYEOkITerJvJp00mo#MROV62aRgMvWhKe;D3Qo6$cXlt;)-LnSWjz-Y_4--IrN5o}$py@*CX0Bm z>3$^CY;}xIkG#!lJ55R92`q`YE1jAuKSj&bRrODsN;`};YdDWyLevaOUu`wr zv=3Oo@M3naHjovkWyjd-i*@wJ3zk%KsI~_gVcIErs%~P*UQmt|D{*RJIt0;$jZg~u z%9>=gc3xzc5FO7JV`jtZBbogqhqzcjWYu6kWFn><_P$@c(-mdyCPFdY~vb8$|>zC!jY6@g#;)IZmnMC8>fzvQ1Te3 zo5RuR_$96M=zV~MxM^9Qr{W;X9|bi*t=Pg;DI!hxzdusg)^=-*j(Ku0pyZzmyn0{c z$7v}wF$&A&i6Vs0Z8m%AZJ2xJn+DNjY9>DNPF`JY>m59K@pOCxyq#=U_GP7c3FD)6 zuJOTPPKm~{N?VpXUk6P>&bm4|@JXqW$otGJMJH#rgcLWg=sNjiK`@2184U=DANj&j z*xZuBFGYPw+#(Wo3k%#7?4CVU5I1yRND9kpK@H%K>}Npw^P2HUnOJ*GOc-uC32(W6 zK%r!4i-n?+9!PuW^W`TKK6XHZ0zI^Zf`re~p*|OMm;HwQ8VyH$xLTr7X70k*|K$Pz z9T)b)1O2Gszs06(f*H3AL%JbPZFy5S0Z-G$={9h6R0?HZ=Lxj<<}MXNU8?~nBKOn1Kiu?}}md2itJV3O*`tb5d)c#=w!q-$?* zTg99*Fg3%0!tJ~Mj6C?FCV*fRqVx&f%v6BR%yL9M>w_a8qzYI`%$7ORI63D2#fhGM zWa>OQkw4vYrx=Mt=L&DNJYV`WZ{6~eZWr%L_XpUpCzoA(UBZ^1R4IXd++S0aQ9aEyn^guT^B6q|?H z>(I|fpIR2n!fJm1G}}iS!S1ifI9j5IWep)f;d`@||cB~+&lJrF@nM}`U-aJ=n)8L(0xk6~IhwY*i=Nrl9SyZwCm z&_jCqf$+<}zE<6ZKqu~9^{~R!Gsb34Y@3YaGKY50(s+q`PCJ_(Em@gxElLk}1@x|N zgwY(!28O77z! z5Hj-{U>QMXq`PZDg#9tjER;KEd+fH-GdP;7{8k=46!?Yyz zfeG;EHsZ+$mnfss1iLn@HAg$Kiz{;7PaukMeGRx*1NWO;PkvobStZWYNRCH2c}8^1 zt&%P#?B})DPY_7HJM$y9vP#0bIJ>7ivD1|zQ`k)9P?aq|O!#h!eY^2}s+SUjfhcBX zHx~iQ*2z=i#m%!{L1JzQQZwVFqtrcmn=ML44H-HO^uing!xyR%wSM^s9UYg%`>|iD za=?L`EmO&7u4AkytQS(mbv&IoTAML8-VQQNTk}xk$ES=D%w6+WybbgoB#lu}0n);n z=4g}Cva^?iec?I`_%mtiC5>6@-<@VBXA<^8Akq;z9uq+^y~|b&F&5t;EzRCO@n=*O zuz}m9*K?J3i*D>?Dt2#t>jdj6D0hwoJ-i1tl$w9Qs*w%ni_L;-d${ZpCl~82VFj0; zfNppCo#ZRv8`t3nknCrkL5kDe#gvQqad9&CyjoS@Rv@ zPAojfUYkAkhDrKZQe97N`*0xp8x#qE^vd=^Lw>Z;{+*avE9Un)Pgw7?-DkdPQO7Q7ML;;s~? z9Mc9U+QKki#muSBi0%HqMfw&kVfKS)LF5L>4=dj_+!S5c^^s1jEH1T^Q9g48Sd-T; zuHb*19&1Q*Q%h#<0|}gMZeq8Oje1uJ)N2~(f0rGdi$~aQrX~u{AEvv-Kyhy@s$yZu zG&O>dVhpWohU>ZoU(}>D?Y^hP+_zYQZiGATYuCT4u+M-Z&WVCkgC=a{UG`gidXzj~ z_JjIjk?03(g*l(xIH9y?_aC+wdocIIr<4i=t;5FHUVwgE1bQm!t8#)M}?Wt$~z{L3h zvX$>LlVVrl(~#(KAg=MJVA~i6j}L5mCo%I}#q6qmATI2H+vNwnR2k>*PWE5j*kS8_ zYQbj9OA9chAjV?Q@`P=kTPG1qFvDxl2RDdLV9(VCYKW>Z0JZmBOpYEBw`VLjQCTW2 zjnEW@4+)E{C@L}6SIVcqrq;0LS;XZgR*G~hR;kU$#*qyuAk58HC1eDf{Dw`IPQXbT z($Z@;O1y;}dLh&|qQd{mN;SCz5VAUIC^|FED>HgcFvV*y98{IzAJ@w1iTgF9@uHpw z0u0DR4vN7XuCigIm0)IWwgwfnbTAcv0K=LC5z=(I{EZcTz6m%oT`u% zRkVh;DB55RH@2Zr1sNU$a!CWgV63kUSSE4)R%WQUu z#fIh$8WmEu%$YOft8caXPs&?Twcw=u*N>ccNz0@Azb$#GR?*@ygAaHpfF5!l*U9X3 z_aJMni~i<@jW^)k_4{N`xCV--SfZ5IoEp>-7-tGSI#^MIuoDuuuYsvTlPs$8+)Z&6O^832uMcL!CB_TMWF)yh_kI7g+}(3XTBN0wE7vZQ29<&@Hq-2 zYVdi#)hX1WCc-xqmfbh}W3|zHoMhBrmM~CC{E9e$WKQ`hrTq z$+O(D*82*1Bjou<(LR{AIe#g%yii)}6B&QYLEZi@6L;Y8{72eaaqfR~T%=ItOFG5B zWL>ebwb93kKaYkg|68)(+1&1T@#z21dmH*Gc>e!q_5NS_`hjZx)$RX55DqyihN%xK z_+#B6_>mJR{v0mHD?oQ>^hItjUCrlXees-#av8Zkb%}bS{HrQB#5Sx?7s;H3YA-}< z@Y))WtyDo$YgKYDPc1NpfzuZnxgI%6T{4z_FoHuN+)!?^;?ypoN7R6rrp4469@TI4 zx1aI-BZ-aQWgTra5Uc1ywXs-9BX7_*J<0k(Wx$!CVO81)t>uV_Jq+}|Q1}fM7P|Hb zNm=I2_)1}h)D6?9t$@f|^nYURStRsAq1hO(mx*hj$y8#aWj(KX9dUl3`*`XO=*A6a zDMcA)j4}nsX@l_(aC4BYRUjk^{0Y<|B9>(SH!a#DEJIFScX20o@~`VviEX!uLquDN zS0m!rhbp6V!Es7pgQvSlasU%$pr#O=x}OZ>K-zzki$WJF_)P74Xqu?wtub=ZO}bY@ z4Wz|cl-{(Dl>{Rn&<$6VaeBuapV32K*f$;eSIcbGvAq~Sdg4AtN!AzCGn6VEFXB0Q zkNl7zgkU88B~G((|EBV4@68Ac@}D)#!`h&&4HKx~=cG1x)ycbiY3rpp?J%JEFw_{y zED^*n{xo0fd3L0g9{Hep{_BqrZY53uf$BnOn}BN^I=I?~?zt ziU$|W5b#sIqjdRJcU%C*^kzEXBBZs%Jqb2)756|HQ+B&!$z}aI4$j7iQ=vLDp0C zC}byDITYhCOaJSv3`WXT`011Z#n7Dy7=a36jNJ34vyJ_KeER3$0#A&Nn{tC)as;Ev z!_>{ku5<$(;{PiC@!t-<2!0oUm&WW1ReKd3|7mD(```TE;ta>Anfyv%tZ6) zy`0^tNu3q?KQce66H92p^AFEpD^%%nDjS(4;^a!<#UHhwEkdl8lI528PK<8}&jlX4 zq}dDpRdD$zj={I6%G8%MdrkkjB1bC1)lWBZN|Pd&A@`QWGxEFG>V|OV78w)HP@Vj* z(m`rLj=v+0NIF~a{-vwx2w)$;f=C-CJ#2CpR*)Z$BTI!OONBUosOZV@cfI3T#g>bA z#)9dZ$j}N*{I(DmtFW=e#7&l$(%eA$=McKV1~gqQ)3`RtCHy5*xZipQ1I(9w<2z9Q z-9X^QBk>>YNG*^qhXDWNl#aGb+Mk${UpKt_Z~ZBv55`-OctfBWl_9bHH#noyvYZ1X z|0Exn@vwsb>~{EPAx<41nYMq%fQTh+6+CwdkBZ$`!yrE~oQU~Dn-&WmcmqR$iWD_^ zgz;%Rjy)r|mA`R&+pFn|YGq2~`}yy-VaYhIe`|y&md5`j*j%oeNI&j9gEf@!R;MAO z)1#3kO-lHwq4%rS5X+CkMmkstFV);CxHEZDmMJAsg{ll_NZt;;j_fr=a3#-zkLAZf z7VuSO(?ChySoh~4<-3cdpH%SX2j}^3Q#Ap#e38C7orWBR$ zarKPy%J6H|#jQXf0+gAHr`*6k1`q}MzDqN^SLa~Wq`~0tYU%2)BHX2xQSj?E zf@l}OP4<;}2eWR+Z~n5F5%p<`GO6*+MZ593m=JX5u6Ew(V~``msbt@*r`&Hi@yl#~ z&ot&XmXS$@1haTJ;BV&%KV5g;Jw{Y-YbVaF;bn9>s=LK)l;|-`Ou)EtgooukUJpO1 zQU=0EfoWE$%huS-n3(I6XYDnxcH{0f%;^`nic{`9wnM=UoBTe`(M^=6aE1DDcO3Ck zue})PQQt89J~BwHBC}z#g99&XW}~L5{QmXpFiT;3y3wJx==_G`_%MbFZ3<<3PsNet z>A+Jg75!fW3oo~2qb5Khk}uIpuAx@CYgjweT!*JfMUd2P_mK{Ahh4T6aHmL!U`5i) z#fFxm6+5sM@+?eHHe{i}IKt5h-yyu>u|d;v6@eV!&eGFQ6QlAvH@(D^a53JZ>HB4j z3q%RyEU^FmS{N)XJ-mMtwdWMIv7aKsLpC=qo6+H*D0TF0c>m#qSI*W(&eOV6x;dS3 z+2!wI422C}8b>%9B0vmRubH?{Dr@w7$-UqqmY_9^PuXy5mH{8CW5!%ufeRiS<+?Xu zL509gg?=yXkH?hB+hP_4UN(!GVukA61KC~KJ z8=lQMaAtFUN^}nrZI&P@?DTY#m23B&JR-5`@;u5NLVK#waDBk%zeMdTqlJ-&9)<|O zk|51eB|X3P941C?wjGhG(UpkYBMi+K=L`{rzGQ7~uTVBh+nbj|N{E1CbOYdCEf0Mw zUF46RKtrvfL0ic{8kjdVMK^8u%7pDQFMcy%0lI#nM1?!!ygKIO(Z|UAYh564gkM7* zx?Q!*TXmXAfom?O^H56=oT$Zmoev_wN%~3x@4fiQqX=h&YKS>T)IL z@aHRLEE}^(Gv_2h;kH64bH~iyJ>*Fk&pY?^AoO~%KEI%djgw;WA)Mww_Um9wc08;> zo-lV?314LZ5{8g~5Y^ncqpg6`x`ylDMgAQnZKH$?ySk`NgsCjS=qpA)Y`X2HA4x=t zIuh5w1&hyNVl?y5yuhxiWyD~x&_|~w#e8#Dy#ed8@4<-f(1j(GQzxcfqU;$_B_{_;JSI1$W^H05f+NJE<;wZYq+d+XrAf=6QF83L@ek1$-lNg@xIXelmCsSw6lH$eqXAba#AFgDfmADpbU1(IIHE-52 zm+@VJ;?~`#(tb%iN6|VMcRzS^6$jBW*;C{k_;)ByKCQ-tmSa()NBa{>u%KTg;FbZo zA+Ei&gG_@69R#uiQ2SbN5yLk?%jM*WL-o&n5kiPs@G914&p$?wmSP=(zF^5(r|SPy zs397~)C##Ppz_rxa*rqjRigJu<<*&6IO2!a-l8H&HN(ZI=zd~V{~HL*Q>#JF%$&|} zqSBWWHIC{Z8){o75>eR6oH-yNNi`ms9>K6GfR!j(XLFAa zKeoLLj*$~~ECjDpqZynL-$+jhxDfRz+#hN_8(RVi&hg4slxs9N@a;9GObPyZDn;nk zuLX7W1Us-Dw?IdJ8o)CiZgV)Sotd|unjAR!-{fSU8pS-cZq9LksG5 ztbDtgN&)ug2+KDkBsFA*p41IcEy~rSL`lif0vl+IU0^I6miVB7i(VZ~Ev!6T4IawT zgJpRE^zd*0eeXMqS{_@~uT%Hxt97)+@pu_;Jgo-sk07yqBKHp%J)5IpLf>;p+~XG= z<=}{6*|dvEFI2YNa~1*N@80Et^4s^6aJy0+E?8XW6!8rPo!(l9 z5CZP^hT_ISJAo$uxj2g!Vlo(Z8QZ{lGySRXnwBTclZy^JiX?w7@1B0qGCXf(sLd+X zh3_Tj9da7sBqZ5*EjVUBQE!sVw~UVYO7-AlYAS3b&a)8XtW6YMk~Vw+A);3y{l7c* zSOz3uAqC~q@@me`{&V8VWLncF#!A7(Q^>llPUb^zgBCSNT{gG<^$M*1AWDBi!|E*} zcMY+IbgH&~w?riiH5RhhqWKTw&+C%N2;iM-AwIs2c5^SC`VN9ll5spGVShttCnKEjs8f2c~BIvA{GJH4CM$llneEoY2BuX||Z9o!oL%Ho^HE+YGbO7Wk zayq`NG7Nb8)h7Gz+bt9dj8;h&4O+VUUq?;nD@Oi`c4*g6Z;8xl%_*$jKZO{1=f7dD zvfT+5z7lK`V?%^335ANZ)ZhR{xtsVy4Lg#?oO{mEKT=qKJr1JRkUa~{f+iDJ#11}e zse*w(otzC}!Y+iw6~Gxy=rRD!4e_MMZi=L%8IW~SFjZEEyMZ6dQtOp~8Ys|h zRls~>D2UOYU!?>OFM_D=h#a6oZ^cCnOvdF}!N4xI4$Um5T*L@53H4N zR*7l?B>Gb797VgZp!HrE{9q;gnxcKBv|+7mO;Up&QoCB=a@H?{W%P+kr5xX9s)!D! zy(j*beMIT+IqI92(`BKpb5Wzh zbaF~Zpj3$~C3x@=WB_ceSNNl+nJf)qCm|Cr=LuTk@1@BywP5p_v}-JL%oPN_SY$&D zmp_V$(iUrfiuurymmN3M3hn^yDIRynSdz{%_#-T$svq4jXlnX{3%q_d8>mnLM~g1zl5qPGk*v|;;I#>O+ji2P?CaP4q$|yW zo_c&x9Q{SX(nObAg#Wy;Xtp*ugNk+P+y^sY+^C#|ShDI!OHFRAE7CB0w=zi~!U~Os zF%Se7Zp7%(5=SB_wz*h>aF?gM=hO~jjB}7dx}pgPq{FM%AUUmy3h_4#snZvV1^zoE zTST!l`YR!XPBI2KNI(?Cw=i%uziKU2c-WMqF2N(iL@J9XEp>r7mK?|?P?zep(|J-U z@6eqwyZ@PycSqerq zwvzp~+oRFu5!4u(gzL8Gn+bgVc;6%k&K^oIvrKILp$ACo-v0?C?H*BigCksLl&=0{ zBS+EzDCV>I*M4vlf=k)y4Ed@D@*0Nnv{c{LYTiUW=it}$ zX=TmsE|d*J|BZHhP=f?n)q|QJQOE~e5}X$_&UsC_9Q&;DpWJhV!rs{&=>}mLX2|*$ z2_`ej4yPAU@CV=` zKqrXShY!W{&D`usyk=7BKfUVwdxAe+3s~K1dQ$sa8|=Em)iK_k{tpDC>;sqMp>}B> zlM825?&#J|Ltf=Z+4V*Ezdt|VB}*;oK!2Y137)p^JShOf-hfX~l0U!hL|^rmK>H5} z>KJTPQxemB{(X`gVR+IFhRw>L3UOkK=k*v1*^(w%y&YWnKVX(o25`rq<<9I|=aFaQ z5rmc+q$Xv$R?-}deT1KvWU;g_(!cIFjj$>##qFbPJ6XLGb)OE}2?+X0!i4XB^_GMo z?7eNo9L4$gr-T>R|A1eoi2%D>d%+Y|tX_gj>KD-uFpkqG43=`)?DzCT6CkT9xs3Tg z_=Ce#yAq?|1LZ3qexdX&$wS*EWVp5fvfb^qQVKdtvN>y(VCJA2bNp92UH!VGm9o)E zy3qPzD9HbN9xpWb`TwEh&EuhL!}nn-ktHM)p%Su}HDoDU2-$Zdl4UUV-As}#A%r5v zl6@Kb&ZG$0_hp!|4`UhIV2qjhd7kI@ec%7y&-eZJ{(SEHI`8Ye&hxs?<2bM5PVtxY z(ITwQ-THg`hvF~fB*ZS@z?j!}rkVbo>)sqYi{(E4uFToAYR$$6pOM>fs7BTv{&(H` zem@7c33u<|XFmNvS8B=KG`i>3oap!PU-z$Gc~r`3b-JE>!=^cZZlrQQB=ma>rYrN4 zo6=MQcVzE}Rett@I~+;0U7nsF?Ef`yl|DC57J5TpOb}_U{oG3bVl0e{Pn_P9X9clC zUR2k5(oOJY=l297dw$&Fnuh9vR7yKO8xx)GyA!Ul7qS-O&@nNdrHUT=;5I|tX#s{#`vOP( zDDJEoDfpj0##MGriV$ro2HzH)ATP6z7kp9oh_+pX0fQUG6;Ix@>^mQROFzig&pLYd z-(20!hxz^YCe3ZB|1XV={}mcf^}mwq_ogj0Zg3$J^6Wojyk5u9{LdFSo&wIs z()EJr|BKB#oEk!@_WuK+F}!@w`|oqr|DPlNzgi>NDcmZk$GX*}tkpt}1o&I^AFdxA zO=qtp{^Jxi`p4E{%#Bv`>6-M3n)HokWZ^%vpHj26DCxa`skHWNbcTcc1sU_nuKf2V z-LwZnHOlR62kg1wfn%zC{}?7`K%Z_!4^a7}^1`|^rb*SnOS7koC6mc4P|dm{rzw<@ zd3u)lw^J$0caxGA(&@?C-a0~=`US}|UtC>v2A(I_|GNYI(53&)r}0Q+H_2=NlU`ha ztL;->mStM?Zcixbbn_e2&zMtFBQHS^Oxq<$ODNXwv5!l=@_(6**RH9HD$oIoHyEzYfcM?UG6WqEKOWnbQKfr)@&^B zB&S`J2v`4G2nj4Y!X745&==QJ8xL;pi`$M1-6#q-;(NDrA}X?wyi7bfa{3S9|D5u> z=4C}oDx6qozLtC{u2keWaW%^*r6al*w1gBD6lvGl*ZIe0iHGKe$5twzYxWkyO4e%y z6!TQ&STD_pu-5%mUFr<6Umw2-|JT%rD?&bwMuu$=osWs2GDZ8(w?ir2z8P9J!^&t= zlK!O?K6k3|c4`TVEhLYft%OgxT^yW6b+kG4`5L@DTrnrU`^IPovi~g+|Q!w8Fr2ooCWc-$np|7Nn(G>)V=mg=C-m?Bj4~l&7Y+ zDugxv`)6<3XO1yD(j{)Nk0ur0kDN1Zy`Z!n2482ipD>63NgmikE}lbyC!`#rJDuc%9KdIrw+dWd*2rP zKmy7>D{SWew_>?pvw0h8dAJn7p4sJGsWK6CIgtgbm{R}il^@g>?(?rIT}$DPm9V?i zB=T0wXYBWXIJ@H2f{}7p+>hv7`mYp~G2e>*J5I>~RaO|ZRq2Pd7;~=GmbT~Xv!pr3 zy2$vJNnWsSI`k_KG}US3JVbQ5K7^I+Z~c7KwYHp2dGABa*}KEbMr**FE00X6dIaCy zvlcEaxz8pmt|Rhz4oMKV10}Qk3j^i?!UF3x*@2wPJ82+@J603$%)O$q)RCPY-*ot z*UxD_DY4f1r{R1Q*ob-l_QB21agr=If3B+Bm~A`9AsRCS80WgSy!z|$fzM4%a=Ll>qHs?P_w9HHIs4Okpny6L4?Xp@ z>3-y4$U)g45>G+`5XsZKPm@uk^{sADM}9hP!V+uO-sML+_pkkcLIRBiS?im%b|vq=3{6pXhDF9;1+?b+r+ zkAA*M%2^EWhq^*n%VgNsU`ECkn`JK_CwKE(+>~yylD|}5!eORzM zX}N;2;FW9TGqhhT-_5<)p0#BA=KFZVX0b-=leWRiGaeY0TuiDWp=P15|5 zxoTO|(cIlj1_W3KuJC*?L`Qd-UCSdbCI4W1`P0(?57Wjpvt_~N)|z_(X|hM?IX3AJ zBk3In?sBqn{K_Y>nahVwA@Uj$Id}3i9q)6b`4~Cec+%y~d_eF;UgVZd3LsjT>%@N* z`*eP$62X?`C-Y@Y&Sx`|30%f0hK7`za?7#Yh;!=&@T z=;2=tA>L+tE$!6OK&Hs!AV-lK$)lcoKU19=UX7urRo=+o*(-S@WcD)F$@|9e`VUKK zK8~aQfteW6cd?sW4UBEUBiM0Bk3)&I0ShHF@z3$_i$`~js$;H%BG+@R(%v@n#tH*O zHi38VC#))iGUG1MQ({ASza?3h{6Mpo?dJ>&^XBG!(o`jgJ=(KA^?m)?C6t`>4)7if z11GsVdDo==-3aOYx(B-D@FOysbD9lHHGQ|XpG@b;J$=JPQQ#J@T4}4k0p&m$c^9oL z&R!^RowyL8@$TdU@Po4qTj(v>O5RGGuSoFXv8_S=VmE&r)fKtQxZ>yw9R&tB`mhCu z^W4Fmuf_S1h4(_9O5C^}qeHLQxYhS5fx4$>{+BiA%JlVVdRRpB$E{DpRDa^T1xbjV z8Ly6mwVHB|B43f2UA14rPm!l>TrvTVv5$^*L*G`%G^i>21Tvn^kFu%v3jQo!JGvSjssbSsc2*qBhWpuV+X`1s|Fj19S~Cs5IQxa~ zgp+%H%-(oBEzDzdfDm^bh+{uXgM_n;UI#h)8)nPN^1^HtVax+z)oRId1R|UesGdj% zq`ktJx6gDR&9AwJzZiJAJE&Poa<=YKiOn!}0sIgZip~Cbi;0eE)koa=0uvkjYjpzM zSYA6G_X`te+SqdkWM$Tr1%J<6U^YnWji?vJ4}#k66}tRYU^F|X$Lrfd^pV!VrF1u9 zO32GjU^NZi&dN&S>qSG(sL}ebztT?@Qg!i55k;e?X()r%lYS*!RF zx>mus+Gm0_D zuvrMC99W8G^^wW$qrIf@)ogmbXl-R$tQUtb*%jlsw|eTSM!~iXA^v7uBb}x3cP{n+ z^1Sr)^g7{?r%k{N&F}ZR+`!ItQL@kO+M?3COu?>KmG|spILX71Wp(^&ybeLnjYeYr zrm`3Dy=i2zB2ONj>?kx8uhHXYe(wsHtN`kVwvj4DD%=~&*}|RqyKt!B&8YL`BES?U z*uj^!C;BeA0@P-!pTm(D#dl{7pu{65z8gpV@bkH?gAi1Z4!1{F<_#LS z|5gI+5(J$h{udUy#3E#WLQ&mZEehFNXj~gc2AZXrHexRM%f=kFd#`;z|0Uq=6$zhy z=NZoQ>_LZ&EzN_N$K|X0wn)p18oPc8`^S$EqD;DmA4S9D`AXH`+u%bWY$s%}1H7g8 zyXn$_FqHh^W8X8xjfkrAvx`i6(m_xa#YS%-X(vj;aA#B%x^dkMZP@sy3)&mlpI09Y zg`Ss~Wsg(!!N^O~tDIP51=Q;MVWO>Ekur>Lyk(@T8Mf~rZaoemqsT{@EvKdG(aev* z{-c$4;ZzI>I44kB5i~A(3qcs73%%}P`!yYcmE=hh2X6=28%Xg{uaoQzKe^}~rsg%;gbo+kY7=pz^$S7>>Iw8X9~Fr1w! zw|B9dG(s!;GIbKyhW=_;J@%!USqn5I;Q?W09RY-A{iyKN#S{3UYW$wPHF?+!ZYF+! z!UT}_2-xB#JR@X#QW1d&)Mt9mBp)A_WV(2+@8|6S>_702^M?!B%*7knlB#x zyj)E0lXk9kT9H*BfB47g^K?LnZV$`wsvqJOv#r`K9uVIIwe{uYTlN(GpEM{x`9x38 zh=Q3%TOUb_rN8C(C6FSDfM*=_8xjqNI9@9_7mFcl$5Ql@7NZS^f28R$NnEuCOInd%l9Px177Y zpQ8w4URG=mBFFC1-2Dr<+~Gu17asf4F(RhLZ?4zh%7ra z@^pB-fRKPnfD5`r)L!ts^=CViY z5dN{cE!4$8>?J~mTV#$&4qR8=u6b@x?dbZToY|h{pmA4u5|t>sdYkF_)x;BMIp(^+ zZg)L5h4hir?=fuOG*)qJ;SW#P?%$jv_q&Sg19WyY{eS*4GD)Nt3d~g=MvD#|67ZG? z`s4ZFy1YE$9knKUC&DQY@f^LDDjX-le65V)9eKYIj*kju<@zO}6S=|z2kR&W9G1TP zv<(fV>im@X$c;vM|3Fg6dGE}lG53-=@$U&#Mv?lLVA5b;96S4}GHGAG^ryz9g+^ub zv0{+J#GPNX=p8y)Sig8EMmSy>^m<}(r5O; zPs^|+0rhFOOiGPct+1#R0P$B(_gYQ&6oecH(aG;6V?f{>215>ffj(RWX023&zR~d2 z{K*JX9s54C8*I?lKcoU^u6ONO=mpFh$wx&;FLITF?GYi|hVm1;&vp-> zt&+6&;%AZUH~c#JnJCu~OT?_ZqKKa$O__ zZYN6$hhO*QW89B8zQWU;_)P}xu+MngBDE(#KWt%|?ZwIj%wfi}>vyZ~UD;PC+yB9j zpm>0_t3O+g3>q{?G19DFRJXzh{ZL}eKth6ZRL2vv9h^~AO``Pr&n@dR`S1r%V+v4& zV=LVI^!T!>4xOw=C#K>a^`84^App186CD(T|l!pFH$Lo_%w}k$5ZJtFu zR#j`Z_K&1g)4oURrR47e_I`+bYl!nEK@Nr<)XvI{I+vsDIQmZP3f**Y{(6(sz=oY=ojXQf_Wu>PF$+zqt9S#vl z$Pg&OnrF%V)Haez#_N?bdBAz!%AiJf>{C)ixsO&X=!f^Rb^q`+6~f1iGFQcs5X4E4 zi}3{hp3T$dTLAReRE1;2_s6R3+_z4$L*yxdbBCoG)JALpo0rN*hmKu6!}c+L*i+AY z1>L4D2Dyq#Vc!8#MkNpI2Hq*jltQ3U6e5;w1xdYbl;$?qr7-DA_tV^ypzk9uIbeXf z4W_P_cH=OH*|mjH(Z@SMJ~!pxDshym>y=QN^V*kIj{yOOuii+fSDs-=69$1qBu|#) zq^7Hp%SY=h4&Ui^Sw|^dUVo0P@xwv2XKHb!Qihov#yH}7BF}E;1KOYRn9b|BT@ScacGA zvqQ8@3(aQJOLF#^lI>LT!3jsZ0bP6AMq!^aus~KBD3A0LDQOdwrYPfr{tcDl%#pa( z-cTYsX)Kn{$r!Jv3B9c-F!(amclV}vL|_=v-+%M+!3*CM?m^4l1Pw^7yBw1aecGKT zep6H1N*mK!S*o|FIvVH4Da{qtSl|0n#%lmp`Yb1>MAn;Gi^Q#uT;?a3DnA#`{Ys|i z6HEovk2A=e6?*A8js6L22GMe+Wg z`qYaL2Lzopct6WmN!y!F>sig0?wFrN8nfe};#Qen3YQrvUE;Q+g1@RGR6WV%kn3n0Rg3or8_qJB&xKCp^*yk$?a-8HX%u zysH{k?&00?#j$d5(mCXH`KC`>DuRbgRn`^AsgYVc3fzoi@j2}XCWl^;>K9U2c&fIh zFrCbswpq8bbm0C?A;j5N0@wUd4bU_nYB%n)&siX|9a@}OIL78*KOUbe_A+<~qmjo3 zZc*6`oTmBYA#>CrOw)L*7>8#tSx*qn=-YFU-!YFNK^E$!3g+uDe{|?hGZZ}3^LJ^d zuGrmGR=a1mW()M^Ip{116ut^Ss<+h1lc)tR2!}F+Kc)>GZYsK5#TSy0R&d2GPQdc} zs=RIqql&xDykS}7O@oh?UxyN$e>`pvaGqE7JX8kc^7_@8@Iq&m>RNs_-c-Y;3HMcA zPBNEx@usXqR9sXSas7!$I?NVyEFHrK2OW}Uj?t*>y52pVIP}|vb@LvLItpDF(A7mt ztw*Pjdps%c&0gGm@o+~*ZEs@t6g-CHQ&W%C@o+t86mN6LJm$eseUwe^2@VI*c>5TA zZa`MOX%+m$=g-~uIaG|wmV4|)nn~?g0nEtWLj{Z6mWv& z`F!+{!70v_z0p%{Z3d=XpL}mVek0dFz>QHy3qpmGPqL6LRnCX^I9~ zn32h8V(fFE6CX^~bFS#-j$Knw*H@K&xY?c{3E3I^Id{X){?!)DE&o%=(VdnbIL%`Z zt`rS?u{(b-5jUr)P_h|dfR6NMmjw|{0>s-^;-2QmU0lHn5WLoOP4;b5QGNyas zC*Akv?+B?Q;fEp{p&@<4I5)ClPSKBu{CyjgY-xzyxtWNkPo0`k<1-2Jmir~zguYzm zs#_mlYMG%H-Jt=fcf_E1GE)7zGz5CtO+gJ<_`dD$>#lR`=OwpUwj*l!*QA7UxN95* z3$C7x9Bm>8Nw}0l$tixBBE?qIdA&JX8O2A=7}Ch*VaF4ZFgpWEO~2pl<>;}FILEN80PunzB>GN56Ign+lbso%Nzj#a`Cas5w~zfwCUde&zTx5bAh=9`t6W&hacJ{Fq0W$K8)&s=6fpJ?X#+Ha8W~ zBLN;XQ?Bd1YJ%ISqI_bhx=1#I&W!5HR>%)KKi*Qv^bhIzJ`l!Zd5SC?EOBki9G{^K zJJ)#T7@D!9ZJn~LBpD!#m|5Aq@WS3_q@tVJMQ;Ll_%&*yGt{g~9`!_pQ|93ZN7|YW zi=RnG4WWb%jaDdYH*FiAMQ)>tEB^OHZC+foO4zG5l0>%oha!Ki)U~Y4P`e{+i&bKF z8Q*W1D;=G}Vv&w}`2^G)<|QQxQ@5J?@>&gUtBdhT%r4ny5H!?Oxv4hctt)_TnD0c< zPA1?F^;)BZCQv&DLGhj?0<|PrOhK9LIEVV!WA6BaLc_1dz@IUCb6FqbIOh`T*+o4M zCuao5+a0bR)iVxfZ*y@NGWxZnJJh`u8uF(Hk{UyFny-xkTYa}|QB8%Tx;FEnKG)+b ztGT=hBf3Y~tJlGpYFnR8?UeldW&YB+VZ}&Ih?~fW-xr7G(+~rpBIwxn#0*AGKm}ui2^_?OCQFC5!^lQ6YM^txM+P6 zvGn}>mC5L2@JVsq{Wz;2m+E1TP5BBBWg(MMhEQY6W!Xb6>_OOY>qYQfSJ8dl4tId> z$orS(s)qZ&KbuPgRFRLWHQirevyqIZfUTX>N}H3oS`F~@uF}i~VKWD+7#zdO&h}>B zQabA|*V|9G-jw-sxjB0kSoZLUTdWM?Srd4JJ!pGeVFiPd$xR7BB^gCtTBUpdJZy9frxkJn%aE2vfc3EY-Uep78F&?=g zsxnl4!OB#>CgMJbeRd7c&-n&A;c2-x&X7IlT{3CCI_ZaSUtT21czOEe&v`DGmzbn$ z3@rCK=*S8PeR~B#AAdRhE`2>NIBaXIQm^Hw%N0$8d7~LVqPYIs+eF{&nD-O2I_Y7W zzwd6GEte^65kG*xS#9nj%35C*`_dPyJ#)MiJjgOWS79|$&Y(luj6Z2F=MRP- zjZV3Jth{V_r(AR#=acvCA<;Tj+quge{a#D;Y+(we!}|#p?D!3J%krT1mGNhSNB-bw z{Cmtc1c!`@8crPYG59e}u`po_ju6>ePeaUL4 z_$C-q?bhDdShL!vy>^4@w)}11o3!Q}1+(AgO>`i~*-sqEht1PF`93V10UL!Xl*{SD zGEy8~W?5S-<2{ZGS62K-Vg(IAmJ`l5^)o%4e+2xkqMT~}F{5e_l9={3KVIHfwa~W1 zfLL<&Q21w<^YMeN>Dn>SFRABw99lc`MLV&gx6iOVk`rwDoYT9*R_v5E4-H+enDE+V zv=|d%^6uZCKt?-o7;o~+2B(GzG$FSypJ+c_1-|RifbDW2^h4X-81=bVByY8pSXH~j zKY-6>F;vVbla2e+|0Pyg3w0k_#I-# zZBynWjq|^RwFcmJAJ5M5tVhh9HSH(_Ax+&D)-u<>>m6&Eop7}aoPmh8I|~5{ElEwm zI~neXR(KzLi#T5YLvz}DtK#;e*qYKv0eR}(?;`_M_cwt0yMwhC$j91n>iPAtSd7tO zAwf$woS&AKyDI_O03#oZGG-JYLyk56q!eR%Z_tW z;~!-d5A}cYQS2&*)-+HduO%J&ZgSecXK95YzcQBLb<5dcY~j&driOZ5o+U3II)&0m zmKz0jY;JFIjRP4}sFbj&p~Y?Lch|Cr%hR^E&0&cRVcE^WRqfSaP1TYpjnq2cERtHZ z%2UUF--R}5*~oaS#+|)uFzUo#Fc0hcT68g~o%jdqMptpoguBjTcuAuIQ@3%HnEf3T zSCruLkaH{{dTvP{yM=0R`mwaGlQ=$w35J>!ffb4ecGsk>LTORSS#fnHt#1d9YL{Km zUDh@)hKgO-`jaCBGX^uH>Y$+TY%Jwz;GiR69oWAUKbaZ2Dr;opt5m8#WVn&|SNwkI z?J3>C%Pfg=Jj!yYsFTWp^!^uB^1D^`!X@<+X53IGp09F`M-A@opjhv4U=+uTP0jAD zpq{o@^(7d~#eP$i^vMJDlnzqnbt|5Iiw;$ovN=AB;ixMQ2U7jL2;0AIceMMuqHH25MI}Olc1*1r(XUibMfddhSxI2$i7gM2(9uG^IpgPa z+D1AdzVsWC`%{0iz!x>< z1r}Wy!ny=dW28rwbRHK~@Zc3!gcot%%B8)KvmO`1I6ItP38Wdp*zK)`t+>A=D>be) zqqHnd{g;2ShPbS0Fecybzb${u2J2T#{?k(7zvmlIPH1X-H(Iacrr&#+*GqqE-M;;~7FEoi#%P z?OFh*#yrI>ZFGI^S%a!Uh!9VtR*QvUR;$>A<+Bb~G$r=MXWRVBOq$3m?zbzF0L11@ zzqOWX{4dqo_B2yTNy~05F(8FpDG_6le>LQl*{c!P^Wz`Wz=ILWV-VD0W4sq*nT!5< zhBfI!7dJ$4unsiDUh`ngijW2#&(u{b<>Zo;rwzl!`WDU&8(&YOb0kz_Q0!&^axFegE z8oW@<2>*?y>6??*9m~9LIKE*l(`NRyq`@oHrihvFFvXvRRhX4Me+ZPtC4Pe}&WZ5cr01E0<`K4x=?k`*@7HL1$hR zvr)YDOPANoDHeKwPcg{M3u`SMk<5kpV zd*3lZ_)US{$)L~+nMfU`*ouM zQTM%^%;;f}udfsJZjbK;&^FEfjXY|PKHhu{1xWQ@6s05Av!9}2&6v)~e5=IiFBKl< zCYR4A8I>kHnI|4A%k3zFc6_FtmWP#&UZuc=wQsvjd6leKpyTUX8S#g&w4xexro?>a zcJ#=Vew0GhXA#{#9JW4Ol0we}2dYBu&1pbw{IH|dm8Ks`;$nPqO#y(wKvR34+*MSG ziDMDHJFWCsIaR`D!~>4C;X0~Npi7+1;LwAHb!ian_#3s;DUG|U^2(Iq&UrtuVXmek z-=*Ru;2QLYp&qKG42lU-UQ-txFo+hU{ZoEJeTj&K;XuJ+kUYC^bekgqWJQWF3K>-{?S&&P`M~aRnwj7L7GE zYyppqbH<@lnCbk?unm%ydoa@S%XlNf8Gd`DVSvL+T%VhIl)+A{2LyzMR6?(Xt=CNk zlDSj4hx~q*qDvhn14LdbX+{PSJG1gRKZ+|!^neTzH8i?tQU_o2wo=9*TiyrawRA8-AZ z!{T~4m@LK}czAwtav=(CThjI`pLA50Ai12Mne*{rUN+hVB>y&lnl(UE>XBDb$%CcH zNvrMd$xKdC2K5xZO`{S%>)0wES=uAZWQ*rfS6W%>IVZ;s4|7unaGVGPR z^zu4|N-~>p$%jQw@%F8_N4&%klQ|Nh%%E4)TjK3Lu_J@K)Uxzfy8$A5uzBb9*Fo?|b>cQCzl zb6Dvsb`%uJesFQv>{|$KOLk|mFO$-Qk1_Ejw|nBt+hIEQOnCb-yyeV`#kJv_qpzh=q8&^YRN=`tH|nTkHIMLQ5ISuYXKyK@Qg(8~lemqq0m6lWak_ zU9%EYI(H_J?oa&Q4R{ygbCJHh%EibkdpE%V8~7lJ4CwG6=x4jf2xe)=g&BPjSCa41 z73J8E6>U!0M-0;uyS+LY%)C_-#QU&JELw0nT&k zPdqx9lh~A8bMe!V!!)d`1t>N%CiL2`QLExLV8Sw@`jHzPG(>g;n+v zg(oMz7dz*EOjaUT-aqGONp1Q1RLbQ`0G)wcXT_@krqqYd)P`XY$6RWGgqm->)F}EF z?sX@pw?q7AS3jqSy86J54G8BN^%TvC5@zGtK*xI%Sm&k7ld+cr=>w(K$%~ zKku{oJPR4f`Cb>pi%)x*iSnlv_b4dbiwv*S^AZ5?(0qealWXCBxk=+a>>&b?RhFJ227HtN@ZgwkTIKJZ2U=^ zW_@<6M)KtD&i>{Khrgn3L8Ld%MYV7mG!Z;~Yk{Vi*FY(e1Na)X?Bbw!4qjO+XdsSw zl~ur6%i>n@98`z3D%dBN&?N-^`G%buFQ-+k!F7tCT)sq&toAzpG9nI!a=i(jT-KvJ z7*;;00{spv%MWk`Hf(LgYFMpIO-;=P006I*0WA%ECuTDXAX@+l*%=_CD26@JU-fw1iAr5YIj`OKL<06{`r|rabngU%joPp(-%VOK+BM7$SoT8J zHr4iW{U;;Y1W;SuL<6_{`VI?LgGP@5j!`GAb^C1h-DWvB!>L}PyhXwEy=)q|Qy^`% z4FUxA97CUuGl5Oegr(V(FzTOTjZKe4^FTIcJRqrqQtpMhc&V)j!(!@se}5w+X0EwB zcNo@DB=fczU)6-Y5+LMw2rWdl?4Kw>@TFt}o=|uCN#-e+5^+MlQP1haQ{}ePN_d*= zoZOY7DAWahvCYU6@-sw?1*~xO(j$ty4}~7TDyxM$)fI2nDAZ zE-_Ab_j0C^-7CRvX6{b&zk0o_Wc*{SqD%naNVU2s1?0V7Ahk7aMqQ2_GH3mZ@%ZN< z9~K{;yIO7UN0jZH@MODRobuZ%IQf@`?o(W*c%RFKw6&-m+|mr-X}3tuNhMtHPu*a2 z=WSc|JMJ!7dVnHzUZ$P`?c@Y zzn?a(Kfg!Zf`=hwb`{3<0#r+bXPnrFs$PeM;Awm&mY%IKLC(Udi2?oH$)c@0Mc7K5 zL~IOOYDu9Cb4`CmPR`{k&8sw^Fz+QOHV+M90j7(l;CMrg;+pWoQ$8a;f}gsR$^Jdi zOCHRWw;I)We07PNzX8S*XDNk+bfAeTf_k2)0KK9u?`;gjH>|*SM3~`(7HKZN>*GN~ z2RIhw8(?`fF*Ox3n9WvK=Q#HY+iF@NY`sbdNj&#Fa*J=T@z30OIwp0FIXqgJHmy5V zlo~U)wVZoM0dMhW&Fb)M&JDghx3}y&$ajGl{2ERS6KXw!T7QT8c58le5S(PNQAnTr z&^amd+7qq;DB~LAFC^N?L=S%l)nuLgv|VsNi+NTdM(CvuMjdf*J@p&f%9FkiE@JOe zM_J)|~@o>kdbGDPGT9Uhc4z)Hgmwqft#X_cV9<@oa`OT zSU&XJcGFFfc``Wq@b_mWMa~^w*ofEpJQX5r`wIj%&Mp>AQL$_AS~Xd@%*Z=fj3u(c zJ^IG*%1kqzZKBy^MV!gW##`RfvNqJ)2A>!`Z^U)3lellT(f!jNr*$@dC$yXv3;m^* zfuSJ=Po^7+G>0cno#TRiO}_-xlzOa9!88jPN-@YnbV*Y7Aa&wg!fyeNggzvzjhio7 zNhS|qGBu4%?%ePFb_nhqIc)L8WdKG(Ouis~W-nBL5HWrn-HC+KLl7NWv(_@@WSl28XY1>0_EwTjVbu5vJk>hN^Z#y1? zLKJyRHv8gQDrP!h-7B{2QdHp|t>*VA@LI3=ET8%-ILg~gf6UklVspRQdi&i4LpfeW zQ@H>R6}+soTWyDAg`@e4;d`Tnd4~ z)5E$w4wmuZ-&ks|+GR2NEs@FDAqx>!Vl4riZ^(yqJVzAe6#H8zGIN}q0jqa3l%ydU zVctkzVez=xLt$C`(R}=!-;L8JGKkL4orrh zwVs0WQGU>3t*5riI)0vqe;67Q=asvGJG<-ITS}8HUeWDM!Ew=cR5FuDm!o3PNu^9F z00hZ0mQ6eSxD;q#-;iJ>x;PuU_w@un0V`?HWr;p&WE{+1#d%(!?h;_Sicmm{Un4xK zH8HEf0qwfIoLWXY!&Pjr@1$n8fZ7IcE7aXNu%PMdFx~*Wj$oq=!PhwT#aOPXyva+^zgEMSp6?y(64%vVi zDe+NiDQxNS$daGUDb*&oD~FPAZcXRsjjF$5e^DQH#xvY8x2#+Ao&X5j=e=TA_xG1p zzS~+Qu>pH}o3Xv++GO*FsqC-{TeVv6L=f`wUf($PJ4F8Zy*y|E@Suamsa%Y^ak<#{ z0pnG>k(#>~@i}MGdVPiwW$P#~WOK9_yf)|8>dAMQN4--G-k7jpeEd(bZXWu%a%AiC zU#oL`fx3E!(Lg=t?B%_saWrwr5Re|cv}-flo#{U9WO0;ZFvX>rfGEk(Q9AhgM4&75 zhp#g+OZps35v+S`ya#b%TIu6C&3AYi zw~o1MCNC<#OH4LQ#>44KXQg|DvJ;t8U=v}(1%$|ljUSGce?VF-+}Tm`A9K>oZUTiK z5OqY(MhP}n>53FUV+&cCU~s))&)4_6L%agpFbJWcV!j%M$}D>OaxbTH#ajA{vQ5h$ zP+?uzM$QE1=qgQJ29eyKEDd&3eB|+!p%Sx1Zd>Wqy2zOC;7HoOV60J5hTl0xLr3=I znT^187jR3{kE#)6=!W?bxQxmKBVtpOoXn4Q9b^j)-8F{qyOq@}+h@wVspP{$?6x1Z z9!y-aYF>HQC_BDS>^jgON$G7bk=Z91zV3 zP<#97jvHSj*G`lEgoipG<3+6Ekbn2TY)x_z`UG)3`){s&81jnjrs_ND-vDWjj3%5S zE;b%V!jy3T(}$uNQe#Eq;x_Hb?dh%MG6kJTgt+qYJE)puti^y(>l^MM;AzHJJk26h zsr~NO(br4cC$@m4fV7n86VMl}s=iDJE^bQRcEJ;6QH_l< zyLJEYqx%u1oX^X_lc}xOr9PmeF~sW@VzQ-Fzv; zw=`rHPFTF3DPs*VT864l8o8#aD|nY=@ALW;O5F*d9qVt{!J%}9)hW%0%6==37ww-& zaI<}c>;c3BA8hsL^$&XW?n_O=_;Vw|l+=b!w6`Gdl{#Y&#rEcIZ|>-}Zuib|@UXtRwa;AL6r>UiA}C=)POIgN!ZM!H-sV%!I^U8$ zYhC;K7|}#7Rwh5B5Z*4sea@&A{vHdE3FKNJgmVRY~}T zROgpx?kQ5LZ=5>#UtRt5=+j*wL))zmB-!QDGaQ)~<@2ckNOV_jg zH;X#-iY4zGeW0&wftv=(XvwtQK$-MYiien}t$Y+T=3J%G1v%K|2=VB?N3UYF zo+e%~i;;aJlr##oGyoq)Ju6!_(OZ^evO1ah6Bg}`8KER8SV)`$8_VF7z)FLTZ6SCG{U40!jv54C3md?ZTI(-0tTu+#bq6};|}XH zN0BQ|Tv<@-@C%O7eal{d>Dt0lE#lL-{{7beph*B;J0|zZt1=M*DnM(E+(#S zF6H8zzX$9~sZL;Vk1tKmUPBzqWL!6;nRr-it2xN;%oh|KTc^a5e`baUmcgbE|C$P= zX!EwYiWhi)2wI6I=xR$5%b4fatWM6*FM9GkHpaHHr7u;EDC9U5pw2hm3d{TZ9{zB6 z2A!PEkCLK=GcQoMP?jn|gRgUpCQO7-bZqyOY0y&6b1wHOXZUHCM>~_3t+HgLRSG#z z=ZDgI*`LKz0Kc4A!Nd*?q$a~lZZ7_s9PopenioPl=m0_C{k!wXqY&|or*qu5WalB#NB*j5^nDo(a8s+TP8fjBXqPr0k$C5% zWqzojTgK6x{0U%|Q9eF-Nvxe*A`K2EvWnr9Fkz+(6~8=M9Gt|Z2BJ3J=0EJ2ewE*k z#m=B*#W`ZJS%wj1Cq`@H!NXBUn@iCAmr`@(qh6^OvW=cyyPR^pzgsk*@Z(K^^RS)K z0z7lrB&BOzvsIBH&rZB^g|qRc(OO{oDsb+!`mw_j?TCTP&s7Z9#_s=V@4cd$Y{Gxh zAS!|d6#)SOl}`~7klsNBL8XaEZwgXF54{VbASI&Gn}YN%HMAgILhmgJ5FijrXekhq z?DzYxeaM@EW!_}wnP;Bzdww&M_$~DaW^w*zUc$BY>k-WDO^eh+q_oxX zj}79msuV(PtlQ$$Zhk3W%fw9!zclz<%Q(Olng$E8zv;QOWeZ?xn)cA8ZM<8A4v+j4NaA>N^!ynVKR({% zGh_t~5nQK|rthu#G;!50Tjdq(NAtJU^>12B+bGuRRj##V8HA4qVPrYZM8zQU(|>|y zVPz9UUe#?&4vh)pqrs1-mIm}AT~FGb=R+(A9f)mo=$oGeZ5b$3gB(^JoTUoq5?~6r z=pib5g=GLJBLn%I-b|iB&y0WA!XT&wTYmK%ukoZ4z*7-gD0!zwFS~jnX@9-$aB)FV zYY>{2l2{}V6Nf|hD&#)^?vw{v*XKs0qLp~%Jf}9h3MGD?re8H4);4<(aWFJ&uiO8+ssUPx?+Ja-r5uIjyzZP|w6 z1XD*bP-z$awDbH7x)q|-SpJhKV+8n@^l?>@KnDQa&+;pa5A&r-6wHqP<>+QRKQi&C z)xfh_S`yVniA`?|O@J@E@B;4_i2u~USw{ZyyH<5=t@h#C z!m4nnEk=6EVQ3aJ-W${q`}-@0%E$B$xc@9vRRo8aGJC#yp8HNh|5@)i4vv3ta6%*e zWPxdm-zsn#+{IpE*ia5PhV_>qnUv+gS7!N@6a*Voy7#))D{*OceR^4{V-63bB=U?R ztOU~R1VB_bvtO?*UcbYNS`ia57VFYR%`hFNgt_lOsUZw@&SES6EvO-j##EOi?;eNu z-hU=O?>XMWA;1l@o!>O)jk8m+yk`49p;F;4SL*_rWcXEsP!8d_Q$Jv*O+tDMD@(`Z zeF!5yLEG7#C|Ds1XMVyr3KtBuZx#Dsa9P&^a{dJW1s!p&og46i8Tf$sA=~lZ*#*x| zGwBlUq(?<(zHwA-1UYK*i99f%2#LtON+maQCi`oN5!zj~&Q0Cs7m*l`vf#uxbsl3E z1dRAKba=sM;4fHnIc#CdGcKgjZ$w;^D~;mx&x6)8rdq1z!XA@3M#}bv3IO!oryls&raq z3nFT6YU5q;=tgA-j#*67slwVl51YK8^fV8_5LsQB%#8_~z>v>gBeu5};2D~(Dka!td<`)mn~ly<*z&T6qTE*~)(nK;-P ze`5VQzP)6~bhuSiD+3-a8jAY`Wbd-a5!VULQv*+Nl>E(aZZ}^um5JVFS;9TZ)v@w6 z*rz2>QBUvy5sB(ZE0)dAYq_TsS-DO2%-t)?wZeA<9i%u0ydn>uAtZvIlFa>!00 z#bw5?i!%{BXZQqbFXA#)mLZ19XHfs-0dQ`3TPn-vcLeh0UM`OGoG%<)rek;m;h+N>U-&F`&{Y^*Jsr-V0|*L#@zq zjhP7}fKe2C7rK9C!Gd$E*gfAYu6!Ocqj$Q-3?|*V#$Lf6>ytoPUnE>}6Q9>=p;g;jCMb_WJ*NI)wJCRc{3{V6G6&uXX4mq)KT;G7 zF6?c^LUQI03T-M^B@l(=TXy zi9tJn_x07(pL030#i7bisOSk{d{WoWh7mY`XH>jTLfyW$@SzzhoDSZTaS@+^fm( zqp{wrrlQ$Jd!c^we5|e|&s9B^&Pp<|W7IYm zTRLs_lcY*tKf`}<^3=$`^(4eoDO}~Z23&7l+6U)8`lg=sZ}`d9c-wnTi0rF$F8v=y z*vlfp27h&q9fXsE`I=0eKA7g+pDnUXlL?J+4$H{fE!CfQhc_)itp~Y-m){ppHJgv~ zAz6^ltp&f&AuXgu!#JC_nrUIKL4>c7o|DQ zVnYP#9#?~gq#(*u)31$v54K&6@hUS_*9DCOb4Q9L0D)6qthA;O8Az`lrLVHd zXnd&HvOdUrxgjgQZpO%8uCx~ zxjnTb&P-Ix{Lst~Av6!qrYkdTPvhP9m!8MNtsJ(kZZZoqsJU~U1rF|S?FrF5NuBPw zw-GBNV5yKalcPd?(+N(CQNd%*zMkJ)RXnLF`Yi-HLNK}y0GV8D+oc~U1Uq+FkM!j{ z2)6NYNJzbrh}0yqARnAbv&8BRUf*a^2_fHP?cgEu5+M`u-$j-Pk{BOC=+KCxcPB&* z)m+H9``*A|yOozh9n#4&sC1uk%6B4sbIuMScCa@GVm^}2O?@h|hQ7#9wvTr2_@OU+ zX2UUzw5B3w=2PM1HTlE&v@kU?HU3G1^BX@tm8I45b1k>0-L3{&0Wch~7(5x~{7#HC zif$z7P4uv(Ujk+}`UW_R@HPxQu1i6~1IP8A01TdV>QE$U^>yHnoS^jydHz;Fca6}} z+KO8`{D~ow(a|V@B*oy(q*dba@wSQ?PYy(2kgo1*$6cofP7slXM6@&tXWGCtUhT84p`l zi=iG*)U(Ny(h8loukAz!T`%WavP?2OvAcu&`h(|J_S7L*`nc5ANcI*~j|U5N+DV;+ zyevE)HJN96YWGMhWqT|M92$Ht+5s0*KAgwF?tE)LNRf1e&rRHN$uM8H$?p~lr2a-` zI>mZUY6Q`7MiqCNMzXJB(<3@;+=Yra{hXOTbwqRpGDl5o7A6pGmYObbaNZ~!g_%wJ z40>!F=l;3v+V?9XEDM~MW6BAotXHvyI%#bjEBHoif_64Q!ACgh((-arloRgZ57iAR z9QGm!Xae8dqy;u3?VhiKuLxhWu((|wtv0rgV-jIT;(Q9sFhg>AmPlH*@jawIgBn7uV3h58KYsOo0TL1hX z{&cB+*}jd;&a!th`Q1^WmQ(gRbB_f4-MX?^8G4Xh`D41i)=Zz@H7LVS>B{A>-KiIp z*|9nm5yB_vAYtPmvujWjTl>{|{!}U3C%#Ij^5CDgk40dp*%m}0T1CO{GxUDJzU}gu z-Fyq(vGW>o&^3rHmc_7Pt{a-79-odI^Ii_|q57&?z0OOwO0U{n7qWg?g3zGLFMcRD)v)18dKORIGi|M<85*wW{!h5*W^#6Tltv+H=MdY{>UsUN7tO{ zTr0vYZv2L}G+(L&0tcECIxuGqgEmvOUneIv#b!MLj=eOqQwyZUp0%K!-J{?8+b2{|%0KYVoSMaQ2=i*$^^ z4B*zeobCfb7@WOY9-_pFzA;wUmhtn6hg5&D?hS5Uqf*KEeqSN2gnPXMnoqrh*RjCH zFGOftZ9j)D_bT%8A-B_OYXa;(c=WDV`cRPn{>ojR9Q8ZrSdO@!B<$?`__}?+4Z9YN_2D_uf2T+Ccu^cB<@@UFi!!fR>JK z$tj{5qLB>pJI6*j3-Q`-pS^t~U=vwl#wTxttO(>4ZWNkWFL<1PZcsmc-y3#=>X>iXNNZJYaFVSMQya5Sl|%cqI$Hm^3=D2zsB22Z%X}mU5I-)hxs|T z8x1d1{r0|Bqe9dLlENq_ilO5_wiDQ&5z?I+l;U$Y;gbzU20jW~1Vv~4G>)8&vrl{V zbNbz^8VaV(dsE!FPwp-cCbh9G^#P=DPldDWyWZL*m_NI?5{-NXvlYV8Q_0p3PgK?L zc~)V(y(}=?n&<8cS7qdM?hBFYM=LE(Q*~vYpf-=A^iOD8tSI@=rs9sQ}AyDR!Sz9an_w-$j?_hFMQ0X%uh0$B1%UXBx{b&Up}E>-mwKnLF*%2pS7 z0D$UW9kv0=rA@sWRjfui6Ze@nSr1UimU*?0cQh;6ozwG16_Nf@rx*PfG)2Y!QS@IA z3qy5a_%meck&IPED;mAA&V7c)6(kdZGTetBB%L~#EfcW2Yany+&gpc!s+GS60!>Xq zqkS-qTLx-nPtr6reJomm%~w?azua`IKv!>rpY3Id`bnCve@)tMQsQ>dy|Mu>!2oC7 z^*}*JnSXNKc{HVfDxF@6{~6k!{^Y?xRerVG>C*fCuA{#aRU)#^hw!_8$$e8|1m?bF zeA$RvmvAQD1FUWa&(Wwd0FScqWNpnM<(J5HFfHWuj%n2$`kxFg#(!Ubd$BiW0`pt@eoTR~#qe?YDg5 z<-d`EeWap=Max!* zjNa3L&41pmQ37r;eYKPRqmidb?XX_L!|o)LI+?wWqJBd z_ug!Ld<>9{{VJfw>l;~in@Gj&iKAGR7nRtujEf?11|wrnKC2*`1A5~R6E)&L;`~Q9 zEPN`QnUc*qIS8kw3hv;z%E#EK6$)n$%}OVJjF}hMh3dv|V}$E5yPoLp7&45T?w<6_ zvDP%7JH2>B$Ml#q67&OYyE;VW8>=(7F5qyQEmHfaqL%)2B%)qxx*}l281LlctS_f0 zW*+0qq7<~}rK_qYn`U;|EU|uMN5i#sTRya3OYV?sia+U=&^>TnV`!W62WB|P!{M6m zh8uEC+4dB@(aK#W*q3ky%S{6L%tjFIvuXjhd?x{g*<&zqX!E4SnuH|KmFTYHA z@G!&(YHUq9n8_*@`wXTzsvDON|2`wmYfzG6$Q6I-!Jx!F?FRdAoKbIiJCE}W0ldC@ z`zq}aVmRfov~SpKWsI#`Hv2JcMVM=fdC3*eak}KZb^t)3dpYQX;Q~FHzed2hBkh&# zqb$uE-cIrci26~Oe|=`>Fn?S)6@L$Tk>z3QXGmCfIrE)HrtVxLFwBSJUf-=KTiC9~)1BtFrbibfntm$x5-XR(Q-F?Kv zZe(QoobXck-ga<9&I^G6uJB1A>(14uhKw!J+`z{xB%64qv6HyI&m7AQ6Vrx=K{w)0 zvEFccs!TB}yQ%7X@!wBDd`Er`G&FajUom=_Y@G*B9%eB4EL>9di+(QFCww~*X!GTV zCHe(ZTve_c5>GVvd#{qQO5w@(OV{1*P(M;0DgfWKpK(l0zHohG6K2z$??>5q_kEhd zghkP>Mz^!a{5fHC&^oJ9mx=G{=g z9`ME_PBi-f&IpK3F`C`v?evb3f_J75x6CNZix*V9!si68@Ndhq74rlP(-w|a9`iN2 z$t>a_2-Kc+RruL=r3=^H@*{iAV(@eGdrjUx>!7V*DRPOWVq<3o@0?RzAvA4r+O(xD zd+Z!AN^_1HlgIDV(yzWI=pB-I<;GY(Ybi_=xtApHhYJu0Mt-Xima4y}EBMjwbq=~F zCq0HWO=hvvz093}wB@xvqB@?SXHt5UGgW@%6^nB@LctNN74nkT_#;wnv?9^ z>T#mV+YmU1gJ9}5?;3|Xy)5#tdJ0@;1cirpKj4T>+t7QQJD&XFhRxGEMl*F|k(Fkn z9EA0(qJz2_WN1f2xAOIHo>*(Ra~mw6{U?b3G~&Od z@t=+O&shHFHU4v-|Ahqq#YX=HiT_2*|5v9CCuri1(zBf!rCstkWWB9yyk6J3gELw0 zsNVBo!ux*vpBIv%;)TAJoT#OhKPnfV)oFipKjX{Aq&v5MW}e~r+W+K=N5|WC^YBWO zy*t)lS)V80*{r&=`P&C<-_(%pH?i-yqBiqYgGf1gt@F?Dp*KD7g;U$XAtflx@Jc%f z^!h1~mAzzVxBz-&cpAvU{(JbJK>kyP{}#f3mf=6E`2Y0?`K6VW?nO`ltxHI)5HYX6 zKoAFj(JSMQb!O#1RRF|O?o}DXS=v-OU?lpU&(C%+bjAEV0!=m9=@1<$q#C| z5)u+p?K)pS(;DRG?d#jKKALCS6@5i5!~_KRIOd1$@e z`s|gvhX`BwFGT^}Q48@0wd)U^PHp&}Nd^wVq?!lsf6IyMLeSP;V6UgJoP=;I6MgbrLe`Q6#oj7y%R%y4Ey&jV$Z>JdaY>h)N zlPdX7s#1VgnN_Poy&KZ3phNzS%IbFmn~o36cmIIe8MMRYaoaQ10&cL?Wby)5g;P(J z>K!x3rl(Z>z>l1TKFadn|0`%aQ}xz!-nF4SS;Tx9Y)vssW5G@z_y&Bv0eY0d{7|!Q zVPk0?P4hkZn{)Eq6qBK=a+adGW zb_@2W9j?32)e0F^Sir<0Ah$EolAg=zS1y3Aol4CcTN}*4@Sw>WCzIAx!!ncV+%7zq zL*|vRlisi!{IuOqw&dL<3NrM~X@|o#(#oM+ie{NLye%02>-o1b=Ch#O(chl;HPaSG zZ%yyfkZ7u<>DU)V#mo@m?B48fs0@mNBJo{@Gp?#)1+)Ec)Aq&a5^bbbe3FnCiWY(o zvJM7LjE9cvsUrWme)D$QVZKFLj~yS3#)-H!8G zwR|oo1#$Di;?z9V<2>@ZrYg5>Z-R(<-YQ=QoKAuBvnn5c5$<7l)P4G)W)wCjtgQ=g z+_s{eqV(Lz%Y^V==!)t(;EA32bF^~GPzfk&$cH{DCK1vWv3ZoxUvHW zjt@W72BEmUjuj^O>xBoDI9NLW?2?DzK_NQ$+Qm)Cc8LJgpa z^LeY>HI<=+($%iUii(QgWw)o9t-b!8SX z$4WPdzUEH5OFOQlH?>^GO5L2st*yvlWNisA`>KYd|5(%ZQ%FxevQ0?cVxiUAsXDj9 zxp^-#zd85kWz|J)wcFO-(-oHH_3{YvU}@{>FA}b_Qe|Z?!)ti)U|1F2vRd!4)Zyi{ zY5{3+9L-IYbkK#B{XTcr`P-iS1pmWpfS4?L@afXves!5bctC_%8bx zCy`JY*4l;dOB5h=hd+sSA3nlD#YsF zJ92)X`b5UOn7cBNo~IVem&bEx-Y5UA^D*1LRX3UbBpkT>sUgX7mLD#y|{+4%wS_nl=;2`!#>|E&njH-Mz3O{!);$0m%|m2wvGyaQP4{pzyQ*ReZSBkS}! zD1TT(UrsT==~O)Q?>9mIWb9ecjV$eOu2-AWmCy|LHu-<8qu0}VA%lW07&beoeS2Sf zbwOeKlj_OaSv5I5GoA+xdWh#wC|yk#mi|zV?d8Jg6toyg+6Omrb)Nrt1^^&`HGldy-^FXlI>SNl&T z^xP129g&Q3dd^_?V$6bW__S~5McMCugCAeDeIw=ZQ}5Xirc3|oeH;R$c&{B-`;*i{ z`P9!=2yHnfu?&tYX!mzG%THNOSV-p$bA&+Nkez2Lv8v^{9pNs0Bae>UKlEr7tmeZ7$( zyg`&<;7dRAzdE%fQQb-<&f8*o;y;C$XD141_7oRpb5C1`g;;p}IrE874GPcG%S*za z>Ac)u2Z!zWjpjbJV_9&KVV$>KUGW2)wK!mrp*O^s23}-vaWK@y~8hKZcNaX13Y(N)u`^_q(kxpaEZD^2P8;0L(YD(Broo{Pv zo2hkzxXjl}f4s=U@$Ih8XJD37a*&SzMT{5B36{`+^6?60dB1{PY+o9gj`R10NE*30 zKXnjT{$9*09-uAIWc9YJjtsM3*njD65p1K`LYe5KAHxd8Y$!WMaa(R((L2U)%TjjF z1Eg}bou;tLUd7IJ$(B8w>_;_i5PZZVhxJ^&l{ZrelzTRhIpCq@@IqFO^O1( zMD+*gkvM(i70HB+dpU~N_V+j*;A6$mQ*3Y_PvhYA1>@m3Ugh#e>Yjbs{KRLv_hVrV zR`;&TukG`sTASJPgL3xo@{~SZq7GC(0%WneA}dhc+$?NAoE_4B=naIu;z0a)OR+67 z(O?=O23ImGUuzo~ylz=-W2bbo+v&L!b%0s9AFH^vd$g*q7=fJ=DGjE>u%QEVLww`vVE3|iEW$m4sBef-8tASqvvs1_OuWj0J)~S6)0@kU6CE_gi#31C+i5y)-M;B2QGhw@!CZwIj5dlTV!5*p`ERCXGoc} zaJ7YT_0VhawM3){MuM(=RCnU2CqHi;ly7&AYyKz^A#_$ZV?JjXN~B)Q{!q`~Ks_SX z)`eKhd%E)L;Wjp6l!JUzialt`z^&bF=$2t3rl6%VGOK+}?BaQj2hk$tGQEbzmUZ}) zPfE#vV2itUv;0t8fU7WJMxU7JeuV7L)6&*3SkKi%zv&9(s@%c#IfTwxm0rd$j=?_u zrO_6tGjhMJ7DhjZHC4*)gq3jdH#SO!Zk|-g*}u+fFX{?mnx}qH^_c!`teI4OoL;`Z<@nu}tFgsa&pqsoJDRK7$G9s&S-$|)X?T&T_@DsD zQk;rdBRT~cJ^u}1`hz-{1-~<|w4dX>(eST}EzAzQpY6XKV^Zhr!~7?+sa`NeEBS%Y z_;9dd*qhT>iKxuJ3bVQrB_qXJNm_Q$&XGT^_|6`neMvtC+7Xl+*Zt&OLr(StUzDx6 z@`W6Z0tV3b24q0o?$pVQZLAHl$!FD5@;-mC$6NU}PV0rMLBzwZSg|&fol50^LCW7% zeqp1s=%=w9y+A0J*U(US!x)9${EHdH9uN7oN$LVjz7W-h6VufLK56H7hlg7+BIZ_c zK%|gl$2#BO4!xt5+>^jNZ@V>9y_&jTZCoBG`Z{Jni7kIksJRLe@k(z@U(V?3&+6ToIc4VO)) z?izD5yONN#y{zOX9xqQS)D!=Zfq=3L$R}Fw*h`K{%t&NQx}XUa!deq{!J=lh_X@Pr zUg;h>_dRYM0ru-`+R%E(Ot!u$V+mzIe%DCCMR0{6dI$ z`e?Ji=SLiF|2kLQcp<-af^eifR6sRsEzRNkFc3NvcLnIako0bDQb34zqnL5$#ab={ zj@RMHOeN(6)dF=IFG!AYQ+#5rQ-K|{KBp`9c1T#%yss}uH7t~QK2d;TtJ*0YCg1mC z@VSQyeK12dX~UiG0I>BoD}DN_FuQ2%@Pp~=4v$zZBD1s}@C9vE%Wam`Sa~94UKVoJ z*V}B?N7oE*M9Y7>WFhgzU;;XXPbfu=a$z*vP9_aAGCVgs+OE&Cd;X2ds;1=|DK-CO zS60@)TZEV}`o!nzxCvS)^zws^HD%k`Sa%ZC_l%G7nZDcnDo zE2F-CSq~}p7sZuI-CGWoV{Bwr$yOR%}`PRib+8r*cm@5}_ z+KRGi7m>aRhFtXEGdKU}8L9%MBk`erK+=#GOb4I{Q$ETcCjL0#ipFI_j6|nwn2~&b zXt|T;$GvtrH+~FiQo!?MuQ#Qtl`xglRWq!@1K;C;SG!AOKUNAkj=MT=r1e-a{6J-@ zBBbIZEeA}$5Z<)g_bU;3(j} zdIyCn7HIv>a5d-`E8QX=*wQq>3vKsnSob1_800o42K1A!ZH>b&XtpqTBPF?FiXgo53C<3y2XgOb>tGn!hPH3uvaI z`MW-M)a>VqA&r6bnJaWc`rGQ#hB|bN8{?+k!E$4?n@}Y3I4xw=LO^ zryGdwvq@|dH0e?**uoEwGPvCk(tKeeNjN8dvedX&5hdQBZeB5*1w`CO(XI29+jDi2 zfFTNQzZ!9Zk6{BW`Pl%pfW`$h>FC0iY_p*W%3Zhi0JhSEA%fqDrT~bbv1!DYVK8n& zsPed`-};o78PbKXO?E<}>VWf0lCW{I^~3#?_!IfHf0V*1BK1s8pnSrM@5|-~rkpC@q7^VYrAs&c#7Qqx zvN;UaI}j6}s`69dqx_u+HFaRvXkGYzzp#}Le8HkH-Mts9Fq^5dR_|nKiL}FI@Vjyq z%C8PS-|0^h?tksGIhFE43Yg~@ij6ED@M@LXrc7eeee|LERqC4VrESnqhR= z$WiBcu`=lPe8V=WZmCnVYak7SNOrEg3zaXdlusLE!(K`W&O9+)8&>8Qre`xKxtRFD zW_l9a7MVN_xo5M?qXW9gc>{%I z-tkL#t2KEfZ9*EkNBtCtDXuFgkE(@K7dD95Ydd#QhH!DhSl^yTwTBE$^z&MYf=SBz zeFAoVkrtI1?!ykh)}#nnReE=5!=Oh70LGZ2GthwLYT)(1ZLI4hxl-?ruC{*Eiy~BV z6~Is=4~zEO7$vCSG$)p5$H=IJwn6lTwr=3adu;ulYY;@%y|cZJDur>AH01~=x`EOK zo)2^W)+_zC<3sAhrPSYBxAYbe&vz$^$NOvf-u(D$d)v#Z%G**{#uc1Y2c(cZMgfU& zQKiSr3#M6~IG(u4D@d5DndZsvpEi?SZ^@xd)Rke^m_}lmM%oCUt~_I!aZ-|5OsKnz?cr z^|rJEZg4FI*jNQ^Xojwcue!0p_>KuHm#%Tu!Kh{*oxts;+(#rO8UWo@X0FT1?J|MI zHu~(iA_>;gJ2PJT@e95ph0{mqWK~dPRwmobM!f$U)0(ZmD#!@WYo7YLWw0NqM;5;x zgp7T;^6FFO#g$~+kVw>Jusg)J|4?J0p@oZ8dHw+aU}d*{g2Yx|ATK0r_r?Yy3~>oO z=xBuAP8`&Fj5nnUoL_FiB?lOz|+}UUr-yp>H<}*=>c!bRnPT?JbJ2b9w zIBpZ*u3R~oUZ|M+I5zvwQEPz2d^=muJ|2S2ezh#_m)O^iP=RfA26eY-N{ z5fFA15^(kHN5Z(C7<4eB;XAM7zQdlGgqLJG#2vGMybZ17Z49tDLTI3@MOFW9xYKMF zzy5811HzTUoL8syBb&Dbnq*NHtvn$Y({9vo4~MeT32g z!`cNI*Q%3~f8l8WVSWdD=P9b(cX^;S0=Sat!no{xMsY?Z=qE8xTYM0v&L@KhU_3sV@yh1OCuV%;cK?MY zA9Dbe@IjxE^a_E5D(8&aZ-Hx0w;adxj0;Nj4_ykFUDh-rB_X(nGiFVF{rhgt)|b-#A!y8YP_D(;5!q`i zo?8DnwiTh0jT(vL^sDdR-j{C-z09Nrf`k(Tk!n<#U=)5S5Ufh)f}2h7ea4QXF6M;@ zt;hyO)f+1eo!t2sjJW?co5H5Za7pfZfKNR#s6idUHr<3;)Uv3l^Rr%L5Yq`j2mDF%%jj4SkZaM9E8bH;&}cFi8VUj%&;e#MGynwn-AQ`>8lA5@m& z?DjvBg9K)6=0ValL|Oj|Z?>ZDq%+KUnav}Q)?(ck(`PRXeKIC>%kJ#N+kwsPRDlcL zYYw7&-6@TieB~p3;3p-gA6`f#O3CR}Whe*f&IT;U>n1Z?ikd<>Iae@*;$c~PC`koY z=MBb|Nt06yYX8u!#qZj z|2{93OAR}q*N(%g(HwL}S}ApUAB)K0_owur=(}V-G$tq*ir-Ui>m`x-=+BgBbSA$a Xa1YkUs;0m`2+;GVy6P2A-bDN_`i;Bw literal 0 HcmV?d00001 From 5a4243aebcc0229fb43d5c4da2f6508e2fc41d71 Mon Sep 17 00:00:00 2001 From: Thomas CHAZOT Date: Mon, 10 Apr 2023 00:01:40 +0200 Subject: [PATCH 09/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/ListScreenSM.png | Bin 0 -> 133080 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/ListScreenSM.png diff --git a/documentation/ListScreenSM.png b/documentation/ListScreenSM.png new file mode 100644 index 0000000000000000000000000000000000000000..e87fa92df0c714af341596498fef2d1ccaae74e9 GIT binary patch literal 133080 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�&jj6@#;}uzCq{Wvu-4 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�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 Date: Mon, 10 Apr 2023 00:01:49 +0200 Subject: [PATCH 10/11] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers?= =?UTF-8?q?=20'documentation'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/HomeScreenSM.png | Bin 0 -> 113453 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 documentation/HomeScreenSM.png diff --git a/documentation/HomeScreenSM.png b/documentation/HomeScreenSM.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc07be65821d2ed7c6e959de54015c3a05932f8 GIT binary patch literal 113453 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 z�y^IE7vmp5%c}054r*dyTYkq8K&oshQy~A|{uY{fl(!OI6S@dO-F;_C!6mKGzY? zv|M*~yd~q@y)w@Ske)mJ`p7quJqkTCBMLp-`pE=3zW3AA-hZc9Q~4)`vwUxY9_|U) z0vTUf$fcual0+5HF*~B4T#i^dlJu{7u&U2svO?;;z}k~~N2$?ER@@fFY$COOvlp)! z_FL|k$)Nb+i0peku(DHSzMegNs?>?sy8EKXrlt8?s-&XN-2GN8`@CpV`6yVIEy(LC?pv(L;^ZrWnW~Y1qz*Jh4`da<<2qpg=|Hpamhs~P<=U5|iCN@3Cf+rLY z`&f#Ne@o5psXce$*6o}+J8r_Wn0}NATLzi*VudjD^ z`}n3I1+;gUP(7|aE~x2wJc+emI4Q|ahZc3Mb<;14*mn-pFlwE;xgeg%9VU`7HDz^* z0BOIS01fc4CEpf$F}feq7@+pA`mQ6C7p*C|Z(R(=jixsY7lYYelVOBFA2TZzv}nwa zGJUkL(<%gBykiL~6HH)#h0}PK9Dxai@T?Yv!lFk+T~muYCrQ*d^;-v`2^*dIJnIaD z_%>ejrV*3~&}%JRtejiy;~q8)ff;0?l$fIo#y9cIhyLCg427|>*{eD!X2aB;JhV&H zH6B~W3g3n?O$$b4*b5#r2I3)~;w?*FNxpf$4pK&4KC6{r{>JU}b;?0!H zh~|n8*lXzJy$nH#12Myw^rqdU9j~&_xB|~6oJR%vR4jt1(ooS(mFKya2;`D#F6o|I z&<+_nGC!<_uk7XErVehLca$Sn(X>1RG0F|f`pnx&yhJ^>Oyo3$R~q_NSGSA#4 zK4kB+b9k`8@N6G2=FMNH;Wv(TC+L+#Y9n!3hR-wXd|r=fw)<={g&ORLI6l?z>N#-s zoSypgnG8n{=VjLrRyXnc@E%D9Oq@?R{IE!^NF=$t$XX-*d1(!g_B7W0|}6&nL?pIzALACdvEegz=FJsI-|Cn!x|s&x|!>wrm8C!znqaj$XxSE zuhK*axZmi=#*j|MH#Xl$^J8d}EFK3cQxbzK2r{kfF!JXYNw6pry8sCr2~$sJ>%LbG zk2u|;YP}-#MFYkDLjN7^nHYP6V==>a=?tAPsu+OdgCLKL{(?ZUV?u5kDg-3IZi*H9cz~px?Fw zftFYSlhA3cq9LlGA+Ji4VnIp`$tGwM$|q4rCc7zfj|^bxBkDpjc?a@XU+mQ-Wmae` zr*3Txj%N}_p&6*qfiSS)G(=T8LT1UX{kJFP13Bib+ImK_t__&St|B0r)dQseryM2B zr-RHt7Io%s9b4RXs=K)FNRfw?8v4OfH?W1nY?L5b2w>xAXfHm#!_@1n>|>%RF{_mW zXB+n;hssL$n9Hhlc#IpqkKKM+X!`D5D9ItsIn8{lxO|gvTt(W4ufZ~JGlj62nzuS$ z;tO}ltob(07=G!L!ao&>27(HpbNCV-4@P%el^2boD7NMetctIBBTWi%2Be6f?Lggq z>$!}7=F{Nvw0Ntfom;<-SXKjCGFL*!Q6^&gLDUKZ0|23+L#ydMrA_-kaXVrxQ}~{M zl0c6PK(x!r)QU47hvbkJdgd6Br@F-wgv?dHXU22Gvk5kQGl!G zF|dE#>6aGd_bA05*0WaEH2xrJF1Ac^Lji>wUM8QeZZcS~CV`E0&snD+q9aAomNnnD zK9dfjwSuKVk2!{1H+%X^ET+C7lYL^Z!T6+|tEB5q;=Inks>z>oxlToEz0tI2aI@I6 zToWpudw_wd5QY_PBB%hgWhNlrB=Jog`~;BrjB9=k#2z>yJeQ|rkkveur_CjY=Hcip z)2J+~O&|ebv4c`Cp1Xv-ZB$Ujf9zZA3&JxXKU(M}5gw8)u^1J=B{$V#BTKDLzNBj_ z_v!qVkWn``JXKv!sN-cxF-`|s#sMIyq?9nXzo#sagi7daajEIb5UJXPCfk<$PE%5! zJ87v^B{cprCG(TkP)sQ)<@Vc07_B7Yz!r_oio~H!bFfWlMe{X(N@mH}L8q!H!()?% zh~&g~bsjcrn1CDgDk__!ZuJ4*;sq?PuqX0;aUC>>UmH<^9Gw1IXO{9rm)e2F(5rM> zb2wUK|9-lp0nxv81g)D4@w;27#SB&?B?B;xxETM!^yG7kXb zUoRp-phFzMR@TX$x0jJNy=5-7xL`u2R?Xdh$8NWY>CTlJu>5UY=)_vzHx`fY>@6q= zYR#nqM8$Qh(GJswXdE_C46+xe2pA1RX+-s`F-nDtLlabf{rW(Z= z0#x1x4PgSv^s2eX=GrVFlH!{9SiUadfOhT2Gf0oQ1o;mi%kr~V(gc@8z$C4R zU|MyU(#UJ#d+7Ni$_C;P0emY~^(QqNsjD*JT9#g{%)omGh8WgKTsLJ_`8bSX&TH6e zezR=c$9>@dHE{!i?qldB;}#yNax_j)PxZ*wbgQ{;?pX*}ar~(gKQ#|)f6PR_Fzot@ z8suvF@52>oyRJtI(o^Bx_K~HVSdxt@_RXfryQD}PU6Y2&oFG>#8c+lUAcvfsU7Nh3 z(Z?oiRjuLU2mx{kQ?wRhFgF2eY2Ubx2I}tiVMLPy<}mq*YL=!pOyYSr$7ckJe%m&U z^=ScGX+KAIs0SHX{`=Cf_EhKVAvInN#c`EWc#?X%{8>jzb(jo2dAO#2hq%jvP`l>W^rLAU66yu6b#`anN-I7ikAt>x-|%cOXzJqn!6&O}D(t zVRwqnIb=bp7HCj#ii!6zh zc6&U6@6EmGj2kqPH~N`aQj2OWg^ZIw4W3PU8)n87-1uU%WDIDra2t%aQH5W)X!8gf zRLHfsHS7fnD}w5E05K4k{q!c8szz$-@3Wi|F+$?s+(tzUDhNbXa3O8dOg9)VH6&># z2OdhPBeh{oQ;&;NS#(9`D<>m2^UYZj3v5}5M>RU}e=60?FfXVHm`-Kl4-P!lVi`A$ zxn~P^POtcO^Gwz;y+YC_QHl$Lrx286|4*Pn;tExAZZ#Xvhk+C#wje25&e+9`;HM}_ zwMtftjK{x7r4FApFwVxG7^(2f!%Qf(s-;mjB#qt(fWpW~m!I`_caBj5d+Ho zBXQVWXJZzHj}Qs(U+WoylGgw229y7WpR}%;DQ=W2EHqIpe9qle*Az%VtkXO_mB!#r zte~JD4FiJZe$;qy9x)cfoo=_y=?QI^VQoD1q9IBCB@l5rcAoj7$>A`eH+E@&hZ0U# z2P@!sDQPiQNmiQEe<|#&oj{`HIq63kJtaU z7d^(4n=-_M_v!7`t!&76P4~^ONDcSK)ZG=5qT4rypjb@6YXcnwEJJtsTPCM`H+rt3}SyYIdouw zu@XX1{Jw|{oAGdpK6O2tMIflLX~x(Dfqb9*ORRQHrw>P2oc#BL4&0;IZR0`n$-{ur zt$8A?^wx{oo0>rM1Wv#b;~?wkn7LMAk8o%4)~Qdkm8>~NR-L*}T$PAi16 z#T-#8?B)9E)^|=-C98XA;TLHR5cCD+;en^i$@|zE%Q{X^2$*axURDZ8b)i46zH*SkZXc`-26xRaC{#2 zO1be@1Mkif;v07Lf8s8%2dau}?XDN}KW5%#A&E>$98fsxKqpiImYpas+=Ri)U0UW= zfzQWYYiSI3JFdrVZougvitGPwVMmc=r%{S%oEwS!ml*sP`w3co+z8S$7nj5A5Xulm~5_QVFu)RBB1w zp{7Uralh-NCb&g44I3)su7!g(qR-GU>bn7t>}K!fcX(V8c+SgO4aMZw%JYu8es+Fc z>4(|fMxZkwrvA2IW`pR4MLWJISeg5L(?2#=XdZmALg>Rq5yIX0asp-lYfy9M__Oe4_Z@UjT zcdKYNuR+8CKyp^Q7Ed?bDWXSeI5uiJ1r*<^Goq9<_xdU@MmNffR<-9%w&&`rlJs*>jaxJfWW^UbQ} zn?ydF-w0jZ@{lFSwM+c{4n8;tv|3jwbLZ**nsWrVvvve1{U#3-VK<&-|rf zN8!wErw%{?Y5BW$(mvGw)ac3S>rqe8Q}pmh&A5G|jxADSUO>>*;z{IWPvwiQFatqB zfWMyli}#)n+8dKheYkv#%Vf@SRCu?FgFSegrV0D{BVF6AER}J;NA)_AlWtV}j{iaG znW#mKT#M8=eDmB{YqnuLVeh^9@zT@q+?&CHQ3<@|MZnD8mnGT3L(X{zYb-m`ZcFsr z*`dE_z-HdY#v(1K4uvNF+bmgm$_kA^|8GE}l8%XA#UflkfqD#MS#n$WW%^X3@~*z? zW(1G~EjC8|w|`q!!j)vxwDu|;7$RcK!i2sTC9D5p`xz*9*B2fd9rwD35{k{MEu{kR z`B*EPFJ7zLeNB8j|Fn@t&f<};tQZhba%LU`|8h)^)l>~#W~upb9xrIs8*G0YR8*U3 z9W+iTwyJF#zbU=FQjo2o{6mgsumD(U+Se<5qR&9Y*>m?@w6m`ejC;Vi5Uxd!EKl~fL6)@ks?^dD~EgWdvQ z2wor1V?vZ|{IqW$%ds}w{Cnvzzemk{8%N042G(yLK>z3?V}0b|agY?U6;b>o_a^Zz z8>NKGB{vJ8fGR9TuS(_ejk$`$_(_028e&{6CdMMB-WnH=kZ1eq?UwE|+}H)w&DRRp zFj^2EFgxW!?4ABr(J0H^-w-R8+-;@u>K zc#zd-RU>mv2!B&j=hkpOJ=A{)+Z)G0qlpILwI0Kht}AjZVBtg)S*ZHNG45&|$xWA@HDWfHQ z2Of_i1J11>2*i-%hQXex@y-}Xy=HI&y#k0hv+5>MK>*3^Oq=w)5%HchJXj`ZpSUwbPLanhmG zkfNFf;b+?*3=klnKS?-Tym)E*$XPo(^Mt&=z32c%kQx8YOkFTV8T`5hf|{tO{&x_1vLh3j;>-XI0}{ zIYMPIe`xG(6Y~+K9JSxl2(W_NK}pf)pxA$FZWb`P<_l5VdRCPYb(^XBsJogl>H1~3 zi972T(BppsaorN6`bufaGU?Rbq?5pBAV-j4s`r!I=68?0;EEUizm7I!0MmPzX=Jae z*8sAj_z5=&^);bp`(w04z%u23H+-tVN&7BpU08+1LjH{bMT?d=q`FSIU02zxFg-tv zQuwEDvQU%9C978or>I73+@upBAY4KDWG|d-l`(t)3$@j=^Fw45Upoj?aLK(zenwZJ34vtes127gu$hOnOwr>Da{$6CFu<&lVr5w4^5N( z3j4h5zo}oS2GEO2R^F-Gc?QQjWejc^E;WL1fIGjO;%M??vy4s~0xft=XEKI~*zg_i z5Mfev)9q@V#yn@SQ0*e!EDwVzgwowpITR*aAOVO z;`Ak6GWi+;E9o8@*kGA-?%Z`2F)bt(9NK=;{e~zsNvaY<9e(+?SO5mRG-v4bEqeWn ze~I1gx{r`NTD=kJ#w>dDLyF6b&6SXgBc|z-cbiF9Grqdlw^XUIyCw#-2qwN!0#NJ3 znz-$yX7T*ZudW-x5|=jlP4JX9q3dRq>0>DE$SDgs{-FDa=HxxTy3>_>IMXe9>kD8_ zOX;n3S0AG%U(J0z&UlJUc7Yq44swR)4HDqw@{>}nm@~5cjd0ZrugJ#3~ z#X1!<0R8tgTYyRFQ>~31c*35LwU<0@iN|ncLUF1g&?WehjjA+w64A#l+q-Q&{Mm1S zw~5G7BFrX(`LwgPO59+#AFnVuo&v^^$bQ7iH-jXldOJc@c|T=5C1_M=T%5w96;qie zg$p(uISD^`()ogc{XtaEu-0b6-X!3T)I!jjM5b2jdRBsT2+y_wt@Z7{+DsgspPZHR zuW{%dMd``*{M7XOX%q!n5@h_Fy0VpeLU~EoP~CU$$+5pK=w$t59;XtzI*5{_Ee2CVQ6d6f0AmYnN3v9w~s~I{;)RTd>(z z$*j6XA~>b`sCTdZXrM7X$$0HEZh!HRV$NW6ye6SCA^oG^WC&hMgPiv-3B};9@jFsn zHMHS+bqY{D5uh<>OzS>9+4;>R$k2Glx@w6VkFfjQcPo(XIpCFY9R5#1%X42D-UHx# zAb{)ufBpa<6$tdP0JsbS5i$Y0`u~?c7If01&_J!mnD2eN|;XU+kNjk@r zYvz!R^*=!EpK9sh_iYh(+vjzb9I>p|ml<1{TvT;o-`a~*KBvyBnUHIDBKyc=8OpNquZ(%Gy^67i=gpT2xmiQh<|IefX_Rx_~IhD>Z+BLJxa zka%m(v>?a#hjT2&`GzIGUp{4^v@e|{TwoL44My$vRio-dRu$Tb!&Tr@Emrb|>dgtO zV8t13n|)3M!QMTu?0yGwN@JbK#z;VLcGha-aKYM-{(4LGBv4FzWfE;o8ecTE;4P@GdDaN1+dMtRvwm1V^GBTPI=^ypJrCUX{p@?Kwb$NT0hQC6w-ca_VXf@+>}$Tk zM<9Ur6f|5m^%_+m(1T_^~S4nEI&6Dk&b0 zSl#nR-*_;9KX~NJ`C_VlS}-@zkLV&~YqwtVj@Wejf&4m$uL2;g zsdoMvCq(t0%!7YxHdGb<#jW{Kr>9Sy2=_4y>IO{c^DFWfF=gqqmLdnx{uYutL*0Tu ziyRo=!zFdm@qer3ZP*74jJ19He|#V^y>RX6I)%*oKIk8x>DZq`xHI$c9iFWVJ*w12 z3ON%|`l=Y~+bi7^4wE}EEHyD83QQ&l8#%o$!z4u`D<#O7J>)tAG=5g?G$89Vm;E-B z%q#Yu>^os5qQLbVyKfH|)SN*04V5k<|BO(bAOqMC#wu#;Wo&oz;b(PMxDLq22&7rD z^|39Pi=w{ND+;n-&VY!D^jNgIF6lRS!@dqb(1!!2kJer9X*-xZ@pK?oWnGR#jG#pKTr0b5Of;8^m|XI71corrC;%;NhGdc!?0`7@Ju7nE}}p6ba%p z)X8eu4ZyY#1~N@)DU@NL{Ss3aBn#y1(ZLZ*t=-CkQ+DG<-R>|u08 zn~mM57f3qQV{MjjqYafM=_GhG=gQK);g1G#@~O_P?~}cULi15}3jQXP(Gp`9bs&kP2Z z@m$Ob@@N2TPmP#`*9}HarXxzZIxA;q{4$6;%$kUIb^g%JU%E?qzscH$-)wBMC*nbo?sUPT48K#!qd ztF50u%0C7i>%v;A4?>vaC)e7Pb+=r~%bHikv*7i!x0r_PS_&r9@}=D3!oMztFW`~L z$;_pChm{XBIqfL5TPYh1>z(gmSARZXJATKzWLR=%>T=U?J}vsFU{un!}5%2^v9g) z6mEvm&aXVW-y8xV~=HSjct6e|YO4}cp&LU=Sh6rwAUe-&} zUkG%Ci&ye?jcIGj;57$JB6Q;p(?8ZUNP82c*BQLg>SOF@v?#|MX{$E?)GTIw%&_G4 zRcLdF2K?_CrF^6PL?MH*TO(M7b-#C-LUx;sy4pa*oc-{zrjEk#;z*CXLx|5jc!;JE z*NxCMouTwI#XcA_qJsR$c5V-s3OKv~3&_#{Cu3L~sj#l-q-t7+8C7Aar1G$B=Bad1 zY4?6wl34cpQm>4NF!-{}%(8*+2dLWd2Tv@l%JIxjbnd0JRX}34 z``Y}YQ%tSOsAuB}k1q5gcWPJkg7iSX_82T`>{j&Uxm=->rGUZ>=qV4h7DdxmA)Q=Xxc^5;V)T8a?%8LmZ&Xl~ zd~jM_SRm*@P2zX@S?Obdw~)%Cc1-y6J0V?Cc~yxbkJ zHy&|l{6)xToLiuTMf8T`$9xHlwDHm7n{B}To?q_=eEavzudG<`0>En-t~u{)TXEdP zQ?p}1Igf3j#tF*cC&rD1SS69xy_IPmRP%x3lPgN>$VI)v_-E&J1vr(^W>{i&J+iH( zcjQRU4Y~vl$%R%zOZ@*i#=Z{`RD!^cCVbOBFtUuTRaF}fgB{&F&-ml4c$E!to#Jg6 zRHc)=#`u}zje~<)7_4Lz+9PYAi0!vq@wzIjSd9OiGWGT+0_5`H>4w7tTg`VRKLu( zuA2sP|L*u#lU6t9OA_#I3BCqD5qgtKrsW~@a0U=qo# zrl#Y-E{Rvn2##|$7&k4}dz1VDQsi=`ifo@%@52h&3(@h!n*0XO1m9_)2m25yM1clM z(`qJ>GIc`sKMh{%H93LD!y2=M{6DJX!;KdgtjjK@k1iEfs)tb7(x8txVbJz;+T01J zg5R2cmnS0St(ID?(PbnVWw8d%*3R@`iZa0$&WDTf~@F)LGqrq zZq;;sAAqRk$Jwac<@IpB@0D z4sja_j!V8e0p8J6F#0P62l6%1vaXUoIxNgjsk+qqAS|pR?A$&SBPYSOQmJ-9ZZYP1j1314cq&H_uh4SO@nuhrwu z;7B0|BmzIC@$^6!c+{MpbR&jnnh|lawp04^XjdZ}0MOJg^=mZc{C-XvYfQg1(@hu; zOU$fqosaw%vc?0sa!^jvttp^c77?|bW@E!ScD$fjj%g9-gRr2Waq ziD6~*xv2y^TNV}P)N~cSBheh`weZ_g!zz=gW}(aQm5E$0V1;ZvR;VU3#I%sDRCX~3 zAowM2578BE4*VBlKUenX6VaY(xS>f@ za1}!S!!3C58ZxV(ty?k_E~zpjBr{dow70`@60mr=DVXdx z#iQyOx+AAsz{0%HISD?xE;cS-TGtWNbgYAC}`Y*Nh|iz2VsIxSs>?$;iyGlly{TSNY9lL3ji6u zu16d{qM@9|S+%`Iku+*qL&qIc#li8i!ixZjK&>v=2vEwm`9;g2XUt^$>$`DJ`=IY& zR@aK?U9gj>@3O?Zu`-vlRAkenU#mUlO3tJq*^T{_c3 zw$3Is<6Z8uW1S_XO0&b-vK_Lumx&B3ZTOz4%WbKvKXZH9wkR4&BvCe=Ck}oidS zQd(B;HMHHNkE`b_Heylh`0K{o)kGA2i{M&uN^}i^2eqv6%lw_$GiEBS^f1x$`x}pi zo)Q%@$D4F#=it|T@YqrhWPPgyZ zv+38t`qll9O>*vfG9~7?kS!CDPIBH71-Vm6XQv>h6|W^rnvXDiJX78%o_@k|sCWs} zn@;1zg1Pd8`ChI^gtytj7Of?C!N}w?05^Z_>SGT@lh(Z}1xb&|yYIx;2h9gcP+65O z?O<65AEPiMEY;fB9lr{{cvsgPEPG$Agi}BKv;=PW!=sfCiPq(- zgUUG8CvxG;{*s|hj_0|P2!R();pBQHs;9M+rc-~`sg8sWy!Co!s_1S3TMraKpB*m< zz4F0~S}~jwjIv8d$}tX$Kf(%(Ij2+@W0jV`&n=)NuO=DVPP#a0N)3h`>h;dv>4Ku& zL9G3GspnU96aBn0WX-*vK=~ODqS@xmRMW#fpG;2ULfh$0x-q?OU0d+Q6A6av%tjs` zQOi`+Z!C+CfNt7h^ZsS4$ChG)y?X9hJLcE{y%r?_21r2$J z?u$~o9)M0?k29|GzQy$28|dpa>>1(hw|~e?kf(p7_+2Q|ahf^xTAI;0fJC;P*LD-Z z(&SJ;G=xQtcYgn_zoV}71t=fQ)_w7o_jl#c((dB)5?oK96zVX^XW8POThA5+irHf? zH<&M22HzbX2m~Hn`p0!2EI`-wIfhJL+}a^wlP<=xm){z~@Is1#Bs-SD0KnDIoh7ad zpy-4q>IeL#I=u!6{PaI=XX{O<@r5n#rNtixt*-h+=&6m88Dc$uF+Bdvk!CNq^u?Sk zNA*ABSM@1f`lDFn)WFr;NGMukz~;-E&WTN*D5Ld&&W!>fIoZM8NlTH zKR%hyb9qSN)S$A=4i1?H?g}HUWnBPKE=A2`{x0r-7NBJy^6zacZ}@Bh-jc$T@ut6I z^-Vx3z;kWwn*B@5VEup~S?c-%oLu~CTJP85h8X}-0kO>3=x3q=>+qEz;0G!yt-I(D zLNC-XI3rI)QW&V)@*a=P3}@Q}U#TV<@=3SF>ffLYe3&Y^R^}XBnPqM5U;$v(%qmZD zJ3zsHJXYh&x3Bo#i^t(C;{ee%t%}G!NHsFGxz-CT+?bR}s}~GDv#UpL8l9;;$^)>| z98ha$H?$*aUWH~Futq2Z-_g`#jvozO7a)C30Qj}|-~e$GStGDlk1t{*6Ij>{pxesj z&{{ptA!iqz%n_H;*3uX0L*F+cqgYt1Sa09F(!IXN0++_Fa~=b@zDub=1vN&O{s(m$ zjpo<00iDBmFz`GM%;(~XQ&~mRCIv5+4q$Ljdl;xtS$|{(_dEZNQ1F}4$UdlY7O>MR z{zXKH%!%HRnu=4FqGxz(EzB|BKty;2PK5&rhsP_)15HsE@Ow*%&Y@szImX& zw!ysVk{Sj`8N8aDeUKHbLV27QFG6)~?vYVYvwO7M*^CPSEF8l3;%p!*kdBg@;-QP= zVqsWNr!#uBtOSujMPv$C?|sSjZFHzQ?|XURJ~l09p1*N>i&F!@?1kX#WgXQ1QTU9= zJ6ax&q@nrwa%Obz%u+pi&H?R{?KkCOBY#VEXigsm@0{ zZFE6!dC}%>O-8{7TP$hB^jxfeK^mYUIw% zL(bOp(fH?Y#&W1kSu3C?YXRisE6mx}beco{HI@z)u*(FmZiO#nWl;BGI20lI@h_gp z4=q8NgX(ggCSIjah!lymS!Pb{kMHb0fo;+@pQ zgiY}6#?E0R6IuYue!#87{@6z`*Q(Iu5Wh`kx%+jszz-yl&@sQAp+K3-Uw!}y6=!YIPm5_#{^Ds=f;({R@AwN60bbvJlg-h(L=kqX!!Swd~O%73uy|IK~S zHcfrfzvAE3Ds^OD<2jr{kU0nRL&-qh$z4F1q$Y*--zM=)XQ7iTs1N+&oVg}0vk?1r z|07>tuMJp&Isi)4R~xE+~t z8BQhO=@x2`OmGSaYkC51=gKVUl5xpWh2esm9P?|x*Je4r=LzUjJC?fr(@h(>ofB@?blbh zYX%icJdb_2p0*)jC<46|FSK##l?tGJrbBrVQA!?*gMa>;FLl)f&pQNPU&S6p*lliT zuTGyp-=#Dyn`J(m(fws2hOq|~0V1$V>w_OeX0E*F@(T59{0-!%=7GCyCk=~OY1ITB z9b$$1JHYt^2cz};NG7<^o8=c41(K%^bC5L7le4zFU4^EWr|0% zBzH!>HmDBbi7|G977rVQM9XpNUAA9z*#cpZboO@D{5@u@Y1!!_IM^CP?{kQ)WQ-qLUX&SPX*yK|E z9m6E}k4I2-&dbAiF*#}FwnGls#*!NvvZ)Mue&twRtUu1H_FG$`#q=eZGMzGK`i!j9RD7@K^+W1Lo`Yj( zhT-vy=G$R&1=OHv>S|<<5lwT{a1NW5OmUai<%)1Nc}RR%N?8b{@Aq`ny4l$aa1kqH<{RVZvO+ zwcYE2tdXw2x2VkRb|!ZN1@yr(nG*O#UefE)j-H5i*3el>i+&eel#(*G2&r+ZyP9N? zJGjXjQ$Tf){*-o7SU66(PiCplJtN050PgHYWlBlU`O86m8A0g3{qEcDgV{O36%UWK z*Z=+%0dpQr*7RHMt~Ik80NKTioHY@U#nue5kBl#%W{;o*&}Ik{$^opFYkjhZ@v>Ln z!Qoy*c^grGfCmL3=)NbDevEc zb<=)Lc;_Ud-Ztn!%#S%$HMQ_wO_ldOpbt3TJ}7P5KNZhaPPdS-g8?6Di5h`2LIQ#yoyG7rA;zD#>p_rOG8sjx3;Z}YiK zY47WPtz=Dp9N5o44H~jhf}^^L70^Ax)b7^>#ve$t5pGFLG3S?cR9o95GN*)Xz_;u> zfzkcWahTsw<|R@sc=7OEE;>|9b%~04WJTcbqcMQq9$DMFSS@|ut-yENyAR2EWWk7c z;vct~Z*-=+a;OgSKLd?*0bzkAV)|01g~tz23r3z~9by~m8Rj{_1Ic`>z6xm4i+Gi#vw$(fX|^jo{F;zF3+LKje<=rBo5& zG%8bBXfebE7lYe%l(M(MAtkJ9sThuT=>7rI$c)CPrm&B+ZEsB==6thjVMP9A@b0i< z(4~u%*^Sut_~g(Wdtv%z5w2%z$W^_qt!<3$re2^K*Ri)?hNSUry?bJ<53PD{wvx^1 zaCC;(&Lg4=0)p}^(XE+~oY z??*b!m3qjv?U|x77wgyw_QMPb{>rMCFDpBE_thQ<`EMwDXDfQUVhFiXV2@@e!tg2`2D0fHx9CWmyD_!SR(?DB{X+1B!vHXn}ILcigE{5If_yBv< z+}7k*;6X~{O;g0|9L}2x%zxHD*CIDm23N|miV%aPV^VzNs8|XibX?VYi(GoPUkbqd zE8!lK*wyY{dG@(r^29!`kjk(Z-482=yiw7+t1taLC(d8(m4>npctvXtuAN1SBQcAm zo<>rBaSu@+Bytowcxu*m>G(No>T_RTb$OH1yFq$Cp*k886yJQZ@ciEKODbTEcRMpQ z(n@5rIN8Hm@uSa4BD-81P6OA#7^nuAX8)H3m^I}t?yo)k^eJ}W>kuv~a9x&py9&C) zI9pqdGQe`4??+nti`99hPr&lWZsxc4gNz;Se~!P0PNX^bJm`>FK0+M9J9^aLGX94xN~u7TcF&0UC&B8k4q9nEm)-d ztNshR8x+6zRS%+4_;A2%HkVP9=ru=;@PFQB^3)X}`RlGONA0kf{qZi`cg}cr&VP{kSt+AVz5k<)%BUX$nM4FK=B-sN&51=w7!1rc`lm17&N++5JA7KF zCV=t1P!6q{K7L$FoBk@BazoUOE$H#$-({B?UtoZiQ|KPM;!gsE!NNqbl`X%*@ABwM zq2=*Yp`C8)2i!^7t*!bpY=*Js&UaSAb2_}Xs_%5KLg3h}En}(re_|Of7i!OhFO-zc5`VRS`rqaz%W(?I3=^ zrt#1?7Z?93{Y|VtYg{@u3Uyxlm!{-TM>1&s(^nkM zAyA}rZ*8$@H-SRy{gyd4MD%>gQZBHKCTS#)({Dq~Wh-9wGp&eA*$U$T6{9MPM;vUoP5C5%tv4dv*zj>*mszJ!X)hW`c>)P3z{29 z<&I(MYJZ7pe8T$@e9kSY2h1)ltC9qaOEyxNxRXDtx$)M%A)*y9j>pK<2p@_qMRw^f0hR< zOpmg}?Sk-m!#@?3I=OuHD4?qEpP7GtkeKxq;&*KTA!d~D$A^2cx4*f)c4e8XbwuB` z@_POhk`8~_V!0YsS9$Ql`_IuN&DME=1lsLTnd#*RFb($3JDx54iojCDI$z*fO5{i6 z&$o{KboQ*JMZdTPVl$TNxGKfCPGbws->J9bz5p8fxGV{RG=A3o7>GWL*7sHAjH9R2 z(j=hs2LckEa*iRPyp}UU@hWG8!uUT2&OhAgBQgfY#p|OuvYB(rDv@#()10*{N0F+h z8xr!f#Fced7Z<1BaW{lL^O%Km!xO3k{MaK52Dj)jdxGSJ3DQsJWK)+YHd?;x&F+s~ z$O={$ijTz-JGQe_`5ZI-7aRY*cGqo?U!dWdfscQ8|0^}cgrI_li&j%$(DC>B-Wtxi zm08h*^r3f(%6#{W{q+4*c-&NTcTpYewQo-LzthjKXHUfyYd&97rHUQQj{mi6mSmW~ z8&PF86@7h_tq^JTf$elb#^!E5@cLSYVG8ZUAM}Cj<=Cd{qNurYzY58o`?t1mYIj<7 zuwaPL(owivKZlHve&4e80|aUuF84)!U3 zdF%W`mHSBHZPbsVhuNxqy!6Ad!_pz56!xt^54Y8y2zkh>tZTQLpUt|CH4r3nqbxt_ z&gDXOg!ah}cDL}j;B|Ow|F6Q_!EM*duNFVOKHU+2enfJZM9{ahIo_nmG-fhskM^C@ z`jMJkxRLRQ?I}%A_ai!6TH?Q6j~fJsyO3G~n|sU4buzL1mfj)c4q&HLu++}xWwy%! zXAq=Cw(hKRR)1tVm+b*IH52ZZL2WNxOT}Cs+4)&jQ+y|1OR6Tll@+Lox)MuT$E5se zMA<95h~Y+V#GVtIkgV<^iOWsTag{)3+C0*%Niz7DoJQBA%E$!w`g-?_UDc6Ij8jn- z-~AFh+ugS=RbxQ6%1I9E!Ol)y8NTS`T}R9FZ;VtkP7;aDebnO_|LjYMVaKPB}{e`TT1$fNnBXFSh3 zZm@N^gYL4ZFwD9*?Fg1xXC!9`+a`;-v<^(#kl^GDK~EMpd($eD`qoY%n`Y;H-V5gW zul{0NQO*8~Y>Ry}=|p9S0D1V5j-)uB;ZeGr)@ckcaE3^zpH_gEDqv3mBxK{LoX5=d zZ`t>H*Ir8to+HCM@Gqzl*|honCG7eZU|uh+st0Y;)n6A)j)vJ`)jn`zi!7Tb6J5 zRSggxpNMDI2+F(e-ePI3OrDWa`^pXAtVjjqeb=A$c4C>G`^%YqD3hym>n2mH(cSfM zg~W4$yQ0`2lz2>Vp?^LcIh%Kq@A){~LzRGT{ure3i30mExg8clr z+S)!CtHWX8##0_1(Ky&Act1N=I=Oi$QeCNdC=Gc z{#d?%jYDTt8}0Ed2>*ev70Ca1+A=2$Q!h$oMua)thAjCrfx^e|g8U!Q zS;plDeY|$2OQqyG61b6L@0q@T?%NI}X56>IhBc-|fpo(%libI~Qc|kanggCj3_bDB z#%ERjTB<|r%A&cje5>%SXdhN}vF=B}Sf|EWKBZ)`moEqFksMgv=*13A$MH{N*H;Y02ElrG zX9&Do!)65uYQ{A7RFQmL`Q>26=$AQIk1>%|3l7T2hPL zP^}rO^?WbM;X*4rYsA{5wwYHu!%a6p!wxqWmZChHgiQ#kbj8{Mxt&Z7kxD%I6wPZq(A&sg+{&T@+r_%Za7^vFw za8fBkk`5(+AKvXwazA4g=(=m6=t3SoU;L`5U;+ym=NfVTzaL?};1U&Wc<14iL44j( zj~XR)aCWKtk);g$!k4Uj@`*RTIK#=pBFUCqM?!jz6yvtEx(w|fDMNf*bAn3k)yIeVD`&~Nn2@IX%c#2{iV3n=}W2vQpepfGdt2wLX6XdI&OrVMR2S{J|TnlnYgH-%MbZ- z_?(qz)SNG$0cvMU)rp~u{C>4u?=Rv{IU@5Z8-5>gx_J*d8+#*h2lHd?27Z?6y8DRO zgq)a5gd=AEb}ubW?RBy~Sx54c3I61iP#-!HKhHaSSLQ6|uK%uliuji3De%Ofw7^>7 zJvL;XVUp*+7^$C$ere8PBPEBCrWn+x- zCxc2lT zm~ZCpN(-e6KVBWP6SW9l=KWi5C0S6yVRe$_kb5P(!476-5RYwHCoHa_PgWba2pMHR zPTues{1C2zwenQ)=AjB3u+}Dg75g*Uvny~=q205ROl%YGl5g?-qyIgR+4O%;>r3qE zZy0b@E8F4*r5;zp!~f4)yOa@T=s7#m3X&bXB>_pemAwOU_j~t_ z;2>OvR8{d!<)T6`^iA|b6#7J0t>laNJ^|nt?QaCDX6(t|G#&3+&3=~;oBhN@KV+aO zQ|8-fj&L!(?A@6^H5VlFX;lbBUo~vW$ftRxwd?qj6b3hZZYU}`qFkeum6L6DBqm@p z2Lj*#YbcSU5*X63F2N#5_BM_H(L7S{$8nIK2dVYX*xnJGYFaclggGnvR0Mk!>1ksB zB_>p(1Z`IAs(sMo_Fx^~@@|VC9neBzrurp2u_p>|@ca3j&yOB`!!mazTziGZ@?&&V z19RBe)bttFIS$rli)xUCxfD4|1?jVg{o@er&?J(mzzn`ghr{a(F1D@wv}YIDH@;cg z3`VFuB04`faT$;{=WFN7W|n+DO``sdl8&dO(E6>3p__u4yU+2`;zxE((oL#eA3SMy zW94eTY*A%dIsawWUc09HDkJagCf4jjh2r{rXtO_%fK7<~=050NZFx#dM@92|IZMvm z_JsLm<$6;UFuKh{XClUw9jzglkdWKfqy$7Hd!inSYYy$eCgo_vsuU2JtX=fe`7*ye z2l(rS(4+rn0kPdD{w}yYbiRFU}h%KNp3xU9k@4oHCW1pv$t1n!?YKn+lj_Ku^Y)8N+<#j!}1hBcu>@@(S{wk`mnhOBtzxGMd?`iI+^N$i=q* zQq*YqL)(@~S&Ax8V@ef18hdB9u@(s??{$$?xNm)T{_*9>tQ99c-Hrzb)#*;1jLl?~ ziRo{{>d~uL%Cw0-&`RCjlMPkdKc+QY@9aYaRSGFAqj1u`baq*cgUuM?3i(xI`Elqp zTYde_AVXAn<6}cQkrin$`C2b#ijt`R*9+k3ImEajwN(C1j{cq7;@nNbBa**FZDPK1 z>Sf?`)9|@qFdUmoaiz(t>X~ws_CqpOa`SeyXU3tdmqr=MO0!>RkMDdN%dPzK{c3Xn z$`K9Q5NCW-;m%9EOXs%*EmfGDmYRc4E|X7dJ_GeFl^Y)(MfoeKVplD=wyLrq#qK zYrw6P>a@w_TAqBG?(b*0#|JmGpd74dPPf^D>SeeYD{Ex*Juk9kiSRv z0B+Tivu(p{F*Yk-F{wG~-u@T4QRDrFb&gAv_t-~NF zIbLHTWT=MKoMmK=WXH**vOQ6@*|%A?DX@M7$rdCqEAa==0Z(TVx~re=v;_LIszi>B zF*oVebXl_srMFbbeUcB1>gVX+9}|-=jp>9mU7x0U$xN#-GVcoR2|Zpod6=oiI5G8? zQ$>Js(Br^oFyW^MPe+mMGpI$M6)~k@NV&{Mi%nq=YmmqHxE)|09TL0}aT>1=ocW>Oyk_3o45o5~>@~ShN3coJ2dFFtc z#i1sKYh)$a%_6ijdNO24_i#2dBm}?wJ~(!#5Z0z`b6{6g#v-pr!PDZ)!27c`_N29M zGUPa?*Tjo)O`Mb16{ih$ZN(kaBi<-A!22Q|#$=~@5GwHztcpeA1Jj)2`d z|EloFk?M&2-5m3gYhGm;hKH`h%-$8Li@n0a*ZTp}+Ah|e3wl7!hdv|RjIMw{QDFdm zI-NR|IwflmOqtqsYmLvpplhkUyXdp4#%xMm3@X%GK!ZrDDJrx=E~B)jZcZL4N1K-? z0~(mkUe5%?*knzlajVD3!Pz0{WYGQNO3UCkN*kC6_N!Jm=cqu)wCqTI7hxUx95-W3 zKzPyc;i`cqe|A}05Wy-{Qq89Mk#RY0Ie9lKkEM$)<#Q`=4(~SnZudqDgabT*7GJpJ z{l|uPt8K}`a!=pVEYp5}uqI2MEu#37$rjL5-Y9duDe|2d|FUgY}C+tLI*7^o8|YCCB0Ds*>TnFRzr<7 zHfc%-YHFu>OG{G#9y`4Aht zXa*lq^<>?M`7Fcks+^R$K8F~Iy0DXH%%X_hx6<@oF2=c|ksY|gdPfdt4QFOnOn&ajSCx^DDC(0gU) zUyQP#-`<2j#On{-PoyH#`s}D0{Cp=wTZ1*TU9FG%dsK!pYq<8^X-vyg@@Zl`|M|Q2 zMn^Q_+$&D(jaL>#6nQ=0yh4vVdkJtw8wa{4Wu)cbiM%>CVwMHvOep4h@ojeIA2PYBB|^Xq|9dYmH8Cu~=o$CROTCdbm`z z+|Exz0qbqIAXeF`t+-)YyeR8F74I{-yq71tz3kWaEAAt;uU@`(?yP>oyty*%Zn3rL z493_%d_K`zpSYV7B(L*|X#-3<>;X~w8;|;+iz(;2#yKKNzE591cUNsR4MCm6JmQHZ zOL3C4DXiyvCaN9Z)jzyiu;n~43M-?dJS*L(@Ep74a+)}|fHx9)tv4*EE@I9UDhV~W2qesesn*;tkc%{eT3)~~ zb>)!vf~1+eBS1k!#HjEW*TsSnHl2+jFC+GtLd?vnKUy}J$cJ_PiLts}uFL3*#@ttz{*vkLMO$Z{U{vCQsc@(P&I#Pe> z^mDy@T&Iu&Wug(Xj@6=#ilb9z0X=jx_H49$eW7UA17X<0EcJ_0Shs)uOe|ELg@Wgf zz9VWj`lMB}I#W-Y?_!lYm@U6jtn`Nbv7zj0AidTbJsU@U{Hl<{Z66oVFFKLffewpk zxh9$|K+Bm@V~uHHrG6TQBbsmWKFBEHXZx=_dhq`3NdkxIyh)27c`G-cViiRM=kjao zI46b-(V@@m9E&t#m{wSdcRUQwE1qBaYV(=|w&m;|+15|%#6)*kQJ+GzRoFHz70F?Y z^{L)!2FVqn&>UrP;?Y*CP1ICrA7prOVlpCf+*pmc+d zja9FrA0l7L$2iw)#yt|p_~ktYxVzc^(o~YCef@DbXFNW1gudD|{2|2i7AFwmOhcj! zyF*b>Ww8D4W@U;a!f!aP61UQj8kMe<0SQ8 z$nV;0+&8+yx2iZqJTI}3?v>^&)It$)Zuk21n{g18QBPg8Mlox(Zq-w`Pj!xN7N|j0 zq}#Y-eXrcoUfZ}u?c0@0VkC@R=hJ#+gAdaT)XT|@t$(Jlpue&v{0xWX`5T&;o6?$3 zRAOGIw^>%{gW-}b9(`|&goC~dP`V|2P=6Wl`_h{!Ssh?DpV|}ut+wfz(#i0>ke~BV zLv3w2_5EAJowWA1tv1H`f~zck1rUNM>f?#!4W5+3#CQ5yQSUHhDCSARe{qff`Pp}h zQe}~UqJ0&ADA#B3dM<~GTDY@DrReungs)QJMWlLw-e!kNjK1r!bo9e32NX5?&h-Us zn*QW(Aw*bO-gw)#K)Q4>x}AF6>td?PpI9h2^yWsjV#?u!DvM?8a%S}PDe|&>D)ON- z@p1h6*(XaL0*ik~Ymt-ZRmXf=5pd6M<@9{BuJJVSaXM;5gy7&E77XrQ2kte|<(aoSnBb#mtvN9nVmZ zwR7pslKgE*%+WM#AgY}vXel|VACQM|@DtRYniKVE;t^(Ji$t}a~@of*Q z|A%h5P#!((iKR}4| zm&`GbBF6Y$Hf~WF*r!a<`$E{*E5(Q>qS%E#)v8cy&U&zKtIbUirT(gI)+ln}&z4jc z@k3QG7&S&yYb3?@e=KOOGEzD&9i}w>zFKc+Pdftnfj|$fBL~_bUR#V9hMvz`C+hj> zOT$T1aiqNa{8=uO5V_{+25#?g0~&c7Yl2jD#>o-(5U_{!>4%aK6c(7qDHX8=x)udmp^27SUy`W z$I#)qOf{rEtjta{sG!&;U^9qbVO7Lq2zOAuW+>S?@D?cq88s{@)=z4;k_p8Tmp2p@ zCkoz19STOcc{us35q%L0vRKwFtM*BWWiQ3C--!r&=9I(n^+$w7H!e%iyL0|t>UJ9# z4f7Jh+pMPX*LTo=Kkfs;vR8wl|s<+#f`GSK1pIFRwKrkg>!01se~mKOKM0W2t_6EZ;R2Zx!xJ zLFXEcW7yCY&giYup%3{cKumli)kWRPOK4%;2F%N-372|8$M`$tS)f2U6`#r4MDKSc zPwkF`ZXjW#$NTzAw$Cg(K6PPf1nu=6DEk00!z^DAYh0^VgD-es4n=glkutFXqXNIe8aT+d>0*JuEY` zoB10M+wTp>g{IID6_n!$V#(dDPgCXs*bHHc&JNEz2c0xbBx={KCl&+tcH2&nxdQba zExbJTJ$M&pOK=c_iBt!ofA^BQz2vsqt0-^wns9bKt)s$*?{Cid$zsG4Oq;>TQne@M z$l*xdgFvSu9u)3g;qoykELv<*$|V|`v03;))aw}ps=g{zr;+`lFp~jeh?Y0-sRjEB zdZSaCX1%HxsuG*?Ty+NGI(!NV+;s;FqJEJst7e|FoU=`GEo^1SVC)1}6^bMXf!Xl* zI~e${LaSdDjX*g1-pys-k@*B;krHHMp@Tm+_^7nCRC&q}Z>?1GqJF9vi}{1VNDRdZ zfC6Xa=@nNC<3MvU5!*+MEYro(oP)72R3`LPkWX(Rfb(|iH5h>c(P8t?{omyfqejdg zieNRX2Yv3-%eta49t!(X9|;qzuW_Z z*oCSyP(&+=uqMq1c+MxdM(+lTupF zNolMUs?9YC!kf9NHB}?_`tE5nxj=}=6mBMBzBlof{KddPDfr-Al<9dVjvR{Op zn@$ZQP9=aTd$28n(_DeHqIIyE#S8`s%_;Ci`yR1#g0 z{IB`}u6Zzkbt**Y@woHru%~BG3W{R%SY|&X#>aJo;l58xea6ev-PuLA=Q1HiyjNTQ z%KmrN%j2Crx&jJOBZGlCT;#!@M=T#-{pA+Phg|wUMtltjuOIxh)>E9D=&%)M1Llp* zdHa|bUVGjNo7j4GCP}&4&Dt=yk6gbuUdXtoi`!$ra*=!9hp5%rtj^q=gp2bB$D^(AhZ)x-AEPdvWi+%?n2l=AiUMF<(amGwfsn@WTF$cyq+~9UQq&`E7KP5-Y z;V<{HQWBNG@ z>LN0BzQi4p?IHpAz0s@tDOlnuAeR>7DqrEgjjYsE&oyHLH~Xa4r2r7_iRkitotb+| zjEdpq`??r{(KE3BFFi)ZoYr*bz$`-h^)0WvGDd&SpyGqDJY$Iv76s9i%ePL$rUnSPlNm;KuT{+1X4x{8CKH1$fDQ{6wPbm52o+Z4 zP8$K|4bKR3*PFy&v2w}q#H%ET#=zt1{$`fB?dZ_TPv2U#P!!UMst`0w53MW@-kTn-x59DT|t;7t3mioqK>%iNQG>VKI zLbHMH0q597sNEx6{bNDXaG~j3xZw^}MdFg?Tb9mI0sMy>x{?dIvD0~EXwlOIC7Z%@ z#)vEwXMZ*5=mBsJrvKs)3g`QDc51y;Xk%v*vCS0?SHv2l59LpIXZqb53 zE3ZO!DyJL%eC5@bTMg|y-Ox1AOLat?p0aHrBD?2iFSR3M(MkiAs~W-80&xqf0Wa@k z+50EbUF7^I4(r$H11kmfa4`+?c>zNvx!u>vVeN%ExX)|l@k4V#y>JVYwLd#ZJGef& z*Ez8=v8P{JMz)P%A)(j^KcA7j?po^_k>gk{;&vz+%w9+Ftcvn(B4xkH#jl-50$?Dr zXk`vj5f6G&c$$t$TCTm!>XwKRq5uH+FN#bN({NarDaU3ALnZq6%-c(g4hzuAW|(v> z_?q}k27qkx%~b~}Y=e=rO%QuvAQY73i)(IZ5DDiTeMmaoOGn{6HA8v;%DUi%1L#0c z%)J>zl82h*H8a<*p)jOXh}UsJdoR{*_aDOMI?dyFJ8lOv&^a(%t$O0l$cEDjgUiC= zxC(I*BXn>+7DOhwxf0Fj z>O~LLpd%Fg_MT-l^~Z=7FYx(y5T(m96iegCM2SS0#i!xZR}uz;T>qz#9;P&eFr`8= zljowDo9ixgnvN@-w7xK75tQBa9mnit7_{u4K(aWxti_)eA!Qj!KPj3gvxte(hmZ8A zs^*XFYFirIoR3adocYu%PBY2*IYe?aIJ~}>yb9wN^dR)1grxn;wKDM4qSi)>yFxR` zou6lind<8WRO30ktwhxAobq3hqO?P#QNbcW2ih z_HMY_H1Mbr3;G&LncfD?OT(v+dz}FF<~k*=**$&Gxn|z6wf**8MM@Cw-p(1sL#~Ct z;YmO@11gKG@FAp$h9WFX?j^1E<9PR0yNEbBOYc9{E*Zjg(6?6t?!yMBV1Nm$LtSoq zI;mf?XO3Kr0b;xmHqukMTQ*OPh}Y}rZ(Y3o7RIKI8JhFDK~~e%vVm$uLa{&n2&KQu z2Azy(y_b$}bp^E6u?ZlEYi9~^3TAm;VFDhO6LCCwF$A&HRAuy}#h1278pt5t*&%%| z*GFlZVER9HtR8p@qX5AeVjJ!4vF5J!gGJ0dAQl``2FvM)&hGNx=SIeAd?||Jp;Hr1 zM4lCIJ_Xk-o*Ho{_iy87V24=B1i3l_+UK;8orSDU&XK+-_K2t-;y)K|P8Q!cY{PB? zX4W;{@{h0@p@LD-L3cnr9)wr~bvu`CJ8_=4id_#L5_q^QZj-a3Sg_$2tWrj66jW>w zzCu8(Ugt!msfyWz90yaoi{AnPSqwTHbcBd9Ts63Hzj)d z>|}S%1%xkq%5;OM59edxr(pFxN8AX1gX#uQm!l|6zUgRu=VbmdMjCdi#$P{GD?{uQ zz67Tjee7obGt7v`mc;qVo7QoVQCGvXzCk8Ct*162xzL(8MR#N$#coq}`c6n+e z(AJnQ;zl8ugypaDO+28O1Ur15Vh%12#~Pyf;A}z|M%^OD*C8X+o_qQ~;?|()X>?2< z-FsD4fji&>RRXZg=2#MKRxeh9ZsE7M1h9|32dcU4H{QRjh~|?~pcwsaG|&n4{eT{y z3f6`6&fUfgLm_M@xgs=P>KpGDokkD{dy3xvjdA8@QH?}RGB>)w)rC`!%Z|wJf_4DZ`HP{NpBj@6UO-3nQTk+$%obow*eLP zbLbE@q!D#Q-D*i9{1=FH0U{otis-UL0b25Zt$|_?z2HAB z1^_5B{?~G#2A$mhTH!MPj+uWg9e5Bb|F5;91ad+De^>v1uKr&$hCbsml%5r)HV>)N zuu|tXFR9YZFyMXn1t~NqbDIOd@QBOY3N^HGX^V?%cz&VoI?vi5(x;6bx~SRfcOrsT z_~?XSM3(3TNC?1{DpOmlOjua6v-`7Ddud$5OPExX=@PAL%Q7stx9UdC^)>B* zKP$}hVW&4t5?>sR4WsdaRQ?1;@yH5x7PoNmi~ip&kfY-{J`F4$ky4O}{FvL?_05QX zpi&l55-0Lp?e5y$dYSO7XPyogmdo?uRScF^D|MXIgqt~awlp{1k!Fna^aG_wzV`yT znZAQ*8?v=nEEWL3`MD&t0?CRe8O44B`>J?FLNTn1o5|Xbh)5?5uV=%fC5;>1msG+P z;lEFDJ0Lf}1#}T&W-4rYkBNB$f z#dMh)U!g<<^V9#A3!oFE5QEAxFBIGe5SMEAt7QutioDz>z5Ydq(S4%iaB7Zs((mN? zuQOX98NqHJ#B$!6`+b7+ENV8xxj=x?oe4(}s@dSt1@-xp{Ogldyd5<_TaZw8(rRuh0Q-Fps z5EwN$g2vZ2OkCB~tAsA7g-e!HG?x^RjY?WVCuveYKNPbF{M%;ihC>ENvf=O($ZZ6u zEl=cD#Vu4So*Q=?=n4RdPhgnynR!%=#oAM?nx2fJ$%F5LX$MBosQsB+%SiZoRYuQt z1?R&=VR1ro`@t^2WbF)0C6BTp=Htx2{h_GEu3;@$34(0WHvm($cQ>u zI6pxn-_L-Eb+DlCkOxo)64Bs59~R|C4*C$M=d~739qPy0i7e5x^|3 zD1TJ-qOasytKLBaot@&{TT|mq5uk3+2BpFiv+|E#p~_af&fD8yrjhQ_9EQ~8kf zKIga=c2-GAVaOw!a(Ko0)wWV`QK++msLH6?(eir7d^$$tBqk=zUyO=w30tQc+>)^F z8u0t*Xe&_$v8TovmSBlXEy!OC;2pDVs+XsrXk)htF(?ce}r*(O)L1``#%#ye%U1yL}BmU zHg6^ecIaS^2BT8;5#wrSZR~Q)|LaHOzy0VS&YlpFo&(1@#b!E->l9t9UUe3`KdZ&W zB*zQ1?NV20)gt1$yR&$+$za^9Q=jHlT3PvYL<$SoS!H1zpb>GkQH}XlGqUG*Iqv>- ztK{$jJZ``-DD2IflZp<_x9Fc)*<>h1IZt)V{fq*xubXT}F0g!-Xaia|E6e9ho^>Ck zzMF?zdw=q;G+P8knu>(q`Y#tS4@nR1ejk<+85tQ`F)o?|orVhEH~26P2^PZwf4AP; z*ySdS)w86tSv6JqZVO){F=1x7KR=CC7LTi9G&eMjc=>thIU=7WJv1%i`PG6HUWTYn z(GFAF0?Eubmd*{$GESmFZ0z%=-EbuG;Yq_%rAKeow(M0XF8h2Cw{iU`1BbZ zt>`!xgd*c1U5CH%TU)^QS={4k?UVTLfjnAp{9n1S)Z8Ilv$rP8=)1OS=6bVeB~>*V zt1WL`4!^hj`K84p+YCRUJX!q)DO+B%dBqZe|<&o&Yk7Kol^I&D+xa_42TjsX z&^+Y|N5ew~U3lx_h!Y81!K;#+toOU6@c6Wwma%tlscbtGNM|w2(J8M;Huidy5;Dju ziXHu;z{prmLq8MT3&Z%KihQ|BjamHF@#Bt~yWXo=hsRI;?d|<5DTSIHNJqhw#Vx^O z0}Z5plvl{b!(CP&T&5)Iyh)tbX{DpRY?D-5_v&_keR=RCg5BVzRr{tn^YtFW?_tO) zV=%4L(dF^H3%ulap{SO&*1Tf?LP%kylbKm*0~>opd%Ksq1fbi>%3{VT>eT`yP_j1V z;AD@=Y!~kE@$PQXxB3N)$!?>vzZ^UXm_Ug|8V*0ay1JX+GLDBO?4MhcY38G6<77X! z8SJR-se5>M%Ikl7;a}gl2bImSv#?#<(nn&nv%9{!`m?s{^8ED7&FAM%!1d!zqZ^q8 zLJ0aEdN?g$e`t7QQ)uXMJ|D78yY23Q*K}p$F`~4zbg2K(@7igl-6Dyu;~x3??k;g! z&re*yXO}%fPBu~Xah*{yLV9*~o{Ad=1yp)ad+)uQpR()YgT-O0!&iF@wO>nHd%(c{ zl#nP!!lM5XlpAK9wzX}V4gk*nz}D8zK&9nrGZI&~Hn&4(9Ox(9=^RRnMea<|sNXt2 zKgVq!xMQBzI66M(nweF<;v4DV;8;63QK&&t< zJGVQ8>8r&v5_Mdux2CyC)Ke-XtPy&N1on}=+zq`#LywNV62|vAnVBBGxZF(L`Xwyy znGpQsOVi)GEtMaAdE87nqgFOONHoPwvthz5ZpahTd+pvDc}o9nvd{l`S`&54I2QW2 z^>ZW*nBM(@1qYAR=w(u-;s$%9`|nDY6-1p)m~o_IKC7ry4qyOJn8fB1|DD;8>^vakr#ap9k@-QVM>==FsG>c#^#LlP(&`1@WrSSs z=JQOA!|D-f{k$hSDGw?R-h3}&^XdC@?{GYWQ-98>{cOsMoQEXe&JNiDK3aZ#_Y3o^ zJEZa6g8z2#_P6P=l(X`=MqP5L@v)TnEBkUP>KWapTW(6z)6!ficavnkj}5;R=A_cd z)S4O~FOSJvv}Ojs-s99-hMfE;K7IZS^E*!ts5afr%4yB9)3mnFZzyOOxA&^zV(~CM zOx+gZN4|U22pQ?d*2`-jFOxO1+>xw(TGQFH)|WQD=MC1`)mgeYzeg{cDH5(`zlUmLz0%QLe$(qi^Ilx=Y0^$c$~`!8OZRkXtVuyo4Xpyf*Ul~?GA=c^0Wl`( znwr`N>q8C+$YwJ|XdhL(l#b?<6gTz8irN_ zJNP`_QMylQh{NKCoG6P*M$4|z$xZKox_R;W{YL}ra#NkrxO?I-U6m3WZC3v_oNDaF zMpeO8ubsEdmswWXUvE=W)e|Om!NUV%o%-**qa#zZRUK|Q@4wj=7cz2;<6jQ5C%GAT zm#SwlyUFrngb;-N3{J7iI~|KpAH_j#!^OST{x|WEeoQ|}$x@6QL0T_PyZDoeit4RY zJ(}d~Qvr1}@8h>;!Z?JL!28RtD$>{Gu1?)_Y$zR*6$K)0^2r!E-R2q^#-t6r#nHia zR@}3AhiW?dgh`@K#_7+;>AicwH??mF2<`kRgrG_=zb25NeR8jYqTmQ&KBu^yzau#M zAJ_SiGf`=46CJi*O zad%jS4F!KdfV&YX*38>5Jpfp}4-=!=lc~c_he{8J|qf(cbel z=R^4Pza>KwF>^JaTXuUj-A|u;1HJDYIIB5AvKud>k~cf7-G2)DXV59el06XErv5%o zzrUF&d0&exvBSn`Dt#yBUGlBI#?Ou+Ho!YMHN7lBx|wDDq|NQPN$k?cV#wTOwf03V zOX0G7zP?5I!$tGM!N+>qmb=a`cS!kl?d9p|n}Jl>kX2R~f|>m2M^&ct66Uax=XC5p zcShd#v(RtJxKAV~{)5ST7P22CF#<^I)}# zs(Ie#(?|P@-o|5N=~otxhp5-=$+;~ur>LH@iwlxRpLaZ?Gd94h49L`rKi>jA-bekO zyKI#sxe?HSUkW~RSlqhAhAGEV;sldbANdVD`Jsb;sKyrytC?PmE$~1ME@jP-nve$$ z`id(iWbxFh?#i6(J5mb!j4*uI%G^CcQIxn zvX{;4BBH;W^!Zk^b8wNrlsWXmqZ?i0aqHso{@9%`-1W+j!|$L}16T+zx7zZM*)tNBOg}0zox8yG5IUBKy6ysp zM9!AQ(^xN`Jz8lVu(y1}D!V@OtGO(}r^C2Vh_gu2>e^kWmGzU#THMzlIe-I8(+blT zqQ-?e>U`5xaeNfJC32~;56Jw}fWw=;7{NC^y{D~Dweg9DkfNCob^v^M&&(7ir&v@I<p4SM>FpDu2!5ySNbB9qC%;^Hgo&2{<0n;*ACcRSelSQN}~ z(z?B90d)mMQuP!Hjc7fG3WrkKR+-V+Ji3r2gEBC9((Wn^o{%W#%hiW0EDu=k+M>GI zFV%+9{^3i5(e1(rW&>IKz1Jc~!;IfpSMcz&$hv!k(i^=)I$qCm_phe1>$giX@4F~b zE|#js6?Z8uDN&;gC`^iGS7sQn9py)Or{Bd7==4cQ5)`%24Oamtrwl3kygyV77iMM{ z1iE}34~_LxK;c#ez0qbxrfQj78oT5=;)Yuu?#U?|8So1(4Y+W?yDxvZz6MbHRsDKH z0s@RzvX+xrTT@?o!-Z%-^-PIGUOtUm24b>Z0JRNu_Sks1TpxQ0YIy)vpJFPbFwp6; zB!XYu%hJ|2$&Mmd1tD`{#spX1HznQC<&`LGqoduX=$aEnL)mZt{A9 zo*KUgQ1`j~T0(`0cOSR};`A)FX(FRsBvDd2ilP-ehbBvgpfQ)siQqFc@9PGNi^5Zz zdyEv6WFJ6wQi&FpP;;|uSL?}?! z+C?>lyr|gCMsQ_rcD+bD{3?ayl;*(32e!Ygg$wS4B#-#Yu$`8eON>z^ulgl&6;){> z5V+G`U9u_xMuyjUzl-wqa)9}M-1lSADv{4pMcrR=5qO9J((T%UgJYG#fX`{glgaq+ z=J2_7ooO|z{igO*We3i$>A3Aj7X2{grc)8?VI1o&1Lq@QZyctB_wBwa(cb&5uD|$b zxj1Xu#{RTZ^C1bc|GmF~aWx*Ffy4ti?lxX~MOtA*evVvj&`cw_RvzJ})(6 zYXyj9B&_Nlp-Ce$4z&~v8514vC1%k-0xyrB=JlR{4A+-hV(wHY5pho=t+vTs;bpQE zqeBG*$jLh3iVdB0A}dRcR$BBP{F&>B?JMA+%e~hKauJnWlhkC_d{is|v{YnMv`-@$992@6{VDJ$XA zT+NO>zdJqGCu1B~3H5!$$8lJnI*C*LAj1s~3B=N}bzzUD3eNJOX;mh^*7Tu9Ow03sE+D;IXT)Q59hjw4Mdo=)|6i z>+{%*mI^{wB5b|Zi?&~lu3{{kZ}wd+*IP+pnrsr{^n4Xr`;`wF6Gxstu(Nl(PR~zE z5uBm`5WZUkRswTrh^Oe#b{Z@_%lmmi!d4u?cwLr=GUW1349DWa--)*Rs zwO;we7u%q%YB)rHa02OSX`we*^&fy3OC8M7UQ zUB+v{no75j5%u}L>9+9A-*~th&!|!kdeK~EMicaut7a0#+MVXmYaAU%4l5P8SXhdX z)NW(p4|0e_)*$Hyt)Qnfo9a??&P#?iua;Az;Z--A-eFK}kw$a`bd&x%-ouei|E;ej zW@XrTn)_F2X@u=6AgJJ<5rxl`(R?;6$Z<^KbnIRDf%Io zAO{Nz%Yr@ZA|-r*F32m8QO^d?H9th@1kR&`FQ+#1K22o+yaj7ZyA)nX~PmY?c zKYB>u9r8u&o1ATgRPQtW-a0oQE-1SS0QTlCNm&-2wkB4J?t!-^*^1&R_}b3P$oFUY zgK4FyrB6@Kmi~>=s^UYC1%jq3CH*vpCMNOuy#W5r>b^BXDA2nLThzP)`efbjaek^O zH@lxt({1NN{xUiNCz0?Tm#u>3%Zk$cQX%d9;9DR274Xz!)9MMWFPpEXFNwuV=dWUj zA`|{qV1mml{j}NvST>uRJ48<*FhF)pP_8g3x^CCxtl?OfSN(|}Ypsw{_N2nYe90Dz zo93?8Da68cMB@OThuAEZ;O8~#j|#cUk_sj9teV{JXBXG8l_bi6{&8g`$vD@RmQbd_ zy8Mu}1^C(o{FY0rtv>|p;oDp9!`&7v;Ma)R)U_?mCN^~=LP}tVki$?lRmItOZ^PPx z&l;|k&noB?*X1Q?5ezu@jg70|N9~WBD^<(5hbOtd*U=Q>6~Aay!PHYy#_T?Kx8~ce zkm|<;Js#||3}OetExAzJ>DftR{o{v4CfZbSNqj;eT3~8lCU_lmx*KRO+9XMLyRVFj z;|Lg6l1fHC&b9ZuKaY7c0E6&EYeu^z(|^|Xas}vXKDO*kKAWmmrw(biUb{@>v(|sE z+@T<+0DjpfrusfwjdFW`uU1KxIRdjOCW{x94dfnITXip`BX%d;tdmo}qArvrG?7sQ z2B6S-OZF)uusO;fSxMj#)ZJwC!i3T{9X+{sqN*fgWy1gM=xDHf8M)BC+2-sj9}Wru z1d{R@gB{{5LRh>Ex`x&llDorL5JoZAgwtfjjK1m*cm_r>>ozH&`!MuE=^0n7^Fg zSD(j}oNYI>-kMI0EwI?k7+oVEwp|o~i>ZgT^2&-kB%EnIw$im6W5vLYd?(G>*2=@# z$U?_ezjiz2FrXT-tf*OXFAK!?amK@Qxkk=EGrq8Aa(KW$f3ml}w57iiMG!YhBB7$E z|7$QQ@)w&9;)7oU3iZ@pHoTC3WsOd#r=aJ&t46RY{dJPak2tK!E(zQ39wBBp?!8~o zf>wI64Oeal4=`MNr(6A$(1kUxjDek2KUr%B8k~ANozt_28QUp>9jn-HIa#*w0g7U0 zm*L(<00i(5?r?C))(pAo;?KS)I)zrA&$l8`fmQ$(xH!rWSXhK0nHNmSqkOv_1kv?~Gkn79% z+GM?WUe4(AN@OzDH~0c*24hZTw`r3X>}%5YFzoe*GYFSn2BOBJR?>x7a@1UonQmD2 zj}bPb|E33f46+|sOfNix9QexD(PCc|ja$_%3P#tdlIIH1p%<>PPL!T7)W%b8Wygsb z9fQY+VB4l@7w0N`HKYkau?kKS#pKc}k{N}-H-@@cZaf643)Et;{q~nM^e|*u{CjXC zq$a$iE}eays0&*?2VD8F4}8`t-PU^0%@k!0?i~pQ2*H6wCoBB&WzVborKc={PcY^dL0+pFc=_dnm}WOIiFb716l@%5Fz=HAFe)-03e@WL|SaURipB-r^#o+InIhG?Mr zUQ1IaCZ~{y1F&7J946+EA$OKV>mWNiuFH?xUM^C=*%b_F+uZd)7{Y9XkWmwWI4NMs za%)VYO>KP;H|_gRE6o)$ynx*>u3)gCCT%IPq94u<$eez60rN`>W9pypVKiAY!VuHB zJVVLC92u-5u;vNO4!Yt5E#^BrJEuf>E6A@)0k4J#$eMW8r-oEvY46juetEP|7gi`@ zteccjlY0WL+va68s@;SPq}CnsASja0*#|Zv`sA9UN-n0}YeVZjM<|+D8>V)^~pafu|5nOnL-LBZo z|6rP_7Ny}{7>@*jr71-hjiw(@FL5)lN)Za=uz0}txbG3*?(&O^)TOI1d=)u_f;A)m zYM?NFWGM9|aufM{y_y-jU45~iw=$qi@@>$Mc>pplZYg+IW_&7T-))N$`_@r)k5n2Q zJbDVty($8ya4)@itGl8Ts)nH5JbXz?;En@;UW0^VaK}2tU|2&>79-IZz0EINiX{2I zz^sen6Rj8(=x!z5@V{Juhvbb=KD1dFDu1tSN7bKL3HhgxZyFm+K<72fzBBHZ?jr&? z#rw@$zeNkXw0Wm3^)7}vEc#;#-*!R>0K|u{R*R~V3Y)<&azdmn{2Vs@f;`fLv$Jc3 z6kEg}#`^v%j>3J!w~i5ajn#DxA*UCY%Z_|umr(*Y7l65mQo^JV2lyZkZ2dB6yZuS> z*+z$=*Vlfh6qeOwW&tbP-$_3%ND%+VRMNi)7O<>9ObK=@jI_CXtwqX5O+qHEqBbN1 z2+6ScPw+Qkp|i5!Lu)My)@EDX9GdFfdy72nb`G9S9g(n#hW~;@01ut(X^#L$3ugqS z@4~UF@*6d_8f#W04CPtLf}%YU5FJ`RtrTRiIvyb#AcMr22=UNauZwQ&+BCf<(xnH? z8o2wbfjfxx+i6r5a!5uPu4}WiF5y8(eVxivIb7978=j9y5NyWlP}1YLzW|N3EIklE zMt4Z3gt*A`5yw+|t0AF{Rv*}N%^3|E&_stCOS7pE1w9{I1%Jg{g7R3c+_pGvgySqH z1XT7#&)N@xR0=yC*8W<7a>EfR(2I>cj2H=C3=Ek85 zZ1okeAIrWX6i^?GvJ|T~*OIFZJ|`UjUBH(oJTa%_l~)9#FJDxb{qAlMXq@ZLL!ywZ zv0!gtHLy+r^|-Y%23C`88%Qj)SC1JT&1US&xRYu~Z+HM|bIP#D^JiMS*~+#Vx(mhN zKx2D0FsMPlt5g!8G2)TxbomONnT6ay6^BS0I!VOkdGNL=rhMxeDRa%UoOh z`7hI6gU$B5vs!x67DXynvTytr!Tme#X(%q5GMX;D1R;=H*0)F3wFM=VLgO< zjYN|+?Gy4+xCuV1#yBkYocLSQ?c^74kXE8-Foj8om3=Pa!g83f>wlcr>^W+tuitI= zpEzOOS_z~k8RJ4Is#{G#XRgW@;PsXF!b+OpE3~(5I()X&*3L|7Na1)@L;P! zl_y6L%yMSiIvlsMj#WUE!mfiIA0hDrHz?{Vz1K)&q7OJ777PlHTp@ihmbo`o_A3N@pUMK{^id4>>v>V>_P4KaW=hL{lI&v!tC4#t7p0 zXBPU=dNmnsfwG1daC8Tu=bHkXN?ygvpach6C#pGZmg^h`-iPgR1vq%jxzPHM78qGs zU!nKQ5t@&$+bsZXr>U`3T7Ne?PLKq_u2oL|R~o`jJU{HIAy{~EHcF_8YRrf>CGv{81U3@%+{pI6wt3n=zJ#IvrkuzsufyLx{=EDBnONkk9A|WvMIzsK0nU7JeqKdD?3}P=q4HU$O=Oe> zzrCt;{xjOj|K2JjFGlWLV$J8UUpW{DCO5W}v~ZXAQ=k6e_|zu??MSoVjnf9e+RkPn z1kC6YgcGHR@-`jY*jEiyL!4nyt&5f-lN;lI<%T^*!018lQ77s|zMh*|q{%)%FCpM= zUn`ene~j+9Jyq*{SRnCR9SHZclIX*IN>ktT>W21)5;M_4TPBXi-f+yc?fh$GNDrYH z>|b(CRa@&{d0z2KG&|Veg2USOW^y%XSPKQwz0XXna#*SHl^G6B*Vn}VfwP(K?Q5oQ zLJJCyx!B;)uSuxFv??21_qac{umKxg9&G@Vg6o#6+Xn!Y6GlKDBV|QDHApsrPfYx1 zvr3%X{o3Tc(y#oZiYa1byVm}Gj&P-264%m7u!c-tN$ksVvLf`M8-WBvSS$u;p|y;Rlp141}MZ$jT++hqf5=lbGGw@ZVm&}iqZ zwRL$!Hp8V*qCOiONm9Y6L!TO5szuFh1`6z%66^bl;$%^58LiifpR`7hspY9~(xL#5`wa zDM0I54dZIP1QA8(^Lm=)+@Qb;E#LE2lEcN&{W(LnD!w!P`QFXq-dDsyc<$hmmjm0&OMBD%LlcMHqk`}1Qo%A| zIlWMFe*-%w={Kdqh>zfNt8ANtUfAqdEONv8ky-S7P0E7;#X!$b_Cz!TN)6}XRq41r zl(Th`Qe>j!4>CzjgfX_e?^PBkm!Ib~^&t6s8(HW3UrE!m3A`ezZXq@L53v-Vn}i2t zDBxNI7845pv(<6({0h&tp&T5N;06jHTwLGIz_h@E zEsWl@hqO{^wc}ZjFL#4iYIGWxv{MvshMKE$-o6y5@|#Y;A0rRC+5lX=k0R_4lVZ)Afm!9c&=gp*;TFs2#~)L&qg!!NjnScl9sm zxy0?9Hh&^@_9h}@pXg@Z!)1;uRwIz<@lqI*;`F^VAMCa$ z`YC1OR}d~|IJ7_&!IgmE)i6c829=DmG&E{%mAYh#4%b@b0YeWT8J^OyrxFu=-Irbo6-n zdfaVsBKnC|c;@5Vn88J%W`zFbUI3I334KTwL#WByHjtK*pXrN?DwQAG;nZ8O-~@)P z`|TY)_?CkPV<=>&rSej^k>02rs~!}D1u8LZX$UU{nP*`0R>?iy%BRe6fW^S_!G*Lf)>U&ePuB@=wzQ`WWw%5dJ_};db?mzWH zCdMbyIbF1>d%tC)j1dQ;#toXxuB+ZrmOg(CZs5=pOy}KiKKDVJ>;-C@4kX@ni3h zM|C8#6Zjt$L^U^Cj~tW*{JTVSqMz3RWBpk_iZj;pC|TG7VpvGnsTi^TCsMhCKv}a)gW1g1(CUb4Mds&Vr9!=X?HyHTy^UG7Tt`i z`3eq>z6s6Mb8rAbR>{Ablc=-4f512) zi^T45S!6wta7i_BQuk(8<{X{3^tfBh;`U6IXlF-vx(^fc@$3@7me4SW;21^ zYfK`dE!P&K+0{Q_NgRVlby7b(+xATKQVQO@sTt@7+y)tmg#tzU$vLQ{`^X9hOl&s| zp$NMh%0P7<7^H-4t1&P!%EDitUO-g3c(K7jX<3nirzgE^gP*BCr62YYsVBzKWg5jH z0)vW_y#t?Kp3AxP_Qk&$3U{ffYhq)rZ%uFMd%wTeTsXjz+$*VRk)}@Nre;;rQPVRd z*3T+kKU^#BV&M{!FiT5+`GVzppSuNJR#7o~SW!`F`Cu%hoCgyM-4~C;v%(^~bAC=A zKtdwd)(CoqZErXAlN!_1^x-m0QgVDi)2V1Fua~|fCl;_+{PnWCFjSv8LTm`cn*rT> zUD(4YXQ_6A&t*eCZFk3omw-i#otJ;}k>6JFZFVX*slVNIEP!B*{QZr4bbLxJ3EmI| z7CGf=#9aD#MaB~ahemWLHdX%mTF%!S76U87`1RprHVjo14na|z=mACOPJ^4lUPi_crik(IT0Rf(P?-|&SiNFwg1Z@*-C zYO1<2qsms8DG_}l2z|m_`EwbOkrKPq@nF0k<9C2&=||u9J75J#wA3IcQ3oaO zqAw*V$vB<`zOOZnVcT_+{JYJ=8_6=ebV1GP z)XWPnp_*oD#nbwFmgk%7=Dkx8Nv}TfOU#384(s%JEIOP8%2YNNgH@{c*Gx6KIYCjc zEXTdtv&|M^qaAdUfxXkcmrT2a&7d&0HWJ%tnes!^eY4y#5a}rM9r!03yij5diHQ(B zLs9QQXD%Z$HMJSHjRMaAWp|>kP)W&o@Mw2SWEvbY(+5{t2L;z)wu0Ej;Pm9@&GE0# zS+XKeY;wF2_Mmj#>ru%>*Ne)Du3K9i9^b$x80bYOuPB`^cSWrCU2)CZ1#B1D3RZh0 zjW-5;*`#^aQj;lNHyM-CG#)f!F})P;t7>cQ-{16MqTO|r%rFP;ZV!tKI%JX0mKpYo zO}{L0YZj8m)R`_c*MDTzu+zkZ%Ni}&I^I4KCC6V~NnFanmJ)7!-*riT22^E` zit=!<^%O1mmz}M2C_0VE<1d380ZbQLNaHA-<<*&(oj!<_R^O@;X%IPfdYQW2AlOh5+zpq zys%#rd=2J;%%v{Eta?4Lnw+aalGo}hC}0aIf1tppWCqzya&4J8T-*hDgl-$#D^H#z zCZ>x^th06P6tT@<9T@T{`0Sp!KR*m;6)lOswb_m?Iqn$9-9{A_D=x_;MQ~0m7O(;5 zqRghpLQS{KtLZ25mm>uYvJ7p}mD(0H)4to+zk^)lBkl}+SS-?COut61Z$bPm9Rr}& z`eNDM;O*Yw-cf=@HyW8K=#G6D9+?`6--UTNo)(rhN-Qx!#Npf|gxhTO&6X%nuyt^r zw(ZozSmA<{c>d+Km1z9>_^UPa|8Vz}U2!!{*H~~3KDY;Wcb6c+-4lWn+%336&>+DE zcX#(BxVyWP!R-s`z=}P(9_dXr@DIA-n;2#m-?FtdAWrB(=fMiX7FrvTk>M> z0XQQ;*PSKl%=b|qV1~UsU7TfIjUt>|`;|c>?=@EH()ZCR|7Zq-Es7*ewvBWh2TU>) zEe?URR6i~4QFeyJc~8)6byNfT$Gq*W-B!@rp^ULEDsNQa`D}b*Hv|8rnk^q94=# zQY8=~9tkB%Ji5ni4K2&o-e96VIf+yjvsB6qPs69BKipHK|-w7XCg~Hs<#+=`(_yfm5xoX@B0#*Wpj2 z<3U)g!+&PCB7(j0WQkIllbOr3tV5b-bKH~l{V&4ZI?02%vfEFX_^W-(@KObU!ZJhX z>D7-4Rwj0;mlw>UsjY2O$%?GJ?sH=m^R!4t$N13(4j$;*VNFhsw&KM=r3%{Kbo}Kw z9&4-r^xM{cNrspF!zY;U-y!1@kz=dg!_T6x1v-^^DE+@iGwSVoCZQ1E!z>-M{+Kv= zbSSasYI}PljAaW^gv1_)FRp+o4`r(I3Fjr2-f{+mL2EpNAaD76XJl-2HvdP96|XSr zLYEqRd@<5baB~gr4lSEEg1dhwshn=^*dKl4S))h<)Ntc@ph}tX7N1U$`MtNAedo~y zXs9g{h9)ktZNOYP&ni+y${=}hmaD>c)`A9rj6n}`i{J~W6w3?6HQnK1c5PQMjUQ`|4Kx>twlB7yWFdGE4SbEg=>*qwpiz zM2xJQ4gt!M03VRwG{sCoYGlNtC4lY$^eI2SoM$dC2>NQK%c#sT8WFR{ktsN+`NZJW z5Dh!(u?TWNv;B3fvT2-^bo;T(M-5NpavL-sniM=SjQF@-lP16dG%kn-Fey(Kn((pq zeCR@W3up#vpSGpFP9o*lgI$-N^gs9a%WqBhMmkG`%c+_MrsEGmsEDuoHsF^iOJXH zp}-&il@eL&bcz@Jp**fC8+0c~>M0?kl2vGB{?600_AI07^9aJZmHz1OE98>W(wT;L zG7ojU#)*&qH|HFVH<@1Q)BPzg-!&TF55e%&>7s0;*IM-meAoJU-g%Kpyi#KrL^t6@ z;8MipC&K7%Evag{*e8}xleRkF1TmJf&oS5%N@Xvwl z8ac6Vz4>_{L$--|?4jgXRWdL(Dyg9I<1;|IrGoSD5sF&~MvK`9>H{eYUtIsw-sGv? zyD?<%Z#FUra$I>A6iq=IyTLzs4PAmUsQP)IRCsp}fpiM~NeDy*-tDKM`BQ=M{0R+9 zB<@ZM9u8i?Del*`%nH-&ta6O~XWMc(xOcqg61E+~BvBhC?eU=nUKR(2+>qf?q6sR3 zJPYZttN^szNEMNk@{g$}>vcD;r?iQCe{DFaVxgdT9vJcc%Zse=5Dca8$#5RMydNzw zTn(tKIjjxbRcmZ@8l^h@&Pif0iM*J3%wx__Wp8(F9zX)`#P<_eZV$^?kN1WyZ_EU_ z`_H##MW2nLiiec5ONs)<#Ew9DV|Zah-46lStup?scnO@calemP@oakBzf`~sBh$~% zdkcxGta;p6(bLnX96NM2%=)c^U2~ynnc=tG9)=SH%;Mu$q~ieI_;ASR=-7|?y01G= zC5a3R;mZBAt|^rrj|!g^quunsX_3P_3b(qeteQ7=Lvb(AW?1&-P`;0u36AsZFVK95}nXe*mnXtAp`at@W4M04?p|rHBg#NG)652HC?< zf4+Qb%TU(&oD7HB8E;LU3Kz^RjtN7LZ`|?dhW0ON_;iDPdnc^RPa%H;EifGgjBdc^ zTN?Y5yZaGYNjiJC{e&2(lj!ukRmo)h@3ddRL0^(N z1F>Q=>7=QVk7Bt@C7Q`t*W(e&Vw-28h^W2u^OHW;Z8d$b0-_b@?!-u`=Ka<6WsB4h zp)BULq@#5}Vtqtm02SoQX$T#Y7AYn?>8jR=zumsV=W_43)_)oA@v`|;=AnJ!9Yjdh zlsWpFGi3u?5KwTJ2**?z1nIUyPAa7P?XX4U2C6#pf~Zlm2KMsD<4vy?9A0Jf z%!smU!!~6n{NZT6NrVma^I(5abK&~OwhVMtCJpp6e^a!^-eRQ3YNZYn%0T9u(Vs*G zw||u1U)6b`vCUECFUKwTImr22{ogDtbN!&14`>)?w?98+@6O}~jmdgzMckM_9cA%0G)$fX z#OC}$#R`7JzB%YTH!xHP9)at_rl|3h@_V*iJi0c={Gs#B)wa)P!nY&e&qbM3*|`x+ zb4+r_H*&3u6MhE{d7TgJbF0PJ^vv)p1&a9@%7vq5uuZa9&W+(7e|fH@QB(UI19Cr| z*0x}6AJQ|}z7X<2YbG_IlggGg53VN(pEBKk7-4)ZRTYJT6?VGPI1KEp8ht|Dsx#WW zNb6n~6>F@}Eg_-H(H(;zuF|oI5UTbAMVJQdI^Q@bq!T#^j%2aXD>;+zTTW=@mIf*a z|I;{mZc4zuR4dG1*1RSeWazanAbv--Ri5Me-IeWsO!oP1tEugzAdsc7Pg@kfs_M+MV>XRNWAnw?>_6LDwv^Kp_GSbD<` zZ2neKq6QZZiwE@2X$Yz8|7J}|M8H^(hW-wB>5PL^gM^Y-N%r(ym0lR&SP&ax_pXH- zjV+ogZ^+W}^}5Yr`RhE@duVaat7x=~uTrI59>-`U<;63NR^kn@B4N=PIhxb!?XQ(M zJNt)c&&FM^=b$F>8P9IujJ(|_coG*?`WeC^;{Md^hf#v_4>(&c6B0%-Qmz-{gyzZ= zp{`(9kxkY(g4nI>aUwCdh;6wXDTC4YBFj;uwagP8G8r%FN6Eeij=Qu-ZvKpA?~G@t z67C}IANxNpz_TpCj;q5TOINa>XJ#%*aE@Fy%YUA89=9x=0qZ&+kxZVU*1Jk|K&xRA z8{P|2HNc`@#7ENSQzLQFbt=7>ADrb`)NuT0gi|AcH6xJ2x z3K0A+m32eq7x!SD^riwUdKN(OF00Lbz8*SF_~gtK&J>a49WnVV6uX-IPf5m~ z%%KAbMclW7VL@*$|n4r*bjcsSXx4n3%^1<$BTp z!AOU1;daCJImV}(h>L~Xkp&%8G=Zc=!1Ng^?b2%0XWK}u= zAc20ES!l7Zz+)xIi6rp#8dA)#Kj*X!*h&&4^_75+A!H15J5Bmq&s8BIV^8*%A=(Zx zR5wl0dI#flg`!O4afUSTY|SA6bewhv_bjMJkI8-iG&&D1-cU#){vKho)Z|*1?y~c5 z(}NX^wv30hg=FIFV|lCWd3(R_!WV3w@Sf*q-C6U;q0A=8%sVWTp*i!sQ{0ZvcVKyr ze~p4)W?a=>6H%xToJ0Luinz&IE@N>JK_-2^i|igI9EarO znPv^(>M_FRxfsS2D@VsbNnV7sk1pE*hiyv&2=#;IzA$u+*zF7bW3CVpE+L5^qOtB7 z;r6}sE~KdGt@@A3sBG{icXxaa`MN~q+@{wq%vS(lZl*9VFmI%(OM#2~#noPAi3~Wz znN95d?fO*=tH?Tq_UXiwx2};#Skl`EwpKne|OrPq33tKi&u^*MJp|mRZPz_j?L#F znWTNdXSLMmXS+yXui-e|d#Crw)PQl2j`jJ%m%A(ctlw36Zkq#VdUN5d_i);)zS-%r zXlW2>_LM1w9PHWslxK4E+|`kj@$n7IjUO`ctJxjdMbgMC3Zn);F_ohh$kzy}R8`M5OxDodevcwjlYa&^Uut;GNMX8S5a@AARt12g?3gT+_)g@lK{ zmX6|qwmLU4wy*XvFCkm9 zW?29w%|MfdoT49DImNBQn2xL+qRn6L{1q)I+>$0z?dy8Yr@ZZL{oQ*3_hS|mQjcO8 z1t?TCGvVjYm%_yJ`2lVKrI#DIiA^VWWizQ%Bwis();9ca_+sV^N{1@;5l4JPzKCjPf06=;al2DSbu%+z}-7|OYv0BEdlqr zq~Hfcbd1!qXM~x1k=UgZl&BGK36e!s>mzrXCGkgYsV-Bh{_(0k?hT#N8&w_k$=_Fi zp7t>Bmiv{!<#^dRhIy%kko+B-=5(`gG}l$Ssz(qa4C><)(9Hm2X>W-Oj^TUIwNb98=-oc_d~OnOP@ zI)~05Ya(e^A6||@($VG`MZC~iF?gCo$7$bYI1N`>P$%Vx53ftS+Sa6uaThCRF-S9_ zs8V&gmYYoI9MbSIq`ny&6TqVH5MCgTmJL3kY-ntD@imf&QnVQlf|N(DW`oKSTQN+?a6`-&S-5NBpQ%$eK2;yj z*Yt#j>9c+zsguh^^(2TgSUL8e>ug4cAex<)ljTE4_Otyg;`snyhXMSfeu*H64wJBv zuRcwD1}=zAqA#mRETC>Ec9t;cX!mrwTu2P3uKeLi-NrG7`Py`N!I8u2CdSoiGu}y6 zQ}>HElB=wUITorT!DRHDOoMFbdx;|iLrfkfeFn0wCk%eiyBy*75#xjcY~*C_0Qjia zv7RpGt>u5;Qs}_{w|Sy9$dS|DlC20wGU!6r9S(jP1D5@$1;YhFk|5q`!;&ij#B*JE z4;r!kh&>N<1zJuKM3Y>BW+Hp{;A6CnxH3oN>P6; zjIq@%WpJG4p-+4xjyXca8zwoPn_=5CRWq9l_5GAMJ1|;;BnWz9^iVBEnwT7)*CWT9H~U+bv0i~c#V6& z6FkXFY=^EYr$022uDBEkk3Fh@Y{y?fYeO^?m_KCAo>}(*Z5ughOnf>{9HFFuV{F{z zrNq>_XKT<|FGB)L!0s3cA!aL9%I}&uV^=S-QmyqjiNDcso4LQLRnvXBq*Ou>|C%+Z zyt4#bP6(9BhhTnLw(h=5jaUyn#X#~32>_($SdceXibgQH*+fuF%l4;n3RE4Qoz+Wt zd|7`jwF@8?$AQLntG*!U{+vIndurD9v83c`k*LaAki*yKxt7I*Ei=38x)qpFxlArH zDT;aeWNzMw4paKSP%BXxXyi%^&n`>R9orfdbd)A-F8$G$UC<Y-l`S$GAMtzV;!s?N*Y7;r*A_&og<-A#30W$5aB zCA~lGTc6Lxj%`v;%t`_q;xjP(t}x!+b=o^n)rCw&X)Bi!Ll95#CsCf-s=A6f5fMqg z!boPi;|E}gR-2cdRN;Q;re6%!t>f1D)P(WnI1ml)7wkD>tB7KURp3z(Rg13f)tT{Y zo+}0kJ1&eJ`(#7WZwkafSNIZdrBf*J6%3gG`Lcizs1m5Qxr*dIZ@0y+xP(L<#rUq! z?H-_&qabe@NW4&Eh@b4c+&BZcErt}FPi*QD?0-;{!CFl6!)@UR-?o1qI)Rxm4ED(^UIzV;gPX5C-ZQOO+*vQgnzPU8<=fSh-miOq@J8e>mf#vieJUfsZKbm9(Bg2eC{9LcGLd+Ds;SaQbDx0JD+Ifo{Hxbzo7INBsBs%q zFQ`7O=Tp(@QL4%bqx@J{y)c(5038|zFsd1Q0kh?ed=l!`r6?<~rGBYKv(dmXzG8{Kk4Z#G*q62!b ziOHk}aoz}hGB2svleGerNL9Y?!+&agy?6iCm@`aR)X5K#;l1|oZ zDng-UG+cnL0faN!1u=h-aVg^zXilP^ua)f0fF+$7xHNMbNjLZZowXUaLYzco2m}Iq z#5|Z}Cjwy#3GK+MxYW~6bp%mtS1>!vUX11`)oAA7_&Ryq3% zvC7FL&`Z|pn_pKcT=7Wc0nM`yFY3D0gl)P;L+0R1urXaBN5sY|SP`lVR|gJ$bpFp( z#)mMLQvMgOKk_7=OEI|A&bdwEpEk5#O9WpFe`IGcI*7i09cgG#nr?wKto)VDopVUHFUUJj%S8H z*KN{9l3-FFww|ZlHyXp2-d!&L{qnx|@Ams2p7cs|$^wOao6a%yRSyC7V%u*$w?fut zCGLVVSKS>auXLtIOVyYM=oS3?W?y&=EBub`e?^d!k}PiEIG6zIW%7NOgQF}14!5av*{>OI*n|@VUlnZ! zi%hiI7+;);Pi`{Jd)(KHIVN!5Yp2VPF{{mO`dEybz|$!lIrTqZqN+l>6`$AJh8htH z@N)nQDlxYffQH-nV8D8^X%z7cmdu=r`WRfJ`#UI}Pr#!wFYbw6#IHOi8qbu;4nMDU zTDWF`kY-59zY@THSVFNp>nE}pX+Gq%0skNj8F3JPbP2OM3|E$v^Z(!~M-k{o=YGCe z4kN!M!nPu%hl|KRh-WS%q=we13;ES}PCxudlM@L$A|aRUN19$R7qk>7CX#rSF>{_x zf2Kq`oBiE9YbV$WZa7Zz7jY~Bx0+c^_~J>yc%V`LfinC3peKjL(e=Y^*~q=bJQ7$m zM-0vQz|&_u&VMdPzUtC1ZFI_JgWPk=y=#80r}%wUd9_SY^>E(z$HBJqgqJ>9o(0yQ zm}c*?)Y#_uN|Je^V?!Dy@W9kL+}k}_%UsC}TtWtw#^1_Nv$+NipL6N|o%@T~kh9(R zobQb;jZKug^9WyE%_Uq~4u!fzS^aaE>>*?`xjw|w6FOUNY*CK8&fOmT*tOY5w0g&j z0LL`pRQuPIfn;hbQ(B?Mvun2}tYMvBK%Y-$6zh4d+3e@smz>Jnn{#B^wLc>!RPFc_ zn^-?)8uVijMUSYCj^nXyk0mkkZ7?&^ELD2C<*8j(u)tL&fCwr)_gF{HGVAyZC-sxV zXxOy~g&yXa$7$BqaTkV_u_B$ZU+H$TEl;4egE2p+W3EoSZqK5rcya^tE3&yCCrjZ` zFBFBO4GE%T95gI7)0E!bY^E8UowkNr9*hs5a2^p~-@I}XR_k{rw+>2?lVLHcGYUF& zC9qT-))c`bg}o06f3dJpCB;jD^Tnu+uffbWH!EdIWjS8Qcm6URHzSB_UzX4~Zf@gB z^zFt|rWH@wcS0D7nUuZ1aB{p@iP7Zc6Jj*g?b8V{^8#8_coHBbKb)#d1>Ca^WV-0H zJ$L5k{F1#oreyvFXB}ppwj8w?dGp42ooz$*(c0nnoAA*xXWYFVokqPnXcLLoIzGPK zi*{8c$i^T(Tf;?KorvNjhd+{%M+rZ5*zzyo!)?T`@z3FUdV~)IbtHj zol6@?mEo>Yq=TSq8F267jF5yJc8xFT^3*4Cvw8o!@Upfel<2(W9yH5pj-q%3QsT@GbM3JKkT-60Zcjw=ATY{1!%i;676l2(QmLZE~c>2x9xgQ$Q;X$ z48R!S)=>qm9jy6ZJ^_Z9cEM#f;EzNm>aNLm`^I?cn$q6J$Q1oC0fohl8rluF1@(yk z&E^|IjEfztZB4kbc*-5lZvAZmro;+jb}#WPp7y96XU^M~g>j#dOXcZa`kvn|_2kUb za2xXW%Qs&C^Ww&>416?};13AJ*v-uRjSr}uoD)rL_$EQFu2NsIyuRy;&!R?42 z3Mz1PZY9-L8=uv*Ye>i?45Azami3 z3an3Haw6gLJBpfbyWRtLzv*@WFssJ2MBwT#Dj(jZB659;4!zJeD{uyZ367VByqHnw z9aZnQzXSwoOGm(c&BW@;&Pjg4Z}mRKOUEbb-^!j&75&=+#BA+>4pZO>x~N~j zGacX!^$q|oiE^+eklnFw2H(~I)D6ou)z-n9Q^BUKDfj6{y5#0E z^@-Y{1Q8jZy{%*&_?lTq)|d3ZlQ*JaC;8R|TfSeL)`MvW!?A=)nhfJiJgP?76mn%rl7+ccmj`9TzShSBzA301#t;hdW?v|ZtN|2OA-CTU<0AT z*}rEjC)y~$JTQh}xu>X5s~7T!DN>aqv^^ts=x!3GhNX~&D1M2#Hr#zRj-No0rD5C8 zTW+|rVg`Oqj}N4!38dx$(*IT!Xg(abd!*vY8|g+Q$+ z$3gw!ISI~Kgszk3-hOegh#7d1wg^31WxO(>8_gz--E@Em8t-CycPU%|mk=8;ans2r zA%}9wFqRr{f|CAcPdk&*2zQs1?u0oEBp==;5mUdF3$Ih2`x?oC^!E?u`VScT5ryR5 z1$#9R7VE4ZbhH~_zpm47phfut1cT3E65P%gOO`Uh(Tc7cVA76c#R(0UCa|`BYRqe2 z2Ht0SDpQfrnAWHfuj(pLVS|6O4to({hy0314;uj0Tre=ce?5tMpXO==?F}eKC%&-H@Y?RZRL3?oommiy4&~r@2E9 z39iS+D>Kq(68JgX_CXe=cAA>)@q2|w{`b5!3t(1}6qtaT4;!JzOVnlXg#|P5 zsVPVb%6rPyCxuDrN)ww^HPyTr<3lHwAYmvXT7@&<+Lr}n*!mB?D&g*Ksi)ES-T&Om z_SbzvsT(M3mr_izMyLTiv4Cyt6o$LjH3zyfP;;WJ!xtD>B9aQbfQ!SRoH~5wlf|FAcz?zdENW zP|X@(ef$n*EWiwXPq<}h#E>_MK1KO91}!kgTaK6#YN+jI8&NqZkcCeU%sus01vD-u z99FrSjy@{%7*V*d#dJgGm`2J4Lk05;kvIV7u9?!Qgt zRLYdDU!5(ZfQv)EwBs3kWEKFVZK}0hnp0m*5_DjKq>*9PU|E6`!oeDY- zBVsDQ6Ud_&nU*qdl}P}CC71|gl9*)fq-thN9~F&{5|RaYm0L>cO11CM+-Qzo5Cf4A zKj`Ql<01%au)9qclBMQiBn&(?g*ky}DQ&74slVUK53FV|7q0u9ToXq(@Qwk$T)~IN zsIhjS=o<{s!WnQ;J;hAamp3DM8?9`>kbBD4C?c)AgK67a!P7E2eB}8`6OqC$U<8~F zeOi2h;q=FVm+`H#>I+D~4U!|^7JHgpcKZxGv9}K<;+>J> zW$&gf5epY-EYo-w+W22-7yrBa(`-Dl652Q3AUWWb7@u3=FNS zz`z9c56x>UvUI9b_9q4a#k3D25qA@qkn7NZ{%6&dH_u z*6B8tYKwH&w&oT2q&YXB$Lc zC0rj?i5~5gTKwmJzlP@OTI#fIWec!+LT_h{c{fwqx-+rLcOd|e5rE8|CHi?;_@(We zpOxiLmJIXEx4D*%_s>}^>U050ZOI45QQz0ak&3>Sbn5T4;f*i!E#i?S(kiW!P8;F<8L-^Yya0<=j5~Q_tWv% zu6E-Q13+-7s5xk5e0+QcKJzR~3vmh?y4mT_X(nsF$0Dg%AHtual<4iH5#g7Hk0xfG zbgZehyS9F#{Rc}+$*DD+86YAaTBeO|WoOX(4S2H9pUq299S0b6d)1e>w(2Pp3z5G$ zjsc9yW!_iihN{3JieMK^#Y$ksmf=S!Y3VT#XJ4B}w)L5uEa%bRdI>-LUfNf#Ci*!3 z@qmR~a9;zUN=l34?QFFE%*~c@?c;wo9(()W$bI6_^*N>w!2tl@TOx;4WoP&I5B=HU z|F`pE{G?V|%CNiI^&;(W?>I^AB(Z|qHrQN@Wn&Xl{?7+5%7D*V=E~VQ^N6rhTUV8Z zCL~17NK30~4;L42_+Fi^V5zVSi0264{QC!FB89*JE3rha0A<<$3SA4E(_8!Sdz6!F)P)=@V6!s(}uw$`xrc{`2&>#4uOUctv1DG31%0BId38tYrh`*c=G z=SQi^UgK4+t*1sgAT7OwUU438>NKw653n9~)6Jt1fg3{eO{_U%TC@zxj>Bm4_W7+z zKYeKbIxSODT3&8r!i=|k%j9~75qq{s#Ry!Yuq9X|C#SQ(-Qp%8_pbzkVtxM6l8416 z0L!WB#?IGKmdkxTg}K&hfP+xPu~reVs04h0f!sy&N5qIayYqn+piWJb!@~(sbJfeB zXP7G!ygYXLN#xYlQuGR!=?;5nh&04nhj%&3w%BLK=-tLr*xi~`InK$b2%e7H#FGtYs^lO_XNb?fxZT3e=L(b zi%D-Yj*QQHB<|Mnfel!}F1DpUum)OhC{B>IahFzHJJqh~ae6Yt1Y7r}sw$7VP0B>| zw}|KnT+YE)-SW*>nK*oAJiDmSBqReSz3dQaX+1JYsV7+2FBfT-Q!TO>qhun!knjd5 zFmCr&(9>rrvlC;qomu|24)hyKD6r>@$CIA%o#*L%kPJ`{Fo?%_Q9`B86_XK?7 zrKv)HM|RKO@*^X;B!mL<74X71!aX)$$fKNebOd7Vd)q3}{6~PEy`Agq%6zmtxaH^)!}D}kG&v$NX4*!RE1DRSTA;nHBKPJ(tFeY)ZqW2}H{cG9La z&3^oF;o=IuQnM}v8}qU5t8BC)7dYRNF1@1ye2laIV1<9tk_o*r6mh?5-T|7cSzO<; zgLiO{P?1U;AO9R$c?ruKwjJ7(p^>tlK6$oex{0?!j;Kr%5+0s2|Ne0T$km`KqC=*h z++44WivwluH9A|1sj;kNK)7|}yV^X~3?93I5Nt)JftQBHUE8qg17&!gT;`^$E;;Sv z0jb;Y;`UI*-rVLh3UH%?xcT5*3mKpHQ?bkWym4iQpz(E81==@&(E_-3N=Q&qQuDBn z9Dc>6y#W|MYVoOMt*FAoa%~?D_s6UldBN=wO8P8C1tSG0`@1U<*q~?Sqb1D-G`#>E z0a@gK|7fmfkY=@>i0K_Yq9xnhjy9-aZ9yDM!ZiAeG4Q#vsj` z|MYkp`j9%4NH+sV=XzQx{4b(y1AsJJ;TPQc=hMYdZ|s)y_Pzo_#rHU%Qo;MD6I-OX zSS@jO;{j(2%Y@g!$Z{Z#yH#6tp+xT4TLh^D#eAeP>@c?h2i)!ZSamzx;{iPHj zp%)EQeO;d$y?WsEPnz1Iyu_#`4M|B(Il?lp3Jl^7YZ;#~^%BM$9bIQh)qaI|=M4tevk9s);~MG@;i_F zvut#dCvZo=>ce$Yh6z(?GFKHfQ+Y(Tu4FAudFYU zqD6OqH#oHbwe1(00=;u6s?R(>uj@9C&#Q=x!Qo07{!xk@hZd{tpun(3xQ9nzx#EAp z!dvBXDnAkjQVfKWyz|7X8IJS2^)JP;>AW*Y@w@x=)}5rmwoj|jbKRN{zdtZ$9hvO# z<~ki+UY2ds-8k*K&Xqlpo`IKjJD=K@@den>uVM{og?B&wA4_m{cCEY>18&h<-v!0q z!na!3uKZE>vvaziJv(~m-vOz$e{y8jO`Y2H_lJa|5(*mmUH7gNt-PG*w8^a9{mb6@ zMfR#Vt&Iux*uVcuBYd6t%gL-RJ2k7I2`w(N(T3d5A@1pcp1WILt0GCo_%Zcq$N%+% zd7)BOuBVQJn@^JrAhUF^jz9N-$O0VvzKtpPX70dmI{^PgJq+Edtj^x|@#uD(M3k0D zn<@F&UN2{_ssymy@KLr1eN#IEf+3cmp=fnzuI1P#Ow~JpVDzOQJi_oD(-(qo)N+T- z?|+m8hFITYk;8kCKX`Ai-YU$m`Ep|hkGRO*p3OzLR0(G>tGw(=uii`gU`?LjWRuUc zHcS8ThD;3&kN%xGHg1C0RGhpllKq;Df$mma|G6z&0C0$`3p?76UYw7FJ*xMvz7!Pw z`SW@!NYBcgyzGBh3?bxD47utLd~THwU=O_~<~;T4AX_72`mlg$;Qz0J!}duEcMOnd z3^zrIYKeyg{&HW3^?K}W_c5HntO)ra_?)GoIWi)NK*RPy?nkTp^tow*f}podo|)MW zU@~a!>=&P!OcUmIo}~0A_3%67pXjr$L|;Xenx}3_rihmgFO$3Q4OLN9+fV>>t0`sw zbbx)X2+SbTq*UhLoaE1LgETQry)&lRr(^`+?d=2}ti<@7!!K;Pu|o7ke0Frw|D(NQJuak0P76T-=@`JEBU3p?xWF}2IW$B;4t zGAA$VcXr;d=d8tZqs`ZDkLFZr(NGd*sg*Z*hyUnQEKBE$>E}yocrrS;K+$4QQ<8XH zFOk;d(bdI)Dzmo)30CIY=+l)&9-6aL6%Ji8=C5*^Ju);cUs*3NFB2H*bnRQup`S?t z|9-T(+Ff=y`Zw0G?}t=v1wySB>6Cf;YRzUc3&;_Nn~~nza&{yBA_gcRZwg%(1-T@C z_tmm48wmkqu5KQa*ohG61U=&E4NGLWkdTr|BxH1}T8dd7>#xdxj#x$1VFi4)s8?gC zuDd-@jYa+C&n6|^XU(v2z$kYQ52e)<648_`d*6$pQJLXT4vD>REXIKH(~-OM7^{Sy^a0Clq~W3@EktwTRRYM1FNw|$YJBC7pT7zdTx^LY zB>Eu5MSw$0whf@K2KlW9dtl;yY$)`}5_D7qjsPD3f0>zaw!GpyMRRAgpyTcRBHx)y z-Tr+PL&rRUfnubflA}q7fL{U9ZbvhP7CKRBz!rBsL%;f0@H-Sd7cq2%h-Bz*@S-#1 zk^kq<2QL8{+N0~hZG>AJP&d$=-vOwJOR#Xo$6{W6qJFnYnL-|7411&Va;(u5JjX_B zM%E9SD9m_D9g@G8@`}xi#_MJEv80vcL(d?<_n0FM-wff z6OdTWA{uHT2?XBFj=}kbLr%y(Xi>yN3<#~#7o)zBgN*~+y<5KM?G@@5gGas%a@t4SoVhj`lxwFN($>YFqn;z+k zIXOOtV3W1$yEv}-(K}sF&z}u^k|=b<3?ri!qxdq9{5zOL14KG$94z49Iqcgf7K>Oy zEa}I6Y{$JOkHR>6yGIi94Jus%o_%sd2RQgus+Lb8-*9J>lbtqC2uJbHmfGC0{jh_Z zMT;Hz0CmlYUY9a&VfX{3JK13QYc*D@u9VWdBNE`=BTa;AD{1uO${4^OCq>EWVL_Go zd!JqF?I~*?t+JXqZiJi-5!k7lTEZCvVD4l)$bM71KHXB$Ft=EDZ4#bEhKAaKqN4eY zXq1$ivKSd?gO@KpjU^=R1r6z)V6e2a&}+3vl&~v7Z=N6NL%1I23*it12W*VX4N0)U z1`@y?;PG7ZRd62Bp~6OsDWn>85c#afGX$;}+KkGJWo1kHI}%y?`8eSh?P=R$z0x~7 zOi`XS82cAIM7m;Ti7Autmlu6TgsRC$IJBIATJ8=bk$o}}S@Wvj)p^>Rl@kFe>Mh+n z*Y5op=iUk&65nxu`m4*aow7{B!(L;roG}81@!74S6}FH_!b;GrAh(AGM3C16UFX%C zu8{-ZI@qGZ`vD$U#gGM`!k<4QDauGluE;!WTZC1tLIMiC`2vRxTMMX%l+ZmrKc@0i zxxz=NVP&F|HmX0JR-sOk@qbD0cReeQ3z>o0c@>zda3_oSs4$f;ij%IG>6(uY>hXq$ z6yBQP+u9EW4mZV_W~f?u}?#-h!C5EA9p9{qO^94v6#2M=@aYKoPR z4jcPO5b}f1$u>sFPQrlD))uQpYFRE#8xGl|_|skR_-K6wzNIRWqT#8JhtG>@`>g-Y zhr`D9Y(RM0c?UR&G<7~-a~<7@8vg*Qj^bD|b0hs!y`X~yKJK;&+fgN+3_IB98*8Qh zVS06LU!~~!#y_dtF|Y#WQik5>#Knca$LX4055dRM8XD6=FfgAF?vS{DVXHb2d`wfI zsz4@!DJKb!-$qF{P}MB3@*KK3RbLIRAr_i*W7gDsAoYCo(C5W%Y=AR#iiZgtZ8x1b zhAkn{vHA8}s|`xmHUkPQN6r>Fug*%F2+y7qCOGFy$LY`}$y23AvD~FkRfoSuwQVt0 zS~G_=rTXpCKe=Mw0(nczNbBu>hMREuzZkSF6i$KpOwPhG&F$?5=(g*$L@B=c$**!K z-D6}4#ydj%%lCSt+Od&Rx1G-}fnvMPV&CG^zv7rSz)3kf*VTcYZ_gM^Zsv703$Rj| z%Q}+*DTVM-FJ&kWf&;6=XoRFP(VDK5C~%%g1d7xzBnZzNeRDAIiSp}=#Ey77JHzvU z{Rw|>EFc9)8L8V}a_+piZ6kfGVR0H>U+r+rhk%51oV_Vd8t`SAsGZO6fB9UWE!RHf zOM^nBb2lcCunS%<61ZDGixt-t=jdSco}b))u923h{@~iMJ4i9aN_E}N{gqv4Wz!Yk z3StdN*jnZOw%tM-7FQB%1gXVm)2%ak8S_-?Xl;9bD(AQi<^M5J@G;8IKe!&QnK6mEij$Op!$-jw#+Mm*2l zZrtqqQyc9+mtV6JCZ`Ka5@g0~ZN86k^UVA_Ooi0NsPlq*#NAE4B{W%Q_HRDQ8Hzn5 z;TI2M9ze z-`Vj8N%qyV6jESfij@*qKCgC(6dAgHTIMkCvAbzEl@I{2*azriN9|Sj2>tA+=nbsI zw4@87;v;B&=sqKnHD{X~#+QWP4ebZU?4YIM;92|8!~NyEk?=PWma*w+Es#h{FWm~I z8l25$)e7uiPiPEK_=31*8274Eg&jgtQlwm3%<^cNfakYyZ+enI6utVm;(a!~VrtGV zMnOP{=0PkaW!*F?PEB-P1WjuGJLVtPkLuI5*>uwHfxu-%6|=}zI63@{cj8~)F_BMR zB6($G0k=I(Vc?Hcq8-DCNsJ4K$k-)Bd>$vW z($=U&VstID?JNbLv<)v+btM5HsTx2Ct<2c!lniUobH`0{Hb9A-iYE;jT76ly24K-J z06(NkAF>GukX~A>OK(~pp)f?&3u!kj$2usjw(0ZYo)Da`N}ilonwBukhlQ&rJe^XA zjN*RRJAq3e0|xa|Q(G4il@m>rmq&lJj-GTv!*Zqi5s4-+M~6dBM5pax+wMPc1~^ji zG~ejh^0%g|rNkdVo~87L7tLj_uPLjiF+ZFQ(y!4~J$*Fh61o5@W=l)Zc2(&6f|t3-B<&L zQ}9wPjYyX+bN(N9Zxs+n(}fM7>J%XN~7we^9X=THN%+%xxj?^%M6RS zlC+C~?bn$${htyWXnU^;O}=vl(o^w629fdY^Yb-0R07L*mg1gx>4=~3D{ng)&c+AT z*pbsiO**(GrMe7qw}@)(zRfc*RkGp{pXRbB7fKdqT@hJhWk8q!$G zMohkqU5kwzmF$*E0ht~uhNpu3DQ_ag@>#OlR(DHyVhQG=v0s(huxY{)s*Qe)UuM33 z-R}-~|6Yhl@VBv`STlamDLr(Ez0P!Ruf*FR-;x^uF`BPAX8?>7HDuS;&vP1gP(?CA za42(eNDe~ax-l)!%9v(<(7IrQ1Y`crj@vBK*+5}OX^q(6jK}%LSMC}1SJWas8G#5T z#fq=25aq|ym7RrdF3NKeX$`B!#G4`jq*a|T|Z&x||7;D^oqIeiRtcWSklKS)s zip@#g=t>1Lb1k5?l0i-FkqGGf$Ew1>%sT{95O{vxm65ZRRveNH`Cw#f>C$~gL}Z!O;aGe9{9i8hW9^{YVv^VGyi^-rUZn0}sTN5Vt@1h77`OjtwNQAR?2LTJF7 zMJ3PW3s8`B@u#A^y~3agE`C4b?fd~y)GVc8Eucj(2&Jyz@wAveE4^+#*O=`$IX2aV=<6OgCT%NQOI0_#w)vLp{o7fTo79uV zVNPxn#kJdGGyBTC)WLKxJi4zk7d?{+UqTh0fc;|%feo$Q8&!EL43#|_OSC##$i$M=dwMD!2sOm7* z)zLE0P9(u-q_niO9-OO!0jaWRgwfIA-irVokr(eK*D*uov?tr$mfNoZFskd7M+b|# z&Cf9yg`98h7glX3v=!shFCJ1@c1~7b&@fV2_2=qoYFqkLx{m#7ZCE$J7wh^ zh$`X7K7I7?*506>tN}6s$l)U6){9a|-54}IJ>m2fMCv-}(0zmfAmzNKik6lcyz%jA z1QZ^;8*6sgm$Zr>jMx-5(Y6TFcR|C_@i4Mx9f`rmMw63iuw(kWq;Rj zajl+d1{YCXqIX&WsUxfNUss-M1Nit{|R8(VMgk20Ew>BYNP%@ z0$X~cju=GpFt$|#}%g>_zwTrFU9?(It-qryqu{N1cqBj`LQoQh%gbT=N z%kc(pMb?OvjYL;?WtanZd0hm5^-lO~wPD9aktGkq6MMpP;8mNHc>|yMh%{bGO7m1V zqbF2UtRJS;QHbJ&^991HCq8^f=IbhEu=*2%p*Y4?j>bHhiHmAt$M5z~buX`E)gxt~ z6Obj8Z{@d6XP|Kr$v{Dh_{LZdiH%E2T-n@3FpJy`Ee$?hpgkB0bIyc~FJ>V6W%7lv zu%vr!`vKk@ac6dmnkrhd|6pGDtrD#OLJe@<1thy#*+1}aEe7`ljXr%^#scK@rXxUs zX<5Qvs`(T2w=OV=DkMthnyu>bV3swxR_dP8gT}3W#Hf)rgW*UtG1khv*xZ$#yW}K#xhlI={?rVES38ls+%TIZWLV zpyi})!u9?JZ#s3z?xtvyL&GK#5nTF4p*LbYjZKtha9Fr|04@D8Rhl`*WE0IsAbf^| zT~TBdM-|jB6L~zV@pr?7wD=OBK9#&R;GkG_IlTkh=~rk-0vMH59AlH%#Xv#b{3?9u zH#TpC(9`8QQHQT~vmXyhtYLF{Wu)0Q7-5JVwZjyA)6VLU{35Eo4rgi`?T;}HgR(S> z!t_%d@Y>5xprp`EpmXSaEuDU5{wbk0mY)#x{?>Z)fnLQ9dF_+`whtV^KFaQ|rTUE7 zAR*7p+3<2b{{*xd0;x&EIpGhMj?A==nE&)*8-j2UNMyGWNX5d}+wtHZo~&zKV`o;} z_b_%&>|3-}I|RYxoxY`rbpHnnfFUg0NyGpZYs3WU$zoCz7Y5C_M^RjSdS`DA?TJ8& zhpTHM;VPg1y^AfvBA$Fc-=9mz1EvsbnuI_U2MGBp4~>;`@ zN(C()gY};C!4HKASi5t(1|m2<^h5he8ToI%jb?NIfI>gQb-rE9kP%EHLJ zU?S~WFY{-92VTYETZV&PyXsfjDvIv9 zdnl-1iaU3qu$|9RVsTZjRS~GG8d!eFX$TVE5YFq1Sjn4>zVcS-LXP#mQ+h9I3CV#} z#jD!Z?{tk!pF2XfZ&jTG(bx3n5!>$Gi7p!6V=Dh6XWf0n$gs=I+O|MwkpC&5t_T(*Q3O}I8LJQQV)xZoHwwyQ0C?@f)5k+V4%F~$~- z=nxzHOl3_-$lxJ(-4sRN2km7+|JF6F`PHQ&Gf0N{V~h$Z3GS{hbrltc{O!9W3t>zn z72EV-P$ZIBnk0d-FS;a)C5GFb77H|JpJHH6;?KTQ7;3@ks7JdA$k!6p(e)AJ=O1t8B zLd%o&P{#HT5)4PJoj!tvi{a)Ugp3jgXz9-18^L5-PTwt7-Z>?c=4s@9tnF^AC+2N~9jRDUv?XoQb4Yf$1G6_EqoQZ7=aeuqVat+h!ar@-h zqXC%HWngxWX*hp+t@DJaO3GrwYjQgCVC~}Ov)N_Bhe_TEr;$H=+Pnn%B%b;SUE$#@ zWP6u!wwle9hi!uj?IMgC7&EJZ?P9Gi5o+Jex=b@On|G|zLa249Gk3@$!Au7x z&aw6>mQhoCRuLg!r|fQZ!yUU7bx(##&yOtydAB(S50@C?x8>e9sCHp-*T%fU4`=S& z+g8X3+TTnAUv)gk-6-UObH$(~*o@7eQ9s#~Rbkz=8@#2qUH4_z<)LG}GG)D>3CeZ6 zP4%v5$_nb6dZw$S&j3uE{Adni*gEBy{A6d*WNdUu^m8W%IU zPim6-XDZU@#{ZQ6nft_1&Uo^O@}u+f!$Fz$1zxo&hV8)$)ZC?@#ASe;-SR-w*tu<< ztn>YcZ95QS+Vcz?7X8e|n)5GX4?f;^lZ?TVk_uJv_;8bVirzYtL=R`o9l;NOk>d`I zLoh(N=tzQ}#0fRe214WfTgEht=egNRM4eu{6#XqGS1~e#JOegv?lYskHZH3gU3*35 z@?%JMH@(sEq?1u}-lH^0f7!@mqqVF^5oJv=f3p`w~=wT=wFcfRG?{~&cKC}fD0(Lexs~b_Uc;yCJtnq%&khuQnZ-YwnpSw&D;k$iU z-}K~C#yd`(o8O4hJ&BK8)or&s+`Vnh zea!&HIVz@hIIJK#42}j~G6?Z5;Y810cx|2YA54LLTWhz4G(^%OFFG6r^@eX_@bhr9 z(P$L5UlXM^S&77yF<{uzo~By2tKy(f``LMY^7EIfX7szQG}=`+h7aN~1N zWEM$hv1hT&13Wt?HOoouXKl&gAzjeU9UO3%Z=h2_roWTBmdQ-ChvR&{n2~N@|N39 z>^n&K;12E;R#v(!X)~E=G-yy46p`;({*Ebz&&X@36!*IA52AD4Tqv)3*~jPZwgId_ zE$0zx*S$16iJS~pSJUcR&Ll03iaKjoxf$$E>yWicQdhV_-C@!^bOICXkn3G2Bxp~~ zeD00o8q4kYtxsA?c{nK!kdd|^wzxCv4>_3mpdFxp{G2M05oB-G#G4_C1%i-%6A>LT zY+*rm&8kSvBn@#Rr*||vPZe+Y4d|2+tMY9rhunPhax~#R!3}CLnZ-Qj)vv0i(;5y_ z4+|a!p89W(V_%6l8V;X`sV(~Ge^wjj^3L^&p$|H6d=K1%%3r(r?}jp_|_4G4cyOe$IA0%1#*Sz7MEq->Y^+-_d3J!&5@Q zPgv2yvdP;>H;O{UF28?i+6zx_D|Wmb20&xS9vexp8U~E1>yFr|@d!tvn!1Xz0@XV2e>k? z;fSvrto0R}7>ryg&{7YCBZ7`WmZ!_?bCnR*enc43KyiGGygo zOjv4huEQ{6kTN2He;o=4UQ2Kob|^{zd83tx5&p_|78>2#Mh@r~wUK+M#NCfI=x5Ud zi;TUki8E~@I86v+nD}>WZ4};J_V+*@WOvE|bCn zv-__hWFMm!_Zc$6uC3rb&J*+uY?In`8j1(^q5!3z=nBmp`)pZpC4?iIoLGURaFuzu zEIn6}vKgKW+^1Tt9%Kc!1mYm=x?zSAZIf0`Tt@_o0xD&Q#*n%gl%Jh@M1)+np)C7n zOLaiJxLL%_Oc67ELmD<`G-P6I+_&v2qhR)(c4(hmh>0$qY`zLU@LZ^vgWY|E>#SDs zN)F*Dwkrf#B^o~+33wHyV5p{FAK1};bxd)iXboFdw_4n!w)|;?{xyPf#iPqc3@jLK zb2SQXjhMeUEGke4`Lt)A?@Vf8{!#rB*hC@MFqzJOrXMu*Pz`TH{oOx{ zw^&GKcz4e+7xa%xQ6Mb>xh6Z-kYWoZ`%hsWi;xZD`@ajJ61X`3)2OE|&4KuzM!gCw z?Ef_CBR|srPorMun<(V}H0tw^kp8DpkEN#kKe_va;$W!%$=(0|t*ND6AqX)_#9p>O z$L5#KI?cWvFHA9nBO>jZM)f7_6`dJb`amkuUW`O@^+5 z&sEyx#?g_}@7XtOdMr+#NOqk0*QHQ*xxo&#k>mEl;8%~ErAe}ZgzG%Y&!h6iym^2m#9|;+#t5UOs&pv++-3X)*r=emjQ;>$}b1@MQ zNx{V%{;MRM__9W&>Uv%9?R%=6cc*`n&?jjr#Z3BSi;3xMlieMDraw*w8XD>&+v@^m zn+wd=WnUDtf209aXI{q~6cUbag{+$N(BWtr0!u17VF#k(e(gBF_-Qf#3$5Tb6K^z6 zp4;(b)>jv2)6+RCj<;ZBntBJ&O03IIlCAX9)doql^Of95vP^L?)g)6?BBl@!YAPWz z{+Ih462E&_sWE}{^tnRetEKqYjclhYvBv>0`ELl?Um&PYVnGx=rw@Q3PO6&2+t>7r zj8}hQi|PH3BcM3K*`3dZQ^z(oW|Mze_g*#LCtIc)(QVJOs+#{(Ql%c{=0W&*yz(Fzc5*fAzHe-d~#pCmI!byQ5>D8eO4F`4bwh zPOiY1Jgwm3#WtkvePp!8N8nlim~~Ca?Ihit8Sb3sEu} z7<{zZ@Y5;%IMVLE04CY`MapNCr0e!f%5jn;ne^l5GD{+olb)73twDtz6?xlz6baxX zMKZ47U*`2U3TI+_#-{V5#)fwW3b9bbD_Sf@*DOlwIWnyvOX~EF1%eeTPFEtxs2Jbq zVuAS@FdU`|_qe#`e4<6*WrOOad~r7^p3-i8(ev6ye`lV@#ieNE-3(gNZ9UanuC~he zeWr^q$qALQi)=|JdVDBf+>h;im5f3{5{pxbt@U{4KK9~k38-9iyx=vvVs4cE;_WSS zwYYAAj^8AOu@DzHEN{cb%`?(~dSdzvY^&ba-_M^*!QBF=xv-AEo`*%a>$0c<_GM#-az3C8fXz-1P|2^`Z`#}F-qd(gC zcul~wy4Oy1w#>%1_(zZqe>iQ?S3vo{FfOu9;3BDV!>>{?T?f0nO78Ny<9X-i`i+sb zL~xx7s@y;1oYL#Hh4R4xtvkEnEIFz-1J@fviZ(UY4@z!IU zm{P|@$mJVqib_DOSR@{$l>Os{D*Sgv#X@q5*&)h%zwnzPD29l}q);ApMcBAkz2hw% zCu6FWA6LPrl~vPEAF<^5+qX1$MJ4?7Hejwe+$baws7gNfLis?=WLP^M`7_GB_YIcpM~oVXE3 z$VY6YzTXNbaT*t(kn?`txDhvJb1whs?v-CVF)N$%q-}t;_|R3>Fkz#_&!z zG&jrsc-@7q4~wqoRCx-$tkT$%>$ zkqiAfpvtO>Z0m*J2iD^sZvYT%Yny7~=t4rqLllyP!dBA=XWQi<$Q8xok`IcM=D4^`hFGcTXU-CkVhKBiM71p za|HW%Zqj*+OeeB-aesH>dVeAJ#oM5Hr!Zr`boG2H9GQ&cvOt8X^QzH;OLRhGjAG#Q zazn`ap*_-fT@d((+Qb(FcK!VbOenYRH@FV@GCz4sBwJlN-une+3;tj%18mSDM;o83s{m`u%nNez=7QU%HkrIRVaCtW= zHP$@KXbX*WmIO`%)}zce(lpx86W_aMH1;|I-c^*vIOEVUvwRFY6(1BZ4x)!yCm?r& z2?jJ5+BuHr9UmUX%p>3Xl^o@KKB!8$D*YI4B0A$ZymJ1Lu5g4xJI7`EGdtML9jMkD!+C5;UjvqR?+4_GHFTDBa` z8FBectA|#fQ$5Imh)(PYc)5B_B#9vDV zMVQWV^#oq}9L(R}01ODt$H2rsxZFiDAPh=kK3Vvp(kf+` zQc77n_4R(wX2aik*Yn(QWvx3F5gSZKTa@aJL6t-HmX^SY(YG+!)>K>m_y6rJ7!C-|%DrEkwhALdH(AYp;l}Ccx}4N$>r)a*|FHU4y4q0~ zj7b4QJHL;6-Jc%+DnX56BPm<5d0^y~Jz^;FNYB=AME%&JP@$sP1wB&(|K=k;qGLH`|# z#8%bQ+I}TPxte}`=3-~rILHOrXga<$4eb9K5~9TI?^jh<{lkdRRDsbJ$-v;PaJAlI zxZ#V6dn8ZGOQDC_5nt@@JY2sx+Amk}L%h|aB(=J|i!lCfv$UV_5=4YnV@Dx^RD6@ z$FsNY_9F-Z4X2A<67;;$r~*SmbvZ)m%QUr+hq5;YBu2VGq<2E_FTRhcypM=mD z$+$FyJV|qNbM+Zz9tagO6n4i36k2ooC%YfeNciPTx94wt@gi|Bv}A4r6ET%CFXs4e zTy<*EpnFg-Sl3jCbJChLxhH~dBb6}9&Q3MzS_d}>tFo0+S(AappQ1RnE~G5ES2$WJ z@BY*Tsq+nQCk?*7t5d3{x=H}{eo|G+F=L>pk$=a+49=uD>gcaxf*=m5rnnC5V37pF zM=jmV&z`KU+qBIuPsAaDkoYe#j zx|h&1&ksXgb5uQn3QT@G+|i;RJn40Ti{^E?>@HUN{vXZuPQkQFR$Jv44Pfu(9`c$~tCBq$q)- zd_+rb{$MF-rboZ=UDdBqFlI0eqLB>s9V{h-%~TFvKUJTeyJ8$anJ+AxpuhC}xw=tA zCdv|Cy_%$?fA-)796C9JECuazRDT{CjHhfOhQ+`%B?;8%Q^XlLr&m-*_`Z7t$L2hn zr!Raw!S7r-=IEnedkju`Ta!rba92|!vfAS8r8l*2eY}N4rjbuF-vL1Sfagd_O+uDaN@)2&Igtr_Cc-(c%(BN^L#P$1YzLOU} zplYel?$1QdUZ)zQ055j93B!FT2bCq;VVF(M;-|K=^JIBumU2%m1ph-c8Us(yqkZk| zSHO4V1J+Lmgj^$chJ{3$qLl0mTCv(Ta8O|@;qj#S-)^vec58w-yO)44GYL{Wd_-gt zS$I{a_&cHsg3`bSbH?jN_?1|mWSa(r$NSPGE&+gQ>bSt|T(PeUYf1Mk-WILh?#2D} z`Fz=r|CN9C=h9ggmSR>KkKhNWe%1lRD-@-blw}ug`*EU#u@G8FKm+m59Ocggk`V>W z8C=62&(V<0g@i)U-tg=j(?6wue%`MM3o=WCeu_X@;-ny zr?|xwA$KBmps`_bGa(Ikrq4~!&;nP+=sClyI5$ats$kQNF23FQaCq`W3u5A~ z9~6nyQ^iKZmCX5Y`P^E{+y4g(fI2Ci?ve- z+Of4Aia&yuI}9f%s_D)6$zOhw+0hFHmmwiAq{2f_D_EZQv(yc|lze1-!@E z9DjGmBC8PRR}=gL{SM7uk;|!mZvXfB0813z_CaxT@49>2H`Tv}Uf*S%s8OhCiez@0 zQWRH3=P=RL=vIYP9E27~bF~q=5nysH3kMh0xyx^D>B!KpWMx0*==A0_e55lyGy0a# z7KDm87RDyLs&2vSX}N86-^(_)YJ()RcJqC|n?iMH*Rl+jJ(MclCc@&{4l3S9W06i; zY)9_>8GgCbBm?{;-qtf3>pr|&q_>opa0h!3je)u}W&?=9_l{K6glERpU$p0!S#_+Q zFJJ#&aSiR)^_nfua{i^RXBHYxfQ`cn%ALRrt(MR5z$C`G`v4>wLs^=w1fBGxL`;x$ z5_S-bxqqtA^NZ7! zpO|7>qPXEeyV#o1JUvF}PX9o?{yYSfAcKTHER0X_iGPKm*yZ(Zz#J0xc$Q7j$wK8j zMDxWoxz&TXjouTK=*|kX@Jsbr$1R74VwBNPQ^_n>GbY(4T=sx`Rel=6+H(lG^{Jz? zcDg?=oqTo$qC@=q-ush+@}*WEnn~s#q-mENh&T?hdQ^}_oe(cgDIyG!c_{S*cY!6k zCAzjcZKcp%Qv>Hc_a25V{m5sV>3yul!A%)(M0GfXK9wn)f%lol{OGQbxp5u{Z>()k zRZss$NJ((&qul5UO`x7)>gP13&j%HEG11Yc{bj79gAVPO-`-ujri?y%j>D5C(H1>_ zYYR+?kc&v&OZnDGqve9gQ&rWewGj)6K|SMyT>X>-uC|{2kq`NZg3%o`_f0)=bX$La znnPPg2DMI&{hmj|*YQ^QHx_2nRz@9&<)zr)Gk|V zegdlg1%#StGiN*Q0Ff?2qYK1{zn?XKehPpdO;dmUbKz!FPQyrn8S>kYhl*NC*)+r_ z6)!*>XGUXvVmaRny#e(5mwROxbZE>z`Ynma2p3V%n*;c*#h3z{2l?zbZ$QhynH4w_ z+4^B?X$p zB219MOFB?zs+`Y_Yfj8mtpO1*h*b2MR5(k2dw*9xdRTIx0GU?%E21iN+i=P^dOc7< zhR6qFr*@3mh`mHkIwk8*aBV^nj1qcsO!aw+);=F4F|e#YPzke0tQs&)Hs1XjELADC zcZn$B?xkZQ8b}~2xOcn=yIy%R_Ow;Yfs%R%btuLc{F6I^)x$}`B=j1@%g6RpQ;-6p zaNRAO9cJ)pXDuTm1l#^~qMJ?3d&xwn>6{dHpV|Yc3edi#2e8KA-+gCoeJga~hwItJ zXe1dK-noB*Z%heq*o zc7;YMTP8`C2)?%(i~=R&1sW!70(@7OmK&e=At0O-qjL&%Ikhu%FtPd?yVoob8XR@h z2ve~e;e@?s^L{PFjKA+ujv~JM3v9PaJF4$5+A3glG}5RlRn(hVCR4IW z{6pGNGKs#N>+V;c_ajFrHj{)bioxET|u#YeMNR$#&(Gz z)6SyjKKs23313Bf(z|N3JSPUAFQ4TP%JNT-)X{&_Wre{CF%*? zf|g6l^`!%r_67(OhlvAxw1KoB>|Gl%BxzOMY5e>#^EL=x&ybK#%o|!p0{Q!=XlGDv z-*?tD852r!8Efwr-fg5@7$SV4DpVLA?aKyGD~F`&V}wDQq!F5=qP4+ifbf2ksFqB^W`p2%7n)aON>o+8aA{#C9yVIggTh} zNF;=S_g4qASNMxEa5s!T3U$Q#&8u|%j<`+jy<<#!Q6SW-=muG|ex2iG7 zP<5)&z_B;W1+oF1!ZvLzqfG5mzS7sPB&Kystod++hO`tyG!NTfJP#q7u9sXd@Ywgq zGLf|njW9TZMJMc|0aaFw08l`{JofmmJp2rJEg;B=Oi7YHjAad@%cu71Bl0Q1RXg3&; z&pJL}4}yoc6Vy3zlmHU0v>28;G5emIGwO$R>dt>-=*)#ZX^?tqF85^5c>W^y5u8)h ziYAU*&nr`NrCl)xM5tOFQp5Sosm55^xy1s4zN3@T(bcB+7p#0#QeK;*L~P0#sQm*2 z-jV|6^Z&BSfW8T~vv{Pfe4t7;39hMccfAPnDnYzZ_29rzgwrl}3N)EXa#WJB9nAF9 z6h;c0c^u>;3~*Yxt0l$AFZK-K@7L?z({ic9{&4)AD!f||PwrjMv>zJzL;$o&b7t0{Tru1%*8$r-Vj&Nj^NvT#=$n(lY?mx38ymL4QJH8 zg%WSe!!|P%k4oI7JMQa35#_{woSGZNr|!x<6A1OCXB*z=aB5G<{Co!ftX>L=Az7zk z@3P!;x?Ak1n2c{uHP~)c0`|_UnW8L&YiDdMgnzr!&xb#fsj&55rCN17t>k zD!@MEVmQ@c21wEkWgC1{tR1KwS4{J({`7fOGRioDt5))t8?{anLBK%9uIr%9&2_%(C1zeCayVxO)k%Huezi(b zXr*Jz^D-~sVRG?BaOo5Lw|hcPGwUh7Ok}D-rKu_IKM#8EvCn3wDOUd5XqOSYf-2ufNTBUM^<+Qr1oguLZXLm4Qr7lWxb8fA@6-Sdm3M*SC6x(xuP%@j!CzV1ky znC#9G3wYhzcD|ZCzFcmsUk`99jizS*xzaJlQ7Sy!+U_-5#LsSI{OWN%ww#on=%hce zL0oN#yu5YogiAxi&lef3G!=A0*7zbxDoJ3Ks`Sm`g>o@;l&mKy|s*tTr2rm+Tj@>4dL~;fltWFJ*I=xf_nwti$TlHbfUk zmZ(AYp0De($U7$&Gtc5#NujOckM({JyIQP?emSwTgaI}wQk>;Eq%CfbeihlH3Wwgf z7BeOER|^zb-}w&hV);yi56TGP zqW!_+t}o9df7$$HEAGsndwhFYl9EV$Z089k9BnHNxuRLo-T&>U;`KN|z{`8>d|AQa zEd!yDSCo5rh+pUd-n^r)sAm6s<9aT3a95MX(#WZ3$bJ;D!?YvM=E4xc1#uS7Jwj1% z`6K|zs7$T|lenAR77RNBJ>p->%xf13&9{4=>CCj#KoJN(X#6mwc!`KER_TMOVH>wSi|g+qng=JVb&g0Kg}(wJuFCISM-s$n&|qG^M1b zxaMfHQzS~7y9a1FuPzqU9maTjj;m3w5nEz~Xvm4Y=+`}bY_HV*_}lU?lVQ)>dGzEX zO)>={DkB?nkmlOInpiAYC`ay%8PW+JonGA`!Sk*Tw`%UAp7dk-2u?xt$^NP7ZklHXl{y|oa%fdsYgM%9*b8?7DS2wnHrSc=xIOms@G z(`^Vj5YTF)?(g&h zlTt{ZJ2yw8cWZk1vAPd>CQFFFb?5B^;;T`o@h$Fc~pJsAJ$6hx+iOxo83|M#mdBFj?ouD|D)$2w>>iy_64&L)Y{miTd+0(o=O zX*b@X&?8RMWw`+KlQcv=azjbPO|Zk;;o$Y-vD)=;jmN&}`E-JUVO3~6;!clE#jNQX zB%gS@n~M$Vb(>~w-Z z%BCHxI&6uI_lq#=Q+L#R7*7*!v6FK z`y+qyg^6i?dh*8mMOvM$dYvViAY=x`FZ zqhYk0yAHGoBQw(+EoOukGr!vxJAACa2@yy-VN*<89YL1o#fvy#51_i6IWf8TU>usB z`-8V<`d@W~1ONi$^WeS@SSw3ULf(@;OYrf2tE0cq6wmI186G3cVebXDjrn27q*MVD zMvSOnQ$1?VXQ%_|0KW#D{ZAT*}*dGuQ>JnFeyS$v``6+>VoJ_1+DvuO6i-$L_w z9eN$OYB=bb6;<7)$i3=tXh9}+ufQeHRzG8UsGU!w>8>L2vXi612Tasv_zp09Tbh%T zA2lsY#Vi;x6R$XWV{WMc(Gf3N4IGazp=Z$x>xhP77XcpR>&iG23V-nQsEt<4g1(PF z2{qaB-I8?A7SGIrwv)ZZ80M+*P>_@<>KdEN%8cQ2Zwj9=`nQU7?O6S0T2J}8?h_&N z4#6kwXkgewQaY-oVWjv8yLI^6Hc8b-+|Afr{X#=JY5>cey!8*cDfa)yVp?GiZ~!pi zQHhG!g8wf7C$k~qv_dps6%mfWlZeS2$b5RHfN&(m#9|>q?70Hy%X%2Q@lh^FNmW4b zpj2}&p1cG80;B9G)jYfs711F)fWqr9iKf^XUC5YjUhYsIgwO>2nEH~>YvPAEb%2!Z zInYn}J|x4wzsp1?JwhmAGOPm&n&j0^UH@H$ozgFd>wrQuJ7@)ODNP3S zZv=!SI$~pNAy1uUvrCPut?(!TFgI!yLltwP?ONEs8x(HghzX~mG)>lyOQ|dJ=+~er zLT@Q|J|fLGNLbshYW;hLo{|Ib43{5?WAz;Jc#1S|06H~i)mA(llr z`r;iO8{-LS>%>Qs`%>5U4L96}9vE^Fd9&&joTVQd5O#ob1mh7i562E{)sG#^(&W$? zDDO`Q6u+Q&sB`~_*nPQ>CCLY*TwPJyho$bJAW!voddaB^3z^o$0q8GV6$M6AVn-c5 z!hh`?D)7{3AQ-aiV(Dm5AohD1TiK(4EfFX%5p3aY5o{wR9L-&1{&oIWLF4k!21TGs zQt$Mi+9b_^W=ydO$ho>u)F9@g*ndOJFYZvA*e(TO!h@xuK@llAsCfen422;lRc55#WE|=e+od6PO-aU+G~K`K$X)mESR#P|m^LPaEv&7S*bzfLMf-mfK>Da0 z=pLe>DfIx?oQ&!=dt|wJ4Pb3yXIwfuXWqxPAmOX-vije{r5x%L+vOozZS)5;@V;D^ zgaC5^XR_}KK4oSkpj$n1oJq?8fNNAXEs39ftbvnK94`~_-X|M!M%5~;Cu;XV-S zaYi!PrC73~tIT+*a>q5GNJd)4K4V1i5CXt9={=j5q35S9VLM&HY6278qlp4994SV; z{0v)Vd`Lc<-YEAcPO5~IO*^ytit92|0vbfoQ0Ofy=%=ZQjCOxa)9w<^lax?Q^Tp0I z1;OxYp!N5`8J3TD`8U*`^b<`I?6xYdhzOA!Op4)4L^d@0efqL2f-5%3d@XRm*O(V; z*^sDWzKrs^OSv(=p-eRoJt$+M-O#jk^da>2;~#}PER7)V#&GJAy--bW+2@IK;NwZK zq*wtShG@w9Kt+dtAS>@zKWB>iz2!7<=P;QbB*e2O4saE)>dr#pIk(4DWIs+sM`<=x z0N-W82C`j2Mlnv8J;sgt$Lc$^bO_Z9J_({HG#t8^HfGwj5a5RxdLuT)KR%lk(Nyn+ zQm15}fA3$NBnQ@}TUtx1*GOZ?Q@DVaf*Ie)GM410>#wTW?3zShpCYL~|J*vQT(oZJX5`WrTO*tqq!$xTu3i;2zR!X(+#PrRlM7LM-9PcbmApdIzuP)I}4DuAZ z1BV@T9&1*a>gv1X3{Ez+g6z>uS|-DIq}B12;{Z*hQEiw{ai|2Tc>{+aA$vV8mWCc> zHTOQ2jsaD}Ur=$3k-#P}QveIR*i!PCHSNX1XL4dV&4ZOzIZN?$k9rybH$uML;AJsnQ8mAapeJUZe?9rAQ6E_a*`YBF!L0q=@u@6zNTBXwrL! z`{K-<@5lXr=iba@GD#+z-95X{DZ9@(E~0G`GaR?FdM!ggDF~1$u$sk>JD>Rlp7uOl ztm=sDwWdzvR*+yojzXbNZV+onOdr3t^oC#bFS>?ztOFGcONSSPPT`8*!W6NAb&t6O zRwU4jC-@{S+JsjYM2H8V5i5o181}8Y1O0y_Axy+bDlaesuzyRjSS9U6%^0%G1T+16 zi}5w%BMJU*$^>cjzuHY8$p0GY!si=-ba(x{+q1%=A_Y2n`VOG3p}Bef;rcN93{b-m zFfeeX$$2A0GBYzRr)wSe2VvysAUtBsN|tjfwTZ80WK>iKZ}e;OxZANwJa`+REQb}h z(-}j*>@#=qesj7`9d9QO7G`;}{UJ|<>YzfoMdH#L>`af$Qn6+5I1|FtQYS=SEHbr%#tL=p-#8qjF<2uL#9BMs7PhyF*+` zpb1tG(ABu&iVFCw|Aph(*}yv}@V&04n0Y&h)bra;^980Q5Ql=Ep6j9CVSspOU7x4a_sG3+d~*lhYDm0!^Vw$)UFStZnQ0Ye}2*|z+BATG|vEmYC7zMoSbsT zxx_>YQJ2M#aY{o211^is=!C;VHze#|6U2DD>nI&Py&e^wCf1v)xf|{-z@-YQb6M&{ zlfOHK)o)ZZG+GTXIYELT(Y-xAtUNpeTtN$WJ8jO7w^Z)_BjJQ%rynZy^!6^Ft>&gl zUGK%YUY@$#|3S$PPtLu>u)A)Q*F85h%$_@LW~Rxf&J8@FS-2}NFMmE69Zk~tZ!YAX z;1d@oGU7je#uR%}Qv7}>9$&{JUC1%>a??gCskGwzW2MXUpvr^mtBd86A2&^nXDeBM zi!9C!~BdNC|X?c|T0*QpRI@hIWjvh4E%Z_(wunS=pD^V7Z6)T0SZU zA}2qc+_^*dQdv$$$C_$D{2;nnV-jo8^Zamqzt`kii;7!+TFeKNOM*6Nm;%Td#XpsLhGeU+5wS=hTU%w1 z&Lz(D zlLw+n0!ZU-w&)v$jvY#MaY(Ux?%2u70MHEeRxHql8dFdh2`#hK)w=rftj|u$$B(Rz zd5vam_*=|%-UlmA&wzCmK{D@0dJ<*zSoxbN2$zuS^jzk$b%S^>3Rft6Jd~K4X#eSI ze-0NPA79Qh{GI~fYVCS)?pV7>!=DPX`{9)Dg`FAOAV60LU7wgzwh?ab025J@Dh64l zBr>HC+8qt9I~jO){Z;(>bm>+20;zNvRJ;!S16*o^6(VRJbaPlN`nxwhMi`E4&he*c-Ag0@sN01tkTzgeSKyO!Ncn$8+*!!vRJD9V%7}C zjjg1u4B%sF5ac(0W934HKjrpP(i*U-0f2~*b!t9aIbigs0_oum4-K_G!>7pkau=VF zizBesqKj;@+Ac{oomU3hd}^+&qy(zx{(J0y_*>C+bAs>6kZG6I($eyiA~j#X2W9bh!7gy3~>5I}2 z3MmoN@w>qy(Hy~XD&{(=2lAZ{+f7(Vv*@2e}RMc=Nt zhdgnT=e8PNIIS!i>J->C472(a!@$4ISPjmDK*FDX^pj;{d|_Cs%tSQGtaT7Q5sf=6 zC4Emy+GgOgAiJC}#A0e7r9=m-f^ zgII2d0jP9|TWY1!y`ZXu$;nAG1|0F0O?<^xtbg=MiqOX0R$_fW_L=sMj!+*ED^cD* z_dOr1W6}~8ZyUn*KY5ujCZ!2J;tvJ);AUodn3a|DD@H-T-!s@ZUBnCvgA}5?F4(#9 zr51w|6Q3MYH0dX(eW@y2{xczFczZTQO5B{B356 zPO$=YP4)p?t3AtD>WbSa6=W)!1N0%)JMz8kj111NHUpByF8}1>3JlT=k8#Stxk*=| z)_%MqWoT%~iKmzH;X|IK&X}azO=R7lJz3uM&lDMGGdJZNPsKD&~NkD+_>t16yn$ZLqvTNtN?rhmi@mETuul#r0nyaxZG zCNfIJ^5*&~F)4`!z}t;ulxPmz&dG@i&_|VH6W`sl1O!HU0f1%`5~`i*Cku-rr5}$l$A9eLSD302|wMf3B9({pSryL>%f92egC_<5sBR zI#fO+jN0fZG7I<3SWUJW7sZ^?!a{l9bEEi}m+%cRCe$6>yCkJ2-x+xXEw5zK4pr`E z@QwVv-=Y|4q=j(quKp>6a_I{N4=F!aQL$R>H*#HUC%m6Y6(#Q=l=ZQwsAs1B4V#!) zFINa8xwq%J)m*cmdEK<-+92dyEUXOzzz_u`B?~7fCnWTsK42+F+*|8*scIL)lL#q0 z>%KW^YbRk=7zCo^;P9;i2Ju7I>Ohs8az9lLUi%yC=b#Yr3H?)HbIo`P+A{pF+>B2>P_N zApHKHkcORv6d)L13V*3w*Zm zENrve9X+(8&&Hi+V`2}eQhZ|*FSWRbQcwWKAKNZ1QR-kA#l4jDDlRnudxeKZF;+(g zWF}@i$b_h}L=jnPuj##b(R+SGKk`Q0=h)$Xf)QT3yRL2x(ac!DDPVKFcgjsqA6Zzs zHFN)tmRe1GG5agidHs*BsM)%EP33LsuNq%`PwEUQCH+NER4yA@*EL}cq()L}G=_uJ z9dIC94eU>K?l22>Zj+Vs{`BdC-wo>pH;ghk-CZLTtV2!Dh}pZ+y=q+A%+JFgb}c)X z^pCR`6{go3HdS(LQgUSRr;0$mm2{3pgGsLj{nou}rAC%iQy}jQN1uciGE05yhY~AH zvqHxFv|gz5TW%>8U+xfvHD1=k9+6i+_broeV<{p>MUE~uTZe;u`+J3M8k_!;_PblgJSJ~tC#`;f9nN=#oXRGh8lv+&HvkXQ99Aobnfo? z17FW_Na*dHWUY^r-vmcW@|d_ZtR`#E{#j41s}r*v*7TgQSIC!d`U1A@^$@ijl?+p* z0Xgp@tn{XByV(hHs`$n^uM(fou@FC|Cz(uKO|)vr-rpt*d%(@7LsP^qJM;ePvUwQl zZIK0&-~COI)_57JO_uF~-c>Cn>P`FM*4>Ytrb=gv^>&8iq-u=l@tKZ@#4iD8Gc^V)fn%qlUtF0Q1OkO2Bz7 zXnj3&5HB<|H1YlW3Z4KBf)Hs_F<<=IB^&}WB{Q=GqWR2BI#O7GBJKMH1~HG%r>g4e z2V(v%E~ril3n^t~WeALn>E%L3U!Oz~^8*V<(&&wm678W%6RAq+u5=YbFpBqXm+`{=nz1k-f6TuIgomot-mfJ(JFl`_0sb?+^OF(0?LP1im zhd6h9x05S>Rrd(<#3o=wPRL@Z8Z6JKiXB9^6N{`9&J|!qBws&|(_Bx-oqYd@LdQ?r zOpKQLRCmWGKKEjgi|ipiN`}*zt~Jl+&HD9l{_vj5o1QnM%OXWIOtTf>i!QI4#H3tv zmeY4Hv2FYD(Ag&?gV7G)7IN-LP1LKmqbl~Kh^7IyHvR>|T4mi}NWDDt==!@M@&UI1 ztKd%wL<{bMWhkU!-;iHu`Y&~Gljs1av$IE!+E>TJYak9eGB&2{=hxIZ%A5@Whqs}V z*n7X2wH2!8itJpZr07;T&-tUKEp(E{Mn*n!c!*>cqVDo_Sbb-ZdnEp|=!?KoXvb1Q zUvF;`AivMuo1fDc3KZWI*4FAhQceHRg-j3ao#@Xr3dlLK7obukx9$pAHnxG$M(AJ5ozfY)k8Ba3KZr)i2qEG}H! z#ip$D&Jrbf?`xQW)slaj!+__y#{|3h_%!^Rn-nz}>TMeo@G(enIYRQiWa;$xU72y2 z2Hy~u;=0)D7XzX~0~m)Xh|^QPHRN*NC5-z-Uy(69(`kDWZ;D^}#mhWSQw@8%xUkT3 z(%TF;cd2&?^ZwQ}6Gd%OVor_i54g2j2t=OoEMOV-lp(&lWpnA34GzWuo-sdux*G@( z$AU&Pj#Ab3YB~`7qxXc4*x^2!n-8O! zqTRDGv)r}cOH$$tF0ps@5r$+^t5^5bwn1Y~n*2W-5tWimz8PX;sVe7(PB%T#)38&r zD)0VutrsIE^z#SPA<`0o(J9F@!?v#H#n@XuQqEee2((Br&?^{~nux&#RSJ1#juVglhYvMxTM6JIS9rX$JCR?iKEH)!X33M~ zcqqHn+?+jP4<}KovrUOgZJ7XU;6$GujfFX*c@b@Vgw>X0@h10cG+wY{RYMEgo(mOi zmLuV3G8s^W@qC8b^XED|9OlLilwJtMXqt-q>|g_W>TyMjpu2D56Mokj#F3H^CbO*>mxhkFh|wj7UdI|W`&f2#j>d^Ky-jKo|~?*Zo?vv(o# za#gI)e>(rojJ$M%x*C8!V-Tkd35K_#< zt@FF^$iZ#lQdP29&`#yJ?~Y7<5ur-wkibT{$!`{*i(jN)_@Onv^9~P(coK2fOF?nd z4#qH~R5YV$f?0;m4>$s?w-xSjnhfbuF`Cu;bxP8cb^jhcKkKmTwz4r5kezRY5lKBs zoeWn|rV!P9rKI&RO0TkoxUdI&{zYPL(%NCG%uH`R4Z6Q#9hQnbAPo%&P#ldcmUQVB zo6eTOmI8lWaY5uj0{vI7OY~y2C5_Cw_l@8s71SA-7LM80H@jiX&h$B ziom>#P*M4iry9$%`-yDbJ|z!9b>>y9LNV`{<20;g`RMdSSKGn$FdFuLZeBxue~={V z`rR^PaVP7X*FycfD<*%&q20HG+BnoU=iAblHjFPr&6h}KTSVQwcLWm*=A@3@FAQPV`zYA^mrL=Y1%}T!rL`W&9kO5KXla;t_q}o87bsZv zW@WrT`6<$jW@wKcgQ)N7Bf2;@>4X#ym*a<=j zO@9A@s8W1cgL%Pppg2|d*F53GQ)GE`;K5(Q&;khCZ|1qi5$M;jTpxa%#mKJXx*j|W z?y8e?$iRpQCbm9bjf*LIC)<%aZ6Ur-(Wq+ugGvg=17-^X1g41C(Xn$}wuR@t>9AZ& zU9(%y5Gh<)+4ZmJh+uf+bp!PTCUWn1tmCu1C0Z_PvtQV93!3(TgBL^aVzOp4gHZMf z*wqE|O{EiF*AwqX=Pawl3ohm`5%N0^ohmaQc;BR7j)ivFu5ClA<~-Bw1da-<6$M5J z871CUBkxPA=87h9r#p>=j z&C~Slh5_-jR|T;#^ul)H{OtnmP>OwDd66mMIC^1tZ;_0^DuyIgK8i~7PLhWi-#4eh zQkkfE2|RerZ-x}Bqk|!UAkxYdd#?d-?=QIcMEaOT{mTCmD&$XftCkAqks2hA(@o`Y zKmE;|gs%@v&6hb5Y)4b+($kSgPnd#q+G#F2NAnZqoFY`3O03ZWb0~-d)}pt5Y#*11 z<|trhs${)pk~6cEiXz#vKk~<4b@@KzCpkgY#V|FVzxREsCQfMuX7e2uy8Wgl{ml@! z{sv9!sBj3Zj@x71M}%D4a%p1i6iL@@yNR{8krf@@N%PKl`bqAl2fFRW^m5OhN9qwI zq#7jq5d1jcrKy`V4#$1usiBu1PEz|Xg}b{S7OjH#Eq0lgPQZ2H^vC5@0lXoC_G7kq zA9|q%AB`t#13tD~&tEx4U@(?{sAEGb+`-?#6Duglw?8iZ?sPqOAI>RC1)~54Y8wg+ zuhS~ z4L-iV$44bPj)ZYY-aSQxU(CH*i@#o{^2S7_e;~XA2?@bQHCR93Z7f-x%IQnS0@9uU z*+}kfjFk^-gk(Im@j#r^#YPja+IDi))s*9A<3P%PfvzT+j9+Av zH`cox_tWc{>}8p3C$0*MT5f2j5pAe+O;!it0W(AZYKskFs}8BO4Ve#l;W1sirH>>z z^3=Rq@QpHgW4Kj*p|YUzj0gx~nzbI{vzR&mq{$L$wJni&3JJ;PnOCcscKmxLFKgr@ z`w$c%K!Yu#lrBBv3j3M|b?{0 Date: Mon, 10 Apr 2023 00:03:45 +0200 Subject: [PATCH 11/11] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1a73dd5d..12cc3115 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,15 @@ Ensuite, il y a une autre page contenant la liste des villes de l'API. L'utilisa

+ + +## ScreenShots + +
+home_page +city_list +search_screen +
\ No newline at end of file