diff --git a/Dockerfile b/Dockerfile index 5239e66..7e1dd95 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -# Buster slim python 3.9 base image. -FROM python:3.9-slim-buster +# Buster slim python 3.12 base image. +FROM python:3.12-slim-bookworm ENV HTTP_PORT 8080 RUN groupadd -r geoadmin && useradd -r -s /bin/false -g geoadmin geoadmin diff --git a/Pipfile b/Pipfile index 810508e..8c7783c 100644 --- a/Pipfile +++ b/Pipfile @@ -4,14 +4,14 @@ verify_ssl = true name = "pypi" [packages] -PyYAML = "~=5.4.1" -gevent = "~=21.1.2" -gunicorn = "~=20.1.0" -Flask = "~=2.0.1" -Pillow = "~=9.0.1" -python-dotenv = "~=0.17.0" -logging-utilities = "~=3.0" -werkzeug = "~=2.2" +PyYAML = "~=6.0.2" +gevent = "~=24.2.1" +gunicorn = "~=23.0.0" +Flask = "~=3.0.3" +pillow = "~=10.4.0" +python-dotenv = "~=1.0.1" +logging-utilities = "~=4.5.0" +werkzeug = "~=3.0.4" [dev-packages] yapf = "*" @@ -21,4 +21,4 @@ pylint-flask = "*" cairosvg = "*" [requires] -python_version = "3.9" +python_version = "3.12" diff --git a/Pipfile.lock b/Pipfile.lock index 2c99006..b4a44ec 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "da0e78733155855f71e19159971e66fcfc8e4eba40d9854881a799ce8f86bb74" + "sha256": "b50a8e1719f5185dff124d8ced4f6dff6616c6e0745ea80555ec5879684e1d09" }, "pipfile-spec": 6, "requires": { - "python_version": "3.9" + "python_version": "3.12" }, "sources": [ { @@ -16,6 +16,14 @@ ] }, "default": { + "blinker": { + "hashes": [ + "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01", + "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83" + ], + "markers": "python_version >= '3.8'", + "version": "==1.8.2" + }, "click": { "hashes": [ "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", @@ -26,315 +34,403 @@ }, "flask": { "hashes": [ - "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f", - "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d" + "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3", + "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842" ], - "index": "pypi", - "version": "==2.0.3" + "markers": "python_version >= '3.8'", + "version": "==3.0.3" }, "gevent": { "hashes": [ - "sha256:16574e4aa902ebc7bad564e25aa9740a82620fdeb61e0bbf5cbc32e84c13cb6a", - "sha256:188c3c6da67e17ffa28f960fc80f8b7e4ba0f4efdc7519822c9d3a1784ca78ea", - "sha256:1e5af63e452cc1758924528a2ba6d3e472f5338e1534b7233cd01d3429fc1082", - "sha256:242e32cc011ad7127525ca9181aef3379ce4ad9c733aefe311ecf90248ad9a6f", - "sha256:2a9ae0a0fd956cbbc9c326b8f290dcad2b58acfb2e2732855fe1155fb110a04d", - "sha256:33741e3cd51b90483b14f73b6a3b32b779acf965aeb91d22770c0c8e0c937b73", - "sha256:3694f393ab08372bd337b9bc8eebef3ccab3c1623ef94536762a1eee68821449", - "sha256:464ec84001ba5108a9022aded4c5e69ea4d13ef11a2386d3ec37c1d08f3074c9", - "sha256:520cc2a029a9eef436e4e56b007af7859315cafa21937d43c1d5269f12f2c981", - "sha256:77b65a68c83e1c680f52dc39d5e5406763dd10a18ce08420665504b6f047962e", - "sha256:7bdfee07be5eee4f687bf90c54c2a65c909bcf2b6c4878faee51218ffa5d5d3e", - "sha256:969743debf89d6409423aaeae978437cc042247f91f5801e946a07a0a3b59148", - "sha256:96f704561a9dd9a817c67f2e279e23bfad6166cf95d63d35c501317e17f68bcf", - "sha256:9f99c3ec61daed54dc074fbcf1a86bcf795b9dfac2f6d4cdae6dfdb8a9125692", - "sha256:a130a1885603eabd8cea11b3e1c3c7333d4341b537eca7f0c4794cb5c7120db1", - "sha256:a54b9c7516c211045d7897a73a4ccdc116b3720c9ad3c591ef9592b735202a3b", - "sha256:ac98570649d9c276e39501a1d1cbf6c652b78f57a0eb1445c5ff25ff80336b63", - "sha256:afaeda9a7e8e93d0d86bf1d65affe912366294913fe43f0d107145dc32cd9545", - "sha256:b6ffc1131e017aafa70d7ec19cc24010b19daa2f11d5dc2dc191a79c3c9ea147", - "sha256:ba0c6ad94614e9af4240affbe1b4839c54da5a0a7e60806c6f7f69c1a7f5426e", - "sha256:bdb3677e77ab4ebf20c4752ac49f3b1e47445678dd69f82f9905362c68196456", - "sha256:c2c4326bb507754ef354635c05f560a217c171d80f26ca65bea81aa59b1ac179", - "sha256:cfb2878c2ecf27baea436bb9c4d8ab8c2fa7763c3916386d5602992b6a056ff3", - "sha256:e370e0a861db6f63c75e74b6ee56a40f5cdac90212ec404621445afa12bfc94b", - "sha256:e8a5d9fcf5d031f2e4c499f5f4b53262face416e22e8769078354f641255a663", - "sha256:ecff28416c99e0f73137f35849c3027cc3edde9dc13b7707825ebbf728623928", - "sha256:f0498df97a303da77e180a9368c9228b0fc94d10dd2ce79fc5ebb63fec0d2fc9", - "sha256:f91fd07b9cf642f24e58ed381e19ec33e28b8eee8726c19b026ea24fcc9ff897" + "sha256:03aa5879acd6b7076f6a2a307410fb1e0d288b84b03cdfd8c74db8b4bc882fc5", + "sha256:117e5837bc74a1673605fb53f8bfe22feb6e5afa411f524c835b2ddf768db0de", + "sha256:141a2b24ad14f7b9576965c0c84927fc85f824a9bb19f6ec1e61e845d87c9cd8", + "sha256:14532a67f7cb29fb055a0e9b39f16b88ed22c66b96641df8c04bdc38c26b9ea5", + "sha256:1dffb395e500613e0452b9503153f8f7ba587c67dd4a85fc7cd7aa7430cb02cc", + "sha256:2955eea9c44c842c626feebf4459c42ce168685aa99594e049d03bedf53c2800", + "sha256:2ae3a25ecce0a5b0cd0808ab716bfca180230112bb4bc89b46ae0061d62d4afe", + "sha256:2e9ac06f225b696cdedbb22f9e805e2dd87bf82e8fa5e17756f94e88a9d37cf7", + "sha256:368a277bd9278ddb0fde308e6a43f544222d76ed0c4166e0d9f6b036586819d9", + "sha256:3adfb96637f44010be8abd1b5e73b5070f851b817a0b182e601202f20fa06533", + "sha256:3d5325ccfadfd3dcf72ff88a92fb8fc0b56cacc7225f0f4b6dcf186c1a6eeabc", + "sha256:432fc76f680acf7cf188c2ee0f5d3ab73b63c1f03114c7cd8a34cebbe5aa2056", + "sha256:44098038d5e2749b0784aabb27f1fcbb3f43edebedf64d0af0d26955611be8d6", + "sha256:5a1df555431f5cd5cc189a6ee3544d24f8c52f2529134685f1e878c4972ab026", + "sha256:6c47ae7d1174617b3509f5d884935e788f325eb8f1a7efc95d295c68d83cce40", + "sha256:6f947a9abc1a129858391b3d9334c45041c08a0f23d14333d5b844b6e5c17a07", + "sha256:782a771424fe74bc7e75c228a1da671578c2ba4ddb2ca09b8f959abdf787331e", + "sha256:7899a38d0ae7e817e99adb217f586d0a4620e315e4de577444ebeeed2c5729be", + "sha256:7b00f8c9065de3ad226f7979154a7b27f3b9151c8055c162332369262fc025d8", + "sha256:8f4b8e777d39013595a7740b4463e61b1cfe5f462f1b609b28fbc1e4c4ff01e5", + "sha256:90cbac1ec05b305a1b90ede61ef73126afdeb5a804ae04480d6da12c56378df1", + "sha256:918cdf8751b24986f915d743225ad6b702f83e1106e08a63b736e3a4c6ead789", + "sha256:9202f22ef811053077d01f43cc02b4aaf4472792f9fd0f5081b0b05c926cca19", + "sha256:94138682e68ec197db42ad7442d3cf9b328069c3ad8e4e5022e6b5cd3e7ffae5", + "sha256:968581d1717bbcf170758580f5f97a2925854943c45a19be4d47299507db2eb7", + "sha256:9d8d0642c63d453179058abc4143e30718b19a85cbf58c2744c9a63f06a1d388", + "sha256:a7ceb59986456ce851160867ce4929edaffbd2f069ae25717150199f8e1548b8", + "sha256:b9913c45d1be52d7a5db0c63977eebb51f68a2d5e6fd922d1d9b5e5fd758cc98", + "sha256:bde283313daf0b34a8d1bab30325f5cb0f4e11b5869dbe5bc61f8fe09a8f66f3", + "sha256:bf5b9c72b884c6f0c4ed26ef204ee1f768b9437330422492c319470954bc4cc7", + "sha256:ca80b121bbec76d7794fcb45e65a7eca660a76cc1a104ed439cdbd7df5f0b060", + "sha256:cdf66977a976d6a3cfb006afdf825d1482f84f7b81179db33941f2fc9673bb1d", + "sha256:d4faf846ed132fd7ebfbbf4fde588a62d21faa0faa06e6f468b7faa6f436b661", + "sha256:d7f87c2c02e03d99b95cfa6f7a776409083a9e4d468912e18c7680437b29222c", + "sha256:dd23df885318391856415e20acfd51a985cba6919f0be78ed89f5db9ff3a31cb", + "sha256:f5de3c676e57177b38857f6e3cdfbe8f38d1cd754b63200c0615eaa31f514b4f", + "sha256:f5e8e8d60e18d5f7fd49983f0c4696deeddaf6e608fbab33397671e2fcc6cc91", + "sha256:f7cac622e11b4253ac4536a654fe221249065d9a69feb6cdcd4d9af3503602e0", + "sha256:f8a04cf0c5b7139bc6368b461257d4a757ea2fe89b3773e494d235b7dd51119f", + "sha256:f8bb35ce57a63c9a6896c71a285818a3922d8ca05d150fd1fe49a7f57287b836", + "sha256:fbfdce91239fe306772faab57597186710d5699213f4df099d1612da7320d682" ], "index": "pypi", - "version": "==21.1.2" + "markers": "python_version >= '3.8'", + "version": "==24.2.1" }, "greenlet": { "hashes": [ - "sha256:0120a879aa2b1ac5118bce959ea2492ba18783f65ea15821680a256dfad04754", - "sha256:025b8de2273d2809f027d347aa2541651d2e15d593bbce0d5f502ca438c54136", - "sha256:05ae7383f968bba4211b1fbfc90158f8e3da86804878442b4fb6c16ccbcaa519", - "sha256:0914f02fcaa8f84f13b2df4a81645d9e82de21ed95633765dd5cc4d3af9d7403", - "sha256:0971d37ae0eaf42344e8610d340aa0ad3d06cd2eee381891a10fe771879791f9", - "sha256:0a954002064ee919b444b19c1185e8cce307a1f20600f47d6f4b6d336972c809", - "sha256:0aa1845944e62f358d63fcc911ad3b415f585612946b8edc824825929b40e59e", - "sha256:104f29dd822be678ef6b16bf0035dcd43206a8a48668a6cae4d2fe9c7a7abdeb", - "sha256:11fc7692d95cc7a6a8447bb160d98671ab291e0a8ea90572d582d57361360f05", - "sha256:17a69967561269b691747e7f436d75a4def47e5efcbc3c573180fc828e176d80", - "sha256:2794eef1b04b5ba8948c72cc606aab62ac4b0c538b14806d9c0d88afd0576d6b", - "sha256:2c6e942ca9835c0b97814d14f78da453241837419e0d26f7403058e8db3e38f8", - "sha256:2ccdc818cc106cc238ff7eba0d71b9c77be868fdca31d6c3b1347a54c9b187b2", - "sha256:325f272eb997916b4a3fc1fea7313a8adb760934c2140ce13a2117e1b0a8095d", - "sha256:39464518a2abe9c505a727af7c0b4efff2cf242aa168be5f0daa47649f4d7ca8", - "sha256:3a24f3213579dc8459e485e333330a921f579543a5214dbc935bc0763474ece3", - "sha256:3aeac044c324c1a4027dca0cde550bd83a0c0fbff7ef2c98df9e718a5086c194", - "sha256:3c22998bfef3fcc1b15694818fc9b1b87c6cc8398198b96b6d355a7bcb8c934e", - "sha256:467b73ce5dcd89e381292fb4314aede9b12906c18fab903f995b86034d96d5c8", - "sha256:4a8b58232f5b72973350c2b917ea3df0bebd07c3c82a0a0e34775fc2c1f857e9", - "sha256:4f74aa0092602da2069df0bc6553919a15169d77bcdab52a21f8c5242898f519", - "sha256:5662492df0588a51d5690f6578f3bbbd803e7f8d99a99f3bf6128a401be9c269", - "sha256:5c2d21c2b768d8c86ad935e404cc78c30d53dea009609c3ef3a9d49970c864b5", - "sha256:5edf75e7fcfa9725064ae0d8407c849456553a181ebefedb7606bac19aa1478b", - "sha256:60839ab4ea7de6139a3be35b77e22e0398c270020050458b3d25db4c7c394df5", - "sha256:62723e7eb85fa52e536e516ee2ac91433c7bb60d51099293671815ff49ed1c21", - "sha256:64e10f303ea354500c927da5b59c3802196a07468332d292aef9ddaca08d03dd", - "sha256:66aa4e9a726b70bcbfcc446b7ba89c8cec40f405e51422c39f42dfa206a96a05", - "sha256:695d0d8b5ae42c800f1763c9fce9d7b94ae3b878919379150ee5ba458a460d57", - "sha256:70048d7b2c07c5eadf8393e6398595591df5f59a2f26abc2f81abca09610492f", - "sha256:7afa706510ab079fd6d039cc6e369d4535a48e202d042c32e2097f030a16450f", - "sha256:7cf37343e43404699d58808e51f347f57efd3010cc7cee134cdb9141bd1ad9ea", - "sha256:8149a6865b14c33be7ae760bcdb73548bb01e8e47ae15e013bf7ef9290ca309a", - "sha256:814f26b864ed2230d3a7efe0336f5766ad012f94aad6ba43a7c54ca88dd77cba", - "sha256:82a38d7d2077128a017094aff334e67e26194f46bd709f9dcdacbf3835d47ef5", - "sha256:83a7a6560df073ec9de2b7cb685b199dfd12519bc0020c62db9d1bb522f989fa", - "sha256:8415239c68b2ec9de10a5adf1130ee9cb0ebd3e19573c55ba160ff0ca809e012", - "sha256:88720794390002b0c8fa29e9602b395093a9a766b229a847e8d88349e418b28a", - "sha256:890f633dc8cb307761ec566bc0b4e350a93ddd77dc172839be122be12bae3e10", - "sha256:8926a78192b8b73c936f3e87929931455a6a6c6c385448a07b9f7d1072c19ff3", - "sha256:8c0581077cf2734569f3e500fab09c0ff6a2ab99b1afcacbad09b3c2843ae743", - "sha256:8fda1139d87ce5f7bd80e80e54f9f2c6fe2f47983f1a6f128c47bf310197deb6", - "sha256:91a84faf718e6f8b888ca63d0b2d6d185c8e2a198d2a7322d75c303e7097c8b7", - "sha256:924df1e7e5db27d19b1359dc7d052a917529c95ba5b8b62f4af611176da7c8ad", - "sha256:949c9061b8c6d3e6e439466a9be1e787208dec6246f4ec5fffe9677b4c19fcc3", - "sha256:9649891ab4153f217f319914455ccf0b86986b55fc0573ce803eb998ad7d6854", - "sha256:96656c5f7c95fc02c36d4f6ef32f4e94bb0b6b36e6a002c21c39785a4eec5f5d", - "sha256:a812df7282a8fc717eafd487fccc5ba40ea83bb5b13eb3c90c446d88dbdfd2be", - "sha256:a8d24eb5cb67996fb84633fdc96dbc04f2d8b12bfcb20ab3222d6be271616b67", - "sha256:bef49c07fcb411c942da6ee7d7ea37430f830c482bf6e4b72d92fd506dd3a427", - "sha256:bffba15cff4802ff493d6edcf20d7f94ab1c2aee7cfc1e1c7627c05f1102eee8", - "sha256:c0643250dd0756f4960633f5359884f609a234d4066686754e834073d84e9b51", - "sha256:c6f90234e4438062d6d09f7d667f79edcc7c5e354ba3a145ff98176f974b8132", - "sha256:c8c9301e3274276d3d20ab6335aa7c5d9e5da2009cccb01127bddb5c951f8870", - "sha256:c8ece5d1a99a2adcb38f69af2f07d96fb615415d32820108cd340361f590d128", - "sha256:cb863057bed786f6622982fb8b2c122c68e6e9eddccaa9fa98fd937e45ee6c4f", - "sha256:ccbe7129a282ec5797df0451ca1802f11578be018a32979131065565da89b392", - "sha256:d25cdedd72aa2271b984af54294e9527306966ec18963fd032cc851a725ddc1b", - "sha256:d75afcbb214d429dacdf75e03a1d6d6c5bd1fa9c35e360df8ea5b6270fb2211c", - "sha256:d7815e1519a8361c5ea2a7a5864945906f8e386fa1bc26797b4d443ab11a4589", - "sha256:eb6ac495dccb1520667cfea50d89e26f9ffb49fa28496dea2b95720d8b45eb54", - "sha256:ec615d2912b9ad807afd3be80bf32711c0ff9c2b00aa004a45fd5d5dde7853d9", - "sha256:f5e09dc5c6e1796969fd4b775ea1417d70e49a5df29aaa8e5d10675d9e11872c", - "sha256:f6661b58412879a2aa099abb26d3c93e91dedaba55a6394d1fb1512a77e85de9", - "sha256:f7d20c3267385236b4ce54575cc8e9f43e7673fc761b069c820097092e318e3b", - "sha256:fe7c51f8a2ab616cb34bc33d810c887e89117771028e1e3d3b77ca25ddeace04" - ], - "markers": "platform_python_implementation == 'CPython'", - "version": "==1.1.3.post0" + "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67", + "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6", + "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", + "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4", + "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676", + "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61", + "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc", + "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca", + "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7", + "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728", + "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305", + "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6", + "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379", + "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414", + "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04", + "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", + "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf", + "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", + "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559", + "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e", + "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274", + "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", + "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b", + "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9", + "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b", + "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be", + "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506", + "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", + "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113", + "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", + "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5", + "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230", + "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d", + "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f", + "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", + "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e", + "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61", + "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", + "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d", + "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", + "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22", + "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2", + "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3", + "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067", + "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc", + "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", + "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3", + "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e", + "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", + "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", + "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0", + "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", + "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", + "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41", + "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c", + "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf", + "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da", + "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33" + ], + "markers": "python_version >= '3.11' and platform_python_implementation == 'CPython'", + "version": "==3.0.3" }, "gunicorn": { "hashes": [ - "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e", - "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8" + "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", + "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec" ], "index": "pypi", - "version": "==20.1.0" + "markers": "python_version >= '3.7'", + "version": "==23.0.0" }, "itsdangerous": { "hashes": [ - "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", - "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a" + "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", + "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173" ], - "markers": "python_version >= '3.7'", - "version": "==2.1.2" + "markers": "python_version >= '3.8'", + "version": "==2.2.0" }, "jinja2": { "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" + "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", + "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d" ], "markers": "python_version >= '3.7'", - "version": "==3.1.2" + "version": "==3.1.4" }, "logging-utilities": { "hashes": [ - "sha256:39ca6b4d840a17c81cfbd21540cf57d4a1c134ae307ffa538c6a619565967284", - "sha256:5545d2208b4ffe72ebc50d469297f0b40bd000765bfb6f4a9b6976335e82bc27" + "sha256:0f88c3ddf33a7e81da20839667a9bedadfe22de6f9087c801aa1f582b89b4c93", + "sha256:d96b6910d0a1c26216bca893c11d66c0a8a61113af44cd908b2e4f4ae569e067" ], "index": "pypi", - "version": "==3.1.3" + "markers": "python_version >= '3.0'", + "version": "==4.5.0" }, "markupsafe": { "hashes": [ - "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e", - "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e", - "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", - "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", - "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c", - "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", - "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc", - "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb", - "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939", - "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c", - "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0", - "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4", - "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", - "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", - "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba", - "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d", - "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd", - "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3", - "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", - "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155", - "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", - "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", - "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", - "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8", - "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b", - "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007", - "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24", - "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea", - "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198", - "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0", - "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee", - "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be", - "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2", - "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1", - "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707", - "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", - "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c", - "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58", - "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823", - "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", - "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636", - "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", - "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", - "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", - "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc", - "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", - "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48", - "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", - "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e", - "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b", - "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", - "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5", - "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e", - "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", - "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", - "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", - "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", - "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc", - "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2", - "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11" + "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", + "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", + "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", + "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", + "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", + "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", + "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", + "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df", + "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", + "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", + "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", + "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", + "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", + "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371", + "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2", + "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", + "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52", + "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", + "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", + "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", + "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", + "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", + "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", + "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", + "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", + "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", + "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", + "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", + "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", + "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9", + "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", + "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", + "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", + "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", + "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", + "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", + "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a", + "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", + "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", + "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", + "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", + "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", + "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", + "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", + "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", + "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f", + "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50", + "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", + "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", + "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", + "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", + "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", + "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", + "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", + "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf", + "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", + "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", + "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", + "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", + "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68" ], "markers": "python_version >= '3.7'", - "version": "==2.1.3" + "version": "==2.1.5" + }, + "packaging": { + "hashes": [ + "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", + "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" + ], + "markers": "python_version >= '3.8'", + "version": "==24.1" }, "pillow": { "hashes": [ - "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97", - "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049", - "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c", - "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae", - "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28", - "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030", - "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56", - "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976", - "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e", - "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e", - "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f", - "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b", - "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a", - "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e", - "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa", - "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7", - "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00", - "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838", - "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360", - "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b", - "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a", - "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd", - "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4", - "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70", - "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204", - "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc", - "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b", - "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669", - "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7", - "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e", - "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c", - "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092", - "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c", - "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5", - "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac" + "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", + "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", + "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", + "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", + "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", + "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", + "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", + "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", + "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", + "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", + "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", + "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", + "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", + "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", + "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", + "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", + "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", + "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", + "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", + "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", + "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", + "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", + "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", + "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", + "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", + "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", + "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", + "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", + "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", + "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", + "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", + "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", + "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", + "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", + "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", + "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", + "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", + "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", + "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", + "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", + "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", + "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", + "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", + "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", + "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", + "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", + "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", + "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", + "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", + "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", + "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", + "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", + "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", + "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", + "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", + "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", + "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", + "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", + "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", + "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", + "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", + "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", + "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", + "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", + "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", + "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", + "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", + "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", + "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", + "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", + "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", + "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", + "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", + "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", + "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", + "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", + "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", + "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", + "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", + "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1" ], "index": "pypi", - "version": "==9.0.1" + "markers": "python_version >= '3.8'", + "version": "==10.4.0" }, "python-dotenv": { "hashes": [ - "sha256:00aa34e92d992e9f8383730816359647f358f4a3be1ba45e5a5cefd27ee91544", - "sha256:b1ae5e9643d5ed987fc57cc2583021e38db531946518130777734f9589b3141f" + "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", + "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a" ], "index": "pypi", - "version": "==0.17.1" + "markers": "python_version >= '3.8'", + "version": "==1.0.1" }, "pyyaml": { "hashes": [ - "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", - "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696", - "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393", - "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77", - "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922", - "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5", - "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8", - "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10", - "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc", - "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018", - "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e", - "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253", - "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347", - "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183", - "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541", - "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb", - "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185", - "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc", - "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db", - "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa", - "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46", - "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122", - "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b", - "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63", - "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df", - "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc", - "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247", - "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6", - "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0" + "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", + "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", + "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", + "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", + "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", + "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", + "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", + "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", + "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", + "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", + "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", + "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", + "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", + "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", + "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", + "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", + "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", + "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", + "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", + "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", + "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", + "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", + "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", + "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", + "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", + "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", + "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", + "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", + "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", + "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", + "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", + "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", + "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", + "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", + "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", + "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", + "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", + "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", + "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", + "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", + "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", + "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", + "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", + "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", + "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", + "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", + "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", + "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", + "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", + "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", + "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", + "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", + "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" ], - "index": "pypi", - "version": "==5.4.1" + "markers": "python_version >= '3.8'", + "version": "==6.0.2" }, "setuptools": { "hashes": [ - "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78" + "sha256:5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308", + "sha256:95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6" ], "markers": "python_version >= '3.8'", - "version": "==69.0.3" + "version": "==74.1.2" }, "werkzeug": { "hashes": [ - "sha256:554b257c74bbeb7a0d254160a4f8ffe185243f52a52035060b761ca62d977f03", - "sha256:bba1f19f8ec89d4d607a3bd62f1904bd2e609472d93cd85e9d4e178f472c3748" + "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c", + "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306" ], "index": "pypi", - "version": "==2.3.8" + "markers": "python_version >= '3.8'", + "version": "==3.0.4" }, "zope.event": { "hashes": [ @@ -346,63 +442,61 @@ }, "zope.interface": { "hashes": [ - "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff", - "sha256:13b7d0f2a67eb83c385880489dbb80145e9d344427b4262c49fbf2581677c11c", - "sha256:1f294a15f7723fc0d3b40701ca9b446133ec713eafc1cc6afa7b3d98666ee1ac", - "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f", - "sha256:2f8d89721834524a813f37fa174bac074ec3d179858e4ad1b7efd4401f8ac45d", - "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309", - "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736", - "sha256:387545206c56b0315fbadb0431d5129c797f92dc59e276b3ce82db07ac1c6179", - "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb", - "sha256:57d0a8ce40ce440f96a2c77824ee94bf0d0925e6089df7366c2272ccefcb7941", - "sha256:5a804abc126b33824a44a7aa94f06cd211a18bbf31898ba04bd0924fbe9d282d", - "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92", - "sha256:6af47f10cfc54c2ba2d825220f180cc1e2d4914d783d6fc0cd93d43d7bc1c78b", - "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41", - "sha256:70d2cef1bf529bff41559be2de9d44d47b002f65e17f43c73ddefc92f32bf00f", - "sha256:7ebc4d34e7620c4f0da7bf162c81978fce0ea820e4fa1e8fc40ee763839805f3", - "sha256:964a7af27379ff4357dad1256d9f215047e70e93009e532d36dcb8909036033d", - "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8", - "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3", - "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1", - "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1", - "sha256:a41f87bb93b8048fe866fa9e3d0c51e27fe55149035dcf5f43da4b56732c0a40", - "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d", - "sha256:ad54ed57bdfa3254d23ae04a4b1ce405954969c1b0550cc2d1d2990e8b439de1", - "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605", - "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7", - "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd", - "sha256:c9559138690e1bd4ea6cd0954d22d1e9251e8025ce9ede5d0af0ceae4a401e43", - "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0", - "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b", - "sha256:e441e8b7d587af0414d25e8d05e27040d78581388eed4c54c30c0c91aad3a379", - "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a", - "sha256:ef43ee91c193f827e49599e824385ec7c7f3cd152d74cb1dfe02cb135f264d83", - "sha256:ef467d86d3cfde8b39ea1b35090208b0447caaabd38405420830f7fd85fbdd56", - "sha256:f89b28772fc2562ed9ad871c865f5320ef761a7fcc188a935e21fe8b31a38ca9", - "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de" + "sha256:01e6e58078ad2799130c14a1d34ec89044ada0e1495329d72ee0407b9ae5100d", + "sha256:064ade95cb54c840647205987c7b557f75d2b2f7d1a84bfab4cf81822ef6e7d1", + "sha256:11fa1382c3efb34abf16becff8cb214b0b2e3144057c90611621f2d186b7e1b7", + "sha256:1bee1b722077d08721005e8da493ef3adf0b7908e0cd85cc7dc836ac117d6f32", + "sha256:1eeeb92cb7d95c45e726e3c1afe7707919370addae7ed14f614e22217a536958", + "sha256:21a207c6b2c58def5011768140861a73f5240f4f39800625072ba84e76c9da0b", + "sha256:2545d6d7aac425d528cd9bf0d9e55fcd47ab7fd15f41a64b1c4bf4c6b24946dc", + "sha256:2c4316a30e216f51acbd9fb318aa5af2e362b716596d82cbb92f9101c8f8d2e7", + "sha256:35062d93bc49bd9b191331c897a96155ffdad10744ab812485b6bad5b588d7e4", + "sha256:382d31d1e68877061daaa6499468e9eb38eb7625d4369b1615ac08d3860fe896", + "sha256:3aa8fcbb0d3c2be1bfd013a0f0acd636f6ed570c287743ae2bbd467ee967154d", + "sha256:3d4b91821305c8d8f6e6207639abcbdaf186db682e521af7855d0bea3047c8ca", + "sha256:3de1d553ce72868b77a7e9d598c9bff6d3816ad2b4cc81c04f9d8914603814f3", + "sha256:3fcdc76d0cde1c09c37b7c6b0f8beba2d857d8417b055d4f47df9c34ec518bdd", + "sha256:5112c530fa8aa2108a3196b9c2f078f5738c1c37cfc716970edc0df0414acda8", + "sha256:53d678bb1c3b784edbfb0adeebfeea6bf479f54da082854406a8f295d36f8386", + "sha256:6195c3c03fef9f87c0dbee0b3b6451df6e056322463cf35bca9a088e564a3c58", + "sha256:6d04b11ea47c9c369d66340dbe51e9031df2a0de97d68f442305ed7625ad6493", + "sha256:6dd647fcd765030638577fe6984284e0ebba1a1008244c8a38824be096e37fe3", + "sha256:799ef7a444aebbad5a145c3b34bff012b54453cddbde3332d47ca07225792ea4", + "sha256:7d92920416f31786bc1b2f34cc4fc4263a35a407425319572cbf96b51e835cd3", + "sha256:7e0c151a6c204f3830237c59ee4770cc346868a7a1af6925e5e38650141a7f05", + "sha256:84f8794bd59ca7d09d8fce43ae1b571be22f52748169d01a13d3ece8394d8b5b", + "sha256:95e5913ec718010dc0e7c215d79a9683b4990e7026828eedfda5268e74e73e11", + "sha256:9b9369671a20b8d039b8e5a1a33abd12e089e319a3383b4cc0bf5c67bd05fe7b", + "sha256:ab985c566a99cc5f73bc2741d93f1ed24a2cc9da3890144d37b9582965aff996", + "sha256:af94e429f9d57b36e71ef4e6865182090648aada0cb2d397ae2b3f7fc478493a", + "sha256:c96b3e6b0d4f6ddfec4e947130ec30bd2c7b19db6aa633777e46c8eecf1d6afd", + "sha256:cd2690d4b08ec9eaf47a85914fe513062b20da78d10d6d789a792c0b20307fb1", + "sha256:d3b7ce6d46fb0e60897d62d1ff370790ce50a57d40a651db91a3dde74f73b738", + "sha256:d976fa7b5faf5396eb18ce6c132c98e05504b52b60784e3401f4ef0b2e66709b", + "sha256:db6237e8fa91ea4f34d7e2d16d74741187e9105a63bbb5686c61fea04cdbacca", + "sha256:ecd32f30f40bfd8511b17666895831a51b532e93fc106bfa97f366589d3e4e0e", + "sha256:f418c88f09c3ba159b95a9d1cfcdbe58f208443abb1f3109f4b9b12fd60b187c" ], - "markers": "python_version >= '3.7'", - "version": "==6.1" + "markers": "python_version >= '3.8'", + "version": "==7.0.3" } }, "develop": { "astroid": { "hashes": [ - "sha256:4a61cf0a59097c7bb52689b0fd63717cd2a8a14dc9f1eee97b82d814881c8c91", - "sha256:d6e62862355f60e716164082d6b4b041d38e2a8cf1c7cd953ded5108bac8ff5c" + "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a", + "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25" ], "markers": "python_full_version >= '3.8.0'", - "version": "==3.0.2" + "version": "==3.2.4" }, "cairocffi": { "hashes": [ - "sha256:78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7", - "sha256:aa78ee52b9069d7475eeac457389b6275aa92111895d78fbaa2202a52dac112e" + "sha256:2e48ee864884ec4a3a34bfa8c9ab9999f688286eb714a15a43ec9d068c36557b", + "sha256:9803a0e11f6c962f3b0ae2ec8ba6ae45e957a146a004697a1ac1bbf16b073b3f" ], - "markers": "python_version >= '3.7'", - "version": "==1.6.1" + "markers": "python_version >= '3.8'", + "version": "==1.7.1" }, "cairosvg": { "hashes": [ @@ -410,65 +504,81 @@ "sha256:8a5222d4e6c3f86f1f7046b63246877a63b49923a1cd202184c3a634ef546b3b" ], "index": "pypi", + "markers": "python_version >= '3.5'", "version": "==2.7.1" }, "cffi": { "hashes": [ - "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc", - "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a", - "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417", - "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab", - "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520", - "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36", - "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743", - "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8", - "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed", - "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684", - "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56", - "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324", - "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d", - "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235", - "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e", - "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088", - "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000", - "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7", - "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e", - "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673", - "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c", - "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe", - "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2", - "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098", - "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8", - "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a", - "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0", - "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b", - "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896", - "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e", - "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9", - "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2", - "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b", - "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6", - "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404", - "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f", - "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0", - "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4", - "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc", - "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936", - "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba", - "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872", - "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb", - "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614", - "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1", - "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d", - "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969", - "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b", - "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4", - "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627", - "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956", - "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357" + "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", + "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", + "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", + "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", + "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", + "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", + "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", + "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", + "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", + "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", + "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", + "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", + "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", + "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", + "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", + "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", + "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", + "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", + "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", + "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", + "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", + "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", + "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", + "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", + "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", + "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", + "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", + "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", + "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", + "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", + "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", + "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", + "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", + "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", + "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", + "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", + "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", + "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", + "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", + "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", + "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", + "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", + "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", + "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", + "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", + "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", + "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", + "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", + "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", + "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", + "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", + "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", + "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", + "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", + "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", + "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", + "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", + "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", + "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", + "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", + "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", + "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", + "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", + "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", + "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", + "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", + "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], "markers": "python_version >= '3.8'", - "version": "==1.16.0" + "version": "==1.17.1" }, "cssselect2": { "hashes": [ @@ -488,19 +598,19 @@ }, "dill": { "hashes": [ - "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e", - "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03" + "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", + "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7" ], - "markers": "python_version < '3.11'", - "version": "==0.3.7" + "markers": "python_version >= '3.11'", + "version": "==0.3.8" }, "importlib-metadata": { "hashes": [ - "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e", - "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc" + "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1", + "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5" ], "markers": "python_version >= '3.8'", - "version": "==7.0.1" + "version": "==8.4.0" }, "isort": { "hashes": [ @@ -520,75 +630,124 @@ }, "nose2": { "hashes": [ - "sha256:5c28d770a0b9a702862bd6c3755ba2cd2f7994dd518c982e5ce298d7f37466a4", - "sha256:86993e9243c744df29c1ec237aecee33e2f59abb4bdd25a313f2e806b99228a1" + "sha256:36770f519df5becd3cbfe0bee4abbfbf9b9f6b4eb4e03361d282b7efcfc4f0df", + "sha256:564450c0c4f1602dfe171902ceb4726cc56658af7a620ae1826f1ffc86b09a86" ], "index": "pypi", - "version": "==0.14.0" + "markers": "python_version >= '3.8'", + "version": "==0.15.1" }, "pillow": { "hashes": [ - "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97", - "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049", - "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c", - "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae", - "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28", - "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030", - "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56", - "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976", - "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e", - "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e", - "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f", - "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b", - "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a", - "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e", - "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa", - "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7", - "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00", - "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838", - "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360", - "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b", - "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a", - "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd", - "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4", - "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70", - "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204", - "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc", - "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b", - "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669", - "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7", - "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e", - "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c", - "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092", - "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c", - "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5", - "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac" + "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", + "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", + "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", + "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", + "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", + "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", + "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", + "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", + "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", + "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", + "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", + "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", + "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", + "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", + "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", + "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", + "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", + "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", + "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", + "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", + "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", + "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", + "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", + "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", + "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", + "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", + "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", + "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", + "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", + "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", + "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", + "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", + "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", + "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", + "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", + "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", + "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", + "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", + "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", + "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", + "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", + "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", + "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", + "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", + "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", + "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", + "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", + "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", + "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", + "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", + "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", + "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", + "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", + "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", + "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", + "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", + "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", + "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", + "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", + "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", + "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", + "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", + "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", + "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", + "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", + "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", + "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", + "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", + "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", + "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", + "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", + "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", + "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", + "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", + "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", + "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", + "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", + "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", + "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", + "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1" ], "index": "pypi", - "version": "==9.0.1" + "markers": "python_version >= '3.8'", + "version": "==10.4.0" }, "platformdirs": { "hashes": [ - "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380", - "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420" + "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c", + "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617" ], "markers": "python_version >= '3.8'", - "version": "==4.1.0" + "version": "==4.3.2" }, "pycparser": { "hashes": [ - "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" ], - "version": "==2.21" + "markers": "python_version >= '3.8'", + "version": "==2.22" }, "pylint": { "hashes": [ - "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b", - "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810" + "sha256:02f4aedeac91be69fb3b4bea997ce580a4ac68ce58b89eaefeaf06749df73f4b", + "sha256:1b7a721b575eaeaa7d39db076b6e7743c993ea44f57979127c517c6c572c803e" ], "index": "pypi", - "version": "==3.0.3" + "markers": "python_full_version >= '3.8.0'", + "version": "==3.2.7" }, "pylint-flask": { "hashes": [ @@ -607,35 +766,27 @@ }, "tinycss2": { "hashes": [ - "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", - "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627" + "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d", + "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7" ], - "markers": "python_version >= '3.7'", - "version": "==1.2.1" + "markers": "python_version >= '3.8'", + "version": "==1.3.0" }, "tomli": { "hashes": [ "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" ], - "markers": "python_version < '3.11'", + "markers": "python_version >= '3.7'", "version": "==2.0.1" }, "tomlkit": { "hashes": [ - "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4", - "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba" + "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", + "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79" ], - "markers": "python_version >= '3.7'", - "version": "==0.12.3" - }, - "typing-extensions": { - "hashes": [ - "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783", - "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd" - ], - "markers": "python_version < '3.10'", - "version": "==4.9.0" + "markers": "python_version >= '3.8'", + "version": "==0.13.2" }, "webencodings": { "hashes": [ @@ -650,15 +801,16 @@ "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==0.40.2" }, "zipp": { "hashes": [ - "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31", - "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0" + "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064", + "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b" ], "markers": "python_version >= '3.8'", - "version": "==3.17.0" + "version": "==3.20.1" } } } diff --git a/README.md b/README.md index 16044c5..4e87cf0 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ See also [Git Flow - Versioning](https://github.com/geoadmin/doc-guidelines/blob ### Make Dependencies -The **Make** targets assume you have **python3.9**, **pipenv**, **bash**, **curl**, **tar**, **docker** and **docker-compose** installed. +The **Make** targets assume you have **python3.12**, **pipenv**, **bash**, **curl**, **tar**, **docker** and **docker-compose** installed. ### Setting up to work @@ -192,3 +192,4 @@ The service is configured by Environment Variable: | WSGI_TIMEOUT | `5` | WSGI timeout. | | GUNICORN_TMPFS_DIR | `None` |The working directory for the gunicorn workers. | | WSGI_WORKERS | `2` | The number of workers per CPU. | +| UNLISTED_ICON_SETS | `'babs'`| Comma separated list of icon set to un-list. Those sets won't be listed in the /sets endpoint. | diff --git a/app/helpers/description.py b/app/helpers/description.py new file mode 100644 index 0000000..a65d75b --- /dev/null +++ b/app/helpers/description.py @@ -0,0 +1,40 @@ +import json +import logging +import os + +from flask import abort + +from app.settings import DESCRIPTION_FOLDER + +logger = logging.getLogger(__name__) + + +def get_icon_description(icon_name='', icon_set=''): + ''' + Return json containing the description in all available languages for an icon in the specified + icon set + ''' + path = find_descripton_file(icon_set) + if not os.path.isfile(path): + return None + + with open(path, encoding='utf-8') as f: + df = json.load(f) + + try: + icon_description = df[icon_name] + except KeyError: + logger.error("Description for icon not found: %s", icon_name) + abort(404, "Description for icon not found") + + return icon_description + + +def find_descripton_file(icon_set): + ''' + Return file path of description file if it exists or False in case it doesn't + ''' + path = os.path.abspath(os.path.join(DESCRIPTION_FOLDER, icon_set)) + '-dictionary.json' + if os.path.isfile(path): + return path + return False diff --git a/app/icon.py b/app/icon.py index c06f08f..1db53da 100644 --- a/app/icon.py +++ b/app/icon.py @@ -1,7 +1,10 @@ import os +from PIL import Image + from flask import url_for +from app.helpers.description import get_icon_description from app.helpers.icons import get_icon_template_url from app.helpers.url import get_base_url from app.settings import DEFAULT_COLOR @@ -82,6 +85,16 @@ def get_icon_filepath(self): name_with_extension = f"{name_with_extension}.png" return os.path.abspath(os.path.join(IMAGE_FOLDER, self.icon_set.name, name_with_extension)) + def get_size(self): + """ + Lazily open image of icon to get the size of the icon from the metadata. + + Returns: + A tuple with the size of the specified icon (x,y) + """ + with Image.open(self.get_icon_filepath()) as img: + return img.size + def serialize(self): """ As we want to add "url" to the __dict__, we can't really use a json.dumps to generate our @@ -97,5 +110,7 @@ def serialize(self): "anchor": self.anchor, "icon_set": self.icon_set.name, "url": self.get_icon_url(), - "template_url": get_icon_template_url(get_base_url()) + "template_url": get_icon_template_url(get_base_url()), + "description": get_icon_description(self.name, self.icon_set.name), + "size": self.get_size() } diff --git a/app/icon_set.py b/app/icon_set.py index 5205f0e..f08350a 100644 --- a/app/icon_set.py +++ b/app/icon_set.py @@ -2,11 +2,14 @@ from flask import url_for +from app.helpers.description import find_descripton_file from app.helpers.icons import get_icon_set_template_url from app.helpers.url import get_base_url from app.icon import Icon from app.settings import COLORABLE_ICON_SETS +from app.settings import ICON_SET_LANGUAGE from app.settings import IMAGE_FOLDER +from app.settings import UNLISTED_ICON_SETS def get_icon_set(icon_set_name): @@ -28,7 +31,9 @@ def get_all_icon_sets(): icon_sets = [] for root, dirs, files in os.walk(IMAGE_FOLDER): for icon_set_name in dirs: - icon_sets.append(get_icon_set(icon_set_name)) + # icons of legacy icon sets are still available, but the icon set will not be listed + if icon_set_name not in UNLISTED_ICON_SETS: + icon_sets.append(get_icon_set(icon_set_name)) return icon_sets @@ -85,16 +90,6 @@ def get_icon(self, icon_name): """ return Icon(f"{icon_name}", self) - def get_default_pixel_size(self): - """ - Returns: - the size in pixel of this icon set's icon (icons are always square images). This is - helpful to calculate if an icon requires a resize before being served to the user. - """ - if self.name == 'default': - return 96 - return 48 - def get_all_icons(self): """ Generate a list of all icons belonging to this icon set. @@ -126,5 +121,7 @@ def serialize(self): "name": self.name, "colorable": self.colorable, "icons_url": self.get_icons_url(), - "template_url": get_icon_set_template_url(get_base_url()) + "template_url": get_icon_set_template_url(get_base_url()), + "has_description": bool(find_descripton_file(self.name)), + "language": ICON_SET_LANGUAGE[self.name] if self.name in ICON_SET_LANGUAGE else None } diff --git a/app/routes.py b/app/routes.py index 20b0c6c..fc7ebf5 100644 --- a/app/routes.py +++ b/app/routes.py @@ -28,6 +28,12 @@ def make_api_compliant_response(response_object): """ if isinstance(response_object, (Icon, IconSet)): return make_response(jsonify({'success': True, **response_object.serialize()})) + if all(isinstance(r, (Icon, IconSet)) for r in response_object): + return make_response( + jsonify({ + 'success': True, "items": [r.serialize() for r in response_object] + }) + ) if isinstance(response_object, list): return make_response(jsonify({'success': True, "items": response_object})) return make_response(jsonify({'success': True, **response_object})) @@ -86,9 +92,9 @@ def colorized_icon( image = Image.open(fd) if image.mode == 'P': image = image.convert('RGBA') - new_size = int(48 * scale) - if new_size != icon_set.get_default_pixel_size(): - image = image.resize((new_size, new_size)) + if scale != 1: + new_size = map(lambda s: int(s * scale), icon.get_size()) + image = image.resize(tuple(new_size)) if icon_set.colorable: image = Image.composite(Image.new("RGB", image.size, (red, green, blue)), image, image) output = BytesIO() diff --git a/app/settings.py b/app/settings.py index 4d90c9d..41a3d2a 100644 --- a/app/settings.py +++ b/app/settings.py @@ -10,9 +10,15 @@ load_dotenv(ENV_FILE, override=True, verbose=True) IMAGE_FOLDER = os.path.abspath(os.path.join(os.path.dirname(__file__), '../static/images/')) +DESCRIPTION_FOLDER = os.path.abspath( + os.path.join(os.path.dirname(__file__), '../metadata/description/') +) COLORABLE_ICON_SETS = ['default'] +UNLISTED_ICON_SETS = os.environ.get('UNLISTED_ICON_SETS', 'babs').split(',') +ICON_SET_LANGUAGE = {'babs-de': 'de', 'babs-fr': 'fr', 'babs-it': 'it'} DEFAULT_COLOR = {"r": '255', "g": '0', "b": '0'} +DEFAULT_ICON_SIZE = 48 TRAP_HTTP_EXCEPTIONS = True LOGS_DIR = os.getenv('LOGS_DIR', str(BASE_DIR / 'logs')) os.environ['LOGS_DIR'] = LOGS_DIR # Set default if not set diff --git a/backup/default/001-marker.png b/backup/default/001-marker.png new file mode 100644 index 0000000..0c3cb26 Binary files /dev/null and b/backup/default/001-marker.png differ diff --git a/backup/default/002-circle.png b/backup/default/002-circle.png new file mode 100644 index 0000000..1a33623 Binary files /dev/null and b/backup/default/002-circle.png differ diff --git a/backup/default/003-square.png b/backup/default/003-square.png new file mode 100644 index 0000000..5ddc5d7 Binary files /dev/null and b/backup/default/003-square.png differ diff --git a/backup/default/004-triangle.png b/backup/default/004-triangle.png new file mode 100644 index 0000000..66ef263 Binary files /dev/null and b/backup/default/004-triangle.png differ diff --git a/backup/default/005-star.png b/backup/default/005-star.png new file mode 100644 index 0000000..075cf45 Binary files /dev/null and b/backup/default/005-star.png differ diff --git a/backup/default/006-star-stroked.png b/backup/default/006-star-stroked.png new file mode 100644 index 0000000..b3b9a87 Binary files /dev/null and b/backup/default/006-star-stroked.png differ diff --git a/backup/default/007-marker-stroked.png b/backup/default/007-marker-stroked.png new file mode 100644 index 0000000..c8e875f Binary files /dev/null and b/backup/default/007-marker-stroked.png differ diff --git a/backup/default/008-circle-stroked.png b/backup/default/008-circle-stroked.png new file mode 100644 index 0000000..c94f1ec Binary files /dev/null and b/backup/default/008-circle-stroked.png differ diff --git a/backup/default/009-square-stroked.png b/backup/default/009-square-stroked.png new file mode 100644 index 0000000..af569bf Binary files /dev/null and b/backup/default/009-square-stroked.png differ diff --git a/backup/default/010-triangle-stroked.png b/backup/default/010-triangle-stroked.png new file mode 100644 index 0000000..3a17f31 Binary files /dev/null and b/backup/default/010-triangle-stroked.png differ diff --git a/backup/default/011-cross.png b/backup/default/011-cross.png new file mode 100644 index 0000000..3621dfb Binary files /dev/null and b/backup/default/011-cross.png differ diff --git a/backup/default/012-disability.png b/backup/default/012-disability.png new file mode 100644 index 0000000..2c91ecc Binary files /dev/null and b/backup/default/012-disability.png differ diff --git a/backup/default/013-danger.png b/backup/default/013-danger.png new file mode 100644 index 0000000..b2c2f38 Binary files /dev/null and b/backup/default/013-danger.png differ diff --git a/backup/default/014-art-gallery.png b/backup/default/014-art-gallery.png new file mode 100644 index 0000000..0e4ce6d Binary files /dev/null and b/backup/default/014-art-gallery.png differ diff --git a/backup/default/015-alcohol-shop.png b/backup/default/015-alcohol-shop.png new file mode 100644 index 0000000..57b44f1 Binary files /dev/null and b/backup/default/015-alcohol-shop.png differ diff --git a/backup/default/016-bakery.png b/backup/default/016-bakery.png new file mode 100644 index 0000000..37cafad Binary files /dev/null and b/backup/default/016-bakery.png differ diff --git a/backup/default/017-bank.png b/backup/default/017-bank.png new file mode 100644 index 0000000..84b66e6 Binary files /dev/null and b/backup/default/017-bank.png differ diff --git a/backup/default/018-bar.png b/backup/default/018-bar.png new file mode 100644 index 0000000..c33963c Binary files /dev/null and b/backup/default/018-bar.png differ diff --git a/backup/default/019-beer.png b/backup/default/019-beer.png new file mode 100644 index 0000000..e1c2cb0 Binary files /dev/null and b/backup/default/019-beer.png differ diff --git a/backup/default/020-cafe.png b/backup/default/020-cafe.png new file mode 100644 index 0000000..c6ca71f Binary files /dev/null and b/backup/default/020-cafe.png differ diff --git a/backup/default/021-cinema.png b/backup/default/021-cinema.png new file mode 100644 index 0000000..68dce3f Binary files /dev/null and b/backup/default/021-cinema.png differ diff --git a/backup/default/022-commercial.png b/backup/default/022-commercial.png new file mode 100644 index 0000000..0a9db82 Binary files /dev/null and b/backup/default/022-commercial.png differ diff --git a/backup/default/023-clothing-store.png b/backup/default/023-clothing-store.png new file mode 100644 index 0000000..bb4674e Binary files /dev/null and b/backup/default/023-clothing-store.png differ diff --git a/backup/default/024-grocery.png b/backup/default/024-grocery.png new file mode 100644 index 0000000..8f47c14 Binary files /dev/null and b/backup/default/024-grocery.png differ diff --git a/backup/default/025-fast-food.png b/backup/default/025-fast-food.png new file mode 100644 index 0000000..2c47393 Binary files /dev/null and b/backup/default/025-fast-food.png differ diff --git a/backup/default/026-hairdresser.png b/backup/default/026-hairdresser.png new file mode 100644 index 0000000..f3fe908 Binary files /dev/null and b/backup/default/026-hairdresser.png differ diff --git a/backup/default/027-fuel.png b/backup/default/027-fuel.png new file mode 100644 index 0000000..ca2730a Binary files /dev/null and b/backup/default/027-fuel.png differ diff --git a/backup/default/028-laundry.png b/backup/default/028-laundry.png new file mode 100644 index 0000000..5d688ae Binary files /dev/null and b/backup/default/028-laundry.png differ diff --git a/backup/default/029-library.png b/backup/default/029-library.png new file mode 100644 index 0000000..bb89214 Binary files /dev/null and b/backup/default/029-library.png differ diff --git a/backup/default/030-lodging.png b/backup/default/030-lodging.png new file mode 100644 index 0000000..38bf81a Binary files /dev/null and b/backup/default/030-lodging.png differ diff --git a/backup/default/031-pharmacy.png b/backup/default/031-pharmacy.png new file mode 100644 index 0000000..edf4f42 Binary files /dev/null and b/backup/default/031-pharmacy.png differ diff --git a/backup/default/032-restaurant.png b/backup/default/032-restaurant.png new file mode 100644 index 0000000..447bb8d Binary files /dev/null and b/backup/default/032-restaurant.png differ diff --git a/backup/default/033-shop.png b/backup/default/033-shop.png new file mode 100644 index 0000000..19c996c Binary files /dev/null and b/backup/default/033-shop.png differ diff --git a/backup/default/034-airport.png b/backup/default/034-airport.png new file mode 100644 index 0000000..2238e3a Binary files /dev/null and b/backup/default/034-airport.png differ diff --git a/backup/default/035-bicycle.png b/backup/default/035-bicycle.png new file mode 100644 index 0000000..a9945a6 Binary files /dev/null and b/backup/default/035-bicycle.png differ diff --git a/backup/default/036-bus.png b/backup/default/036-bus.png new file mode 100644 index 0000000..4baf2de Binary files /dev/null and b/backup/default/036-bus.png differ diff --git a/backup/default/037-car.png b/backup/default/037-car.png new file mode 100644 index 0000000..d7bd70f Binary files /dev/null and b/backup/default/037-car.png differ diff --git a/backup/default/038-ferry.png b/backup/default/038-ferry.png new file mode 100644 index 0000000..1e6df76 Binary files /dev/null and b/backup/default/038-ferry.png differ diff --git a/backup/default/039-london-underground.png b/backup/default/039-london-underground.png new file mode 100644 index 0000000..bde32e6 Binary files /dev/null and b/backup/default/039-london-underground.png differ diff --git a/backup/default/040-rail.png b/backup/default/040-rail.png new file mode 100644 index 0000000..add2b60 Binary files /dev/null and b/backup/default/040-rail.png differ diff --git a/backup/default/041-rail-above.png b/backup/default/041-rail-above.png new file mode 100644 index 0000000..a9c5f8f Binary files /dev/null and b/backup/default/041-rail-above.png differ diff --git a/backup/default/042-rail-light.png b/backup/default/042-rail-light.png new file mode 100644 index 0000000..f559208 Binary files /dev/null and b/backup/default/042-rail-light.png differ diff --git a/backup/default/043-rail-metro.png b/backup/default/043-rail-metro.png new file mode 100644 index 0000000..24280ff Binary files /dev/null and b/backup/default/043-rail-metro.png differ diff --git a/backup/default/044-rail-underground.png b/backup/default/044-rail-underground.png new file mode 100644 index 0000000..30632ab Binary files /dev/null and b/backup/default/044-rail-underground.png differ diff --git a/backup/default/045-scooter.png b/backup/default/045-scooter.png new file mode 100644 index 0000000..39bace1 Binary files /dev/null and b/backup/default/045-scooter.png differ diff --git a/backup/default/046-america-football.png b/backup/default/046-america-football.png new file mode 100644 index 0000000..925b140 Binary files /dev/null and b/backup/default/046-america-football.png differ diff --git a/backup/default/047-baseball.png b/backup/default/047-baseball.png new file mode 100644 index 0000000..1d28bbb Binary files /dev/null and b/backup/default/047-baseball.png differ diff --git a/backup/default/048-basketball.png b/backup/default/048-basketball.png new file mode 100644 index 0000000..2a78b5d Binary files /dev/null and b/backup/default/048-basketball.png differ diff --git a/backup/default/049-cricket.png b/backup/default/049-cricket.png new file mode 100644 index 0000000..b07b0a8 Binary files /dev/null and b/backup/default/049-cricket.png differ diff --git a/backup/default/050-golf.png b/backup/default/050-golf.png new file mode 100644 index 0000000..f36e05e Binary files /dev/null and b/backup/default/050-golf.png differ diff --git a/backup/default/051-skiing.png b/backup/default/051-skiing.png new file mode 100644 index 0000000..9fd33ba Binary files /dev/null and b/backup/default/051-skiing.png differ diff --git a/backup/default/052-soccer.png b/backup/default/052-soccer.png new file mode 100644 index 0000000..bd88c40 Binary files /dev/null and b/backup/default/052-soccer.png differ diff --git a/backup/default/053-swimming.png b/backup/default/053-swimming.png new file mode 100644 index 0000000..9b84222 Binary files /dev/null and b/backup/default/053-swimming.png differ diff --git a/backup/default/054-tennis.png b/backup/default/054-tennis.png new file mode 100644 index 0000000..d6ac52d Binary files /dev/null and b/backup/default/054-tennis.png differ diff --git a/backup/default/055-airfield.png b/backup/default/055-airfield.png new file mode 100644 index 0000000..3637c21 Binary files /dev/null and b/backup/default/055-airfield.png differ diff --git a/backup/default/056-building.png b/backup/default/056-building.png new file mode 100644 index 0000000..d5b8973 Binary files /dev/null and b/backup/default/056-building.png differ diff --git a/backup/default/057-campsite.png b/backup/default/057-campsite.png new file mode 100644 index 0000000..6ff10b4 Binary files /dev/null and b/backup/default/057-campsite.png differ diff --git a/backup/default/058-cemetery.png b/backup/default/058-cemetery.png new file mode 100644 index 0000000..423637f Binary files /dev/null and b/backup/default/058-cemetery.png differ diff --git a/backup/default/059-city.png b/backup/default/059-city.png new file mode 100644 index 0000000..276f7bb Binary files /dev/null and b/backup/default/059-city.png differ diff --git a/backup/default/060-college.png b/backup/default/060-college.png new file mode 100644 index 0000000..f2c365f Binary files /dev/null and b/backup/default/060-college.png differ diff --git a/backup/default/061-dog-park.png b/backup/default/061-dog-park.png new file mode 100644 index 0000000..956cefa Binary files /dev/null and b/backup/default/061-dog-park.png differ diff --git a/backup/default/062-embassy.png b/backup/default/062-embassy.png new file mode 100644 index 0000000..a528b1d Binary files /dev/null and b/backup/default/062-embassy.png differ diff --git a/backup/default/063-farm.png b/backup/default/063-farm.png new file mode 100644 index 0000000..3ad7ea1 Binary files /dev/null and b/backup/default/063-farm.png differ diff --git a/backup/default/064-fire-station.png b/backup/default/064-fire-station.png new file mode 100644 index 0000000..93d0fa3 Binary files /dev/null and b/backup/default/064-fire-station.png differ diff --git a/backup/default/065-garden.png b/backup/default/065-garden.png new file mode 100644 index 0000000..09a81f3 Binary files /dev/null and b/backup/default/065-garden.png differ diff --git a/backup/default/066-harbor.png b/backup/default/066-harbor.png new file mode 100644 index 0000000..6d5f61a Binary files /dev/null and b/backup/default/066-harbor.png differ diff --git a/backup/default/067-heliport.png b/backup/default/067-heliport.png new file mode 100644 index 0000000..9810944 Binary files /dev/null and b/backup/default/067-heliport.png differ diff --git a/backup/default/068-hospital.png b/backup/default/068-hospital.png new file mode 100644 index 0000000..5baa5ac Binary files /dev/null and b/backup/default/068-hospital.png differ diff --git a/backup/default/069-industrial.png b/backup/default/069-industrial.png new file mode 100644 index 0000000..ba088a4 Binary files /dev/null and b/backup/default/069-industrial.png differ diff --git a/backup/default/070-land-use.png b/backup/default/070-land-use.png new file mode 100644 index 0000000..d5d8247 Binary files /dev/null and b/backup/default/070-land-use.png differ diff --git a/backup/default/071-lighthouse.png b/backup/default/071-lighthouse.png new file mode 100644 index 0000000..3e8b314 Binary files /dev/null and b/backup/default/071-lighthouse.png differ diff --git a/backup/default/072-monument.png b/backup/default/072-monument.png new file mode 100644 index 0000000..c97916d Binary files /dev/null and b/backup/default/072-monument.png differ diff --git a/backup/default/073-minefield.png b/backup/default/073-minefield.png new file mode 100644 index 0000000..bb9201e Binary files /dev/null and b/backup/default/073-minefield.png differ diff --git a/backup/default/074-museum.png b/backup/default/074-museum.png new file mode 100644 index 0000000..6dcc7af Binary files /dev/null and b/backup/default/074-museum.png differ diff --git a/backup/default/075-oil-well.png b/backup/default/075-oil-well.png new file mode 100644 index 0000000..ae2e372 Binary files /dev/null and b/backup/default/075-oil-well.png differ diff --git a/backup/default/076-park2.png b/backup/default/076-park2.png new file mode 100644 index 0000000..9552dc5 Binary files /dev/null and b/backup/default/076-park2.png differ diff --git a/backup/default/077-park.png b/backup/default/077-park.png new file mode 100644 index 0000000..4ad1107 Binary files /dev/null and b/backup/default/077-park.png differ diff --git a/backup/default/078-parking.png b/backup/default/078-parking.png new file mode 100644 index 0000000..7187158 Binary files /dev/null and b/backup/default/078-parking.png differ diff --git a/backup/default/079-parking-garage.png b/backup/default/079-parking-garage.png new file mode 100644 index 0000000..993a58f Binary files /dev/null and b/backup/default/079-parking-garage.png differ diff --git a/backup/default/080-pitch.png b/backup/default/080-pitch.png new file mode 100644 index 0000000..bf6e388 Binary files /dev/null and b/backup/default/080-pitch.png differ diff --git a/backup/default/081-place-of-worship.png b/backup/default/081-place-of-worship.png new file mode 100644 index 0000000..df11bbb Binary files /dev/null and b/backup/default/081-place-of-worship.png differ diff --git a/backup/default/082-playground.png b/backup/default/082-playground.png new file mode 100644 index 0000000..2a8e50c Binary files /dev/null and b/backup/default/082-playground.png differ diff --git a/backup/default/083-police.png b/backup/default/083-police.png new file mode 100644 index 0000000..84e6cf9 Binary files /dev/null and b/backup/default/083-police.png differ diff --git a/backup/default/084-polling-place.png b/backup/default/084-polling-place.png new file mode 100644 index 0000000..74ffb1a Binary files /dev/null and b/backup/default/084-polling-place.png differ diff --git a/backup/default/085-post.png b/backup/default/085-post.png new file mode 100644 index 0000000..83bcc8f Binary files /dev/null and b/backup/default/085-post.png differ diff --git a/backup/default/086-religious-christian.png b/backup/default/086-religious-christian.png new file mode 100644 index 0000000..6ba847e Binary files /dev/null and b/backup/default/086-religious-christian.png differ diff --git a/backup/default/087-religious-jewish.png b/backup/default/087-religious-jewish.png new file mode 100644 index 0000000..a0a8cdd Binary files /dev/null and b/backup/default/087-religious-jewish.png differ diff --git a/backup/default/088-religious-muslim.png b/backup/default/088-religious-muslim.png new file mode 100644 index 0000000..6938ea5 Binary files /dev/null and b/backup/default/088-religious-muslim.png differ diff --git a/backup/default/089-prison.png b/backup/default/089-prison.png new file mode 100644 index 0000000..a80550d Binary files /dev/null and b/backup/default/089-prison.png differ diff --git a/backup/default/090-school.png b/backup/default/090-school.png new file mode 100644 index 0000000..3f2d40a Binary files /dev/null and b/backup/default/090-school.png differ diff --git a/backup/default/091-slaughterhouse.png b/backup/default/091-slaughterhouse.png new file mode 100644 index 0000000..ffc21d8 Binary files /dev/null and b/backup/default/091-slaughterhouse.png differ diff --git a/backup/default/092-theatre.png b/backup/default/092-theatre.png new file mode 100644 index 0000000..43750b4 Binary files /dev/null and b/backup/default/092-theatre.png differ diff --git a/backup/default/093-toilets.png b/backup/default/093-toilets.png new file mode 100644 index 0000000..60ceb65 Binary files /dev/null and b/backup/default/093-toilets.png differ diff --git a/backup/default/094-town.png b/backup/default/094-town.png new file mode 100644 index 0000000..73ffb8e Binary files /dev/null and b/backup/default/094-town.png differ diff --git a/backup/default/095-town-hall.png b/backup/default/095-town-hall.png new file mode 100644 index 0000000..a855793 Binary files /dev/null and b/backup/default/095-town-hall.png differ diff --git a/backup/default/096-village.png b/backup/default/096-village.png new file mode 100644 index 0000000..1618ad6 Binary files /dev/null and b/backup/default/096-village.png differ diff --git a/backup/default/097-warehouse.png b/backup/default/097-warehouse.png new file mode 100644 index 0000000..79fb4a4 Binary files /dev/null and b/backup/default/097-warehouse.png differ diff --git a/backup/default/098-wetland.png b/backup/default/098-wetland.png new file mode 100644 index 0000000..c26e00b Binary files /dev/null and b/backup/default/098-wetland.png differ diff --git a/backup/default/099-zoo.png b/backup/default/099-zoo.png new file mode 100644 index 0000000..45fdd4a Binary files /dev/null and b/backup/default/099-zoo.png differ diff --git a/backup/default/100-camera.png b/backup/default/100-camera.png new file mode 100644 index 0000000..7caa642 Binary files /dev/null and b/backup/default/100-camera.png differ diff --git a/backup/default/101-chemist.png b/backup/default/101-chemist.png new file mode 100644 index 0000000..01fadea Binary files /dev/null and b/backup/default/101-chemist.png differ diff --git a/backup/default/102-dam.png b/backup/default/102-dam.png new file mode 100644 index 0000000..cd5af3e Binary files /dev/null and b/backup/default/102-dam.png differ diff --git a/backup/default/103-emergency-telephone.png b/backup/default/103-emergency-telephone.png new file mode 100644 index 0000000..3b07fa4 Binary files /dev/null and b/backup/default/103-emergency-telephone.png differ diff --git a/backup/default/104-entrance.png b/backup/default/104-entrance.png new file mode 100644 index 0000000..1c2a054 Binary files /dev/null and b/backup/default/104-entrance.png differ diff --git a/backup/default/105-heart.png b/backup/default/105-heart.png new file mode 100644 index 0000000..1e84623 Binary files /dev/null and b/backup/default/105-heart.png differ diff --git a/backup/default/106-logging.png b/backup/default/106-logging.png new file mode 100644 index 0000000..b7acf38 Binary files /dev/null and b/backup/default/106-logging.png differ diff --git a/backup/default/107-mobilephone.png b/backup/default/107-mobilephone.png new file mode 100644 index 0000000..ecee8d2 Binary files /dev/null and b/backup/default/107-mobilephone.png differ diff --git a/backup/default/108-music.png b/backup/default/108-music.png new file mode 100644 index 0000000..c376e92 Binary files /dev/null and b/backup/default/108-music.png differ diff --git a/backup/default/109-roadblock.png b/backup/default/109-roadblock.png new file mode 100644 index 0000000..16c5c6f Binary files /dev/null and b/backup/default/109-roadblock.png differ diff --git a/backup/default/110-rocket.png b/backup/default/110-rocket.png new file mode 100644 index 0000000..9c677b4 Binary files /dev/null and b/backup/default/110-rocket.png differ diff --git a/backup/default/111-suitcase.png b/backup/default/111-suitcase.png new file mode 100644 index 0000000..3a1ee2d Binary files /dev/null and b/backup/default/111-suitcase.png differ diff --git a/backup/default/112-telephone.png b/backup/default/112-telephone.png new file mode 100644 index 0000000..30c2394 Binary files /dev/null and b/backup/default/112-telephone.png differ diff --git a/backup/default/113-waste-basket.png b/backup/default/113-waste-basket.png new file mode 100644 index 0000000..9e99504 Binary files /dev/null and b/backup/default/113-waste-basket.png differ diff --git a/backup/default/114-water.png b/backup/default/114-water.png new file mode 100644 index 0000000..99854c4 Binary files /dev/null and b/backup/default/114-water.png differ diff --git a/backup/default/115-gift.png b/backup/default/115-gift.png new file mode 100644 index 0000000..7e9c9e4 Binary files /dev/null and b/backup/default/115-gift.png differ diff --git a/backup/default/116-ice-cream.png b/backup/default/116-ice-cream.png new file mode 100644 index 0000000..bb1fd94 Binary files /dev/null and b/backup/default/116-ice-cream.png differ diff --git a/metadata/description/babs-de-dictionary.json b/metadata/description/babs-de-dictionary.json new file mode 100644 index 0000000..3acb00f --- /dev/null +++ b/metadata/description/babs-de-dictionary.json @@ -0,0 +1,582 @@ +{ + "001-D-Beschaedigung": { + "de": "Besch\u00e4digung", + "fr": "D\u00e9g\u00e2t", + "it": "Danneggiamento" + }, + "002-D-Teilzerstoerung": { + "de": "Teilzerst\u00f6rung", + "fr": "Destruction partielle", + "it": "Distruzione parziale" + }, + "003-D-Totalzerstoerung": { + "de": "Totalzerst\u00f6rung", + "fr": "Destruction totale", + "it": "Distruzione totale" + }, + "004-D-Brand-einzelnes-Gebaeude-Flamme": { + "de": "Brand einzelnes Geb\u00e4ude", + "fr": "Incendie isol\u00e9", + "it": "Incendio di un singolo edificio" + }, + "005-D-Explosionsherd": { + "de": "Explosionsherd", + "fr": "Foyer d'explosion", + "it": "Focolaio esplosione" + }, + "006-D-Verletzte": { + "de": "Verletzte", + "fr": "Bless\u00e9s", + "it": "Feriti" + }, + "007-D-Eingesperrte": { + "de": "Eingesperrte", + "fr": "Enferm\u00e9s", + "it": "Persone imprigionate" + }, + "008-D-Obdachlose": { + "de": "Obdachlose", + "fr": "Sans abri", + "it": "Senzatetto" + }, + "009-D-Tote": { + "de": "Tote", + "fr": "Morts", + "it": "Morti" + }, + "010-D-Vermisste": { + "de": "Vermisste", + "fr": "Disparus", + "it": "Dispersi" + }, + "011-D-Armee": { + "de": "Armee", + "fr": "Arm\u00e9e", + "it": "Esercito" + }, + "012-D-Polizei": { + "de": "Polizei", + "fr": "Police", + "it": "Polizia" + }, + "013-D-Zivilschutz": { + "de": "Zivilschutz", + "fr": "Protection civile", + "it": "Protezione civile" + }, + "014-D-Sanitaer": { + "de": "Sanit\u00e4r", + "fr": "Sanitaire", + "it": "Sanit\u00e0" + }, + "015-D-Feuerwehr": { + "de": "Feuerwehr", + "fr": "Sapeurs-pompiers", + "it": "Corpo pompieri" + }, + "016-D-TechnB": { + "de": "Technische Betriebe", + "fr": "Services techniques", + "it": "Servizi tecniche" + }, + "017-D-Unfall": { + "de": "Unfall", + "fr": "Accident", + "it": "Incidente" + }, + "018-D-Chemikalien": { + "de": "Chemikalien", + "fr": "Chimique", + "it": "Sostanze chimiche" + }, + "019-D-Elektrizitaet": { + "de": "Elektrizit\u00e4t", + "fr": "Electricit\u00e9", + "it": "Elettricit\u00e0" + }, + "020-D-Explosion": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "021-D-Gas": { + "de": "Gas", + "fr": "Gaz", + "it": "Gas" + }, + "022-D-Gefahr-durch-Loeschen-mit-Wasser": { + "de": "Gefahr durch L\u00f6schen mit Wasser", + "fr": "Danger si extinction avec eau", + "it": "Pericolo spegnimento con acqua" + }, + "023-D-Radioaktive-Stoffe": { + "de": "Radioaktive Stoffe", + "fr": "Substances radioactives", + "it": "Sostanze radioattive" + }, + "024-D-Gefahr-fuer-Grundwasser": { + "de": "Gefahr f\u00fcr Grundwasser", + "fr": "Danger pour les eaux", + "it": "Pericolo per le acque" + }, + "025-D-KFO": { + "de": "KFO", + "fr": "OCC", + "it": "OCCt" + }, + "026-D-RFO": { + "de": "RFO", + "fr": "OCRg", + "it": "OCRg" + }, + "027-D-GFO": { + "de": "GFO", + "fr": "OCCm", + "it": "OCCm" + }, + "028-D-EZ": { + "de": "EZ", + "fr": "CE", + "it": "CI" + }, + "029-D-MEZ": { + "de": "MEZ", + "fr": "CEM", + "it": "CIM" + }, + "030-D-EL": { + "de": "EL", + "fr": "DI", + "it": "DI" + }, + "031-D-Rueck": { + "de": "R\u00fcck", + "fr": "PCO", + "it": "Posto comando operazioni" + }, + "032-D-Front": { + "de": "Front", + "fr": "PCE", + "it": "Posto comando intervento" + }, + "033-D-Informationsstelle": { + "de": "Informationsstelle", + "fr": "Point d'information", + "it": "Posto d'informazione" + }, + "034-D-Sammelstelle": { + "de": "Sammelstelle", + "fr": "Poste collecteur", + "it": "Posto collettore" + }, + "035-D-Betreuungsstelle": { + "de": "Betreuungsstelle", + "fr": "Poste d'assistance", + "it": "Posto d'assistenza" + }, + "036-D-Patientensammelstelle": { + "de": "Patientensammelstelle", + "fr": "Poste collecteur de patients", + "it": "Posto collettore dei pazienti" + }, + "037-D-Sanitaetshilfsstelle": { + "de": "Sanit\u00e4tshilfsstelle", + "fr": "Poste m\u00e9dical avanc\u00e9", + "it": "Posto di soccorso sanitario" + }, + "038-D-Totensammelstelle": { + "de": "Totensammelstelle", + "fr": "Poste collecteur de cadavres", + "it": "Posto colletore dei morti" + }, + "039-D-Verpflegungsabgabestelle": { + "de": "Verpflegungsabgabestelle", + "fr": "Poste de distribution", + "it": "Posto distribuzione sussistenza" + }, + "040-D-Betriebsstoffabgabestelle": { + "de": "Betriebsstoffabgabestelle", + "fr": "Station de carburant", + "it": "Posto distribuzione carburante" + }, + "041-D-KGS-Notdepot": { + "de": "KGS Notdepot", + "fr": "D\u00e9p\u00f4t d'urgence PBC", + "it": "Deposito PBC di fortuna" + }, + "042-D-Pforte": { + "de": "Pforte", + "fr": "Porte", + "it": "Porta" + }, + "043-D-Umleitung": { + "de": "Umleitung", + "fr": "D\u00e9viations", + "it": "Deviazione" + }, + "044-D-Absperrung-Verkehrswege": { + "de": "Absperrung Verkehrswege", + "fr": "Fermeture de la route", + "it": "Sbarramento vie comunicazione" + }, + "045-D-Sperre": { + "de": "Sperre", + "fr": "Barrage", + "it": "Sbarramento" + }, + "046-D-Helikopterlandeplatz": { + "de": "Helikopterlandeplatz", + "fr": "Place d'atterrissage H\u00e9lico", + "it": "Piazza d'atterraggio elicotteri" + }, + "047-D-Fahrzeugplatz": { + "de": "Fahrzeugplatz", + "fr": "Place pour v\u00e9hicules", + "it": "Posteggio veicoli" + }, + "048-D-Materialdepot": { + "de": "Materialdepot", + "fr": "D\u00e9p\u00f4t mat\u00e9riel", + "it": "Deposito del materiale" + }, + "049-D-Beobachtung": { + "de": "Beobachtung", + "fr": "Observation", + "it": "Osservazione" + }, + "050-D-Ueberwachung": { + "de": "\u00dcberwachung", + "fr": "Surveillance", + "it": "Sorveglianza" + }, + "051-D-Sturm": { + "de": "Sturm", + "fr": "Temp\u00eate", + "it": "Tempesta" + }, + "052-D-Ueberschwemmung": { + "de": "\u00dcberschwemmung", + "fr": "Inondation", + "it": "Piena" + }, + "053-D-Erdrutsch": { + "de": "Erdrutsch", + "fr": "Glissement de terrain", + "it": "Frana" + }, + "054-D-Lawine": { + "de": "Lawine", + "fr": "Avalanche", + "it": "Valanga" + }, + "055-D-Gebaeudeeinsturz": { + "de": "Geb\u00e4udeeinsturz", + "fr": "Immeuble effondr\u00e9", + "it": "Crollo di edificio" + }, + "056-D-Starkniederschlag": { + "de": "Starkniederschlag", + "fr": "Fortes pr\u00e9cipitations", + "it": "Piogge intense" + }, + "057-D-Brand": { + "de": "Brand", + "fr": "Incendie", + "it": "Incendio" + }, + "058-D-Explosion-pikt": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "059-D-Stau": { + "de": "Stau", + "fr": "Embouteillage", + "it": "Colonna" + }, + "060-D-Autounfall": { + "de": "Autounfall", + "fr": "Accident auto", + "it": "Incidente della circolazione" + }, + "061-D-Eisenbahnunglueck": { + "de": "Eisenbahnungl\u00fcck", + "fr": "Accident ferroviaire", + "it": "Incidente ferroviario" + }, + "062-D-Kanalisationsausfall": { + "de": "Kanalisationsausfall", + "fr": "Egouts d\u00e9fectueux", + "it": "Interruzione della canalizzazione" + }, + "063-D-Atomunfall": { + "de": "Atomunfall", + "fr": "Accident nucl\u00e9aire", + "it": "Incidente nucleare" + }, + "064-D-Biounfall": { + "de": "Biounfall", + "fr": "Accident biologique", + "it": "Incidente biologico" + }, + "065-D-Oelverschmutzung": { + "de": "\u00d6lverschmutzung", + "fr": "Pollution aux hydrocarbures", + "it": "Inquinamento da idrocarburi" + }, + "066-D-Infrastrukturschaden": { + "de": "Infrastrukturschaden", + "fr": "Dommages aux infrastructures", + "it": "Danni alle infrastrutture" + }, + "067-D-Schiffsversenkung": { + "de": "Schiffsversenkung", + "fr": "Accident navigation", + "it": "Incidente nautico" + }, + "068-D-Chemieunfall": { + "de": "Chemieunfall", + "fr": "Accident chimique", + "it": "Incidente chimico" + }, + "069-D-Pluenderung": { + "de": "Pl\u00fcnderung", + "fr": "Pillage", + "it": "Saccheggi" + }, + "070-D-Demo-gewaltlos": { + "de": "Demo gewaltlos", + "fr": "Manifestation", + "it": "Dimostrazioni" + }, + "071-D-Demo-gewaltsam": { + "de": "Demo gewaltsam", + "fr": "Manifestation avec exactions", + "it": "Dimostrazioni con disordini" + }, + "072-D-Massenpanik": { + "de": "Massenpanik", + "fr": "Effet de panique", + "it": "Panico di massa" + }, + "073-D-Brandanschlag": { + "de": "Brandanschlag", + "fr": "Incendie criminel", + "it": "Attentato incendiario" + }, + "074-D-Sabotage": { + "de": "Sabotage", + "fr": "Sabotage", + "it": "Sabotaggio" + }, + "075-D-Bombenanschlag": { + "de": "Bombenanschlag", + "fr": "Attentat \u00e0 la bombe", + "it": "Attentato dinamitardo" + }, + "076-D-Trupp-p-P": { + "de": "Trupp P", + "fr": "Patrouille P", + "it": "Squadra P" + }, + "077-D-Gruppe-p-P": { + "de": "Grupp P", + "fr": "Groupe P", + "it": "Gruppo P" + }, + "078-D-Zug-p-P": { + "de": "Zug P", + "fr": "Section P", + "it": "Sezione P" + }, + "079-D-Gruppenfuehrer-P": { + "de": "Gruppenf\u00fchrer P", + "fr": "Chef de groupe P", + "it": "Capogruppo P" + }, + "080-D-Offizier-Zugfuehrer-P": { + "de": "Offizier_Zugf\u00fchrer P", + "fr": "Officier Chef de section P", + "it": "Ufficiale caposezione P" + }, + "081-D-Einsatzleiter-P": { + "de": "Einsatzleiter P", + "fr": "Chef d'intervention P", + "it": "Capointervento P" + }, + "082-D-Trupp-p-FW": { + "de": "Trupp FW", + "fr": "Patrouille SP", + "it": "Squadra CP" + }, + "083-D-Gruppe-p-FW": { + "de": "Gruppe FW", + "fr": "Groupe SP", + "it": "Gruppo CP" + }, + "084-D-Zug-p-FW": { + "de": "Zug FW", + "fr": "Section SP", + "it": "Sezione CP" + }, + "085-D-Gruppenfuehrer-FW": { + "de": "Gruppenf\u00fchrer FW", + "fr": "Chef de groupe SP", + "it": "Capogruppo CP" + }, + "086-D-Offizier-Zugfuehrer-FW": { + "de": "Offizier Zugf\u00fchrer FW", + "fr": "Officier Chef de section SP", + "it": "Ufficiale caposezione CP" + }, + "087-D-Einsatzleiter-FW": { + "de": "Einsatzleiter FW", + "fr": "Chef d'intervention SP", + "it": "Capointervento CP" + }, + "088-D-Trupp-p-San": { + "de": "Trupp San", + "fr": "Patrouille San", + "it": "Squadra San" + }, + "089-D-Gruppe-p-San": { + "de": "Gruppe San", + "fr": "Groupe San", + "it": "Gruppo San" + }, + "090-D-Trupp-p": { + "de": "Trupp ", + "fr": "Patrouille", + "it": "Squadra" + }, + "091-D-Gruppe-p": { + "de": "Gruppe ", + "fr": "Groupe", + "it": "Gruppo" + }, + "092-D-Zug-p": { + "de": "Zug ", + "fr": "Section", + "it": "Sezione" + }, + "093-D-Kompanie": { + "de": "Kompanie", + "fr": "Compagnie", + "it": "Compagnia" + }, + "094-D-Bataillon": { + "de": "Bataillon", + "fr": "Bataillon", + "it": "Bataillone" + }, + "095-D-Gruppenfuehrer": { + "de": "Gruppenf\u00fchrer", + "fr": "Chef de groupe", + "it": "Capogruppo" + }, + "096-D-Offizier-Zugfuehrer": { + "de": "Offizier Zugf\u00fchrer", + "fr": "Officier Chef de section", + "it": "Ufficiale caposezione" + }, + "097-D-Einsatzleiter": { + "de": "Einsatzleiter", + "fr": "Chef d'intervention", + "it": "Capointervento" + }, + "098-D-Beabsichtigter-Einsatz": { + "de": "Beabsichtigter Einsatz", + "fr": "Engagement pr\u00e9vu", + "it": "Intervento pianificato" + }, + "099-D-Beabsichtigte-Erkundung": { + "de": "Beabsichtigte Erkundung", + "fr": "Reconnaissance pr\u00e9vue", + "it": "Ricognizione pianificata" + }, + "100-D-Durchgefuehrter-Einsatz": { + "de": "Durchgef\u00fchrter Einsatz", + "fr": "Engagement ex\u00e9cut\u00e9", + "it": "Intervento eseguito" + }, + "101-D-Durchgefuehrte-Erkundung": { + "de": "Durchgef\u00fchrte Erkundung", + "fr": "Reconnaissance ex\u00e9cut\u00e9e", + "it": "Ricognizione eseguita" + }, + "102-D-Motorfahrzeug": { + "de": "Motorfahrzeug", + "fr": "V\u00e9hicule l\u00e9ger", + "it": "Automobile" + }, + "103-D-Lastwagen": { + "de": "Lastwagen", + "fr": "Poids-lourd", + "it": "Autocarro" + }, + "104-D-Transportfahrzeug": { + "de": "Transportfahrzeug", + "fr": "V\u00e9hicule de transport", + "it": "Veicoli per il transporto" + }, + "105-D-Ambulanz": { + "de": "Ambulanz", + "fr": "Ambulance", + "it": "Ambulanza" + }, + "106-D-Helikopter": { + "de": "Helikopter", + "fr": "H\u00e9licopt\u00e8re", + "it": "Elicottero" + }, + "107-D-Tankloeschfahrzeug": { + "de": "Tankl\u00f6schfahrzeug", + "fr": "Fourgon tonne-pompe", + "it": "Autobotte" + }, + "108-D-Wasserwerfer": { + "de": "Wasserwerfer", + "fr": "Canon \u00e0 eau", + "it": "Lanciaacqua" + }, + "109-D-Hubrettungsfahrzeug": { + "de": "Hubrettungsfahrzeug", + "fr": "El\u00e9vateur \u00e0 nacelle", + "it": "Elevatore a navicella" + }, + "110-D-Autodrehleiter": { + "de": "Autodrehleiter", + "fr": "Echelle", + "it": "Scala motorizzata" + }, + "111-D-Nationalstrasse": { + "de": "Nationalstrasse", + "fr": "Route", + "it": "Strada nazionale" + }, + "112-D-Autobahn": { + "de": "Autobahn", + "fr": "Autoroute", + "it": "Autostrada" + }, + "113-D-Eisenbahn": { + "de": "Eisenbahn", + "fr": "Chemin de fer", + "it": "Linea ferroviaria" + }, + "114-D-Schiffahrt-Verbot": { + "de": "Schiffahrt Verbot", + "fr": "Interdiction de naviguer", + "it": "Divieto di navigazione" + }, + "115-D-Ueberflugverbot": { + "de": "\u00dcberflugverbot", + "fr": "Interdiction de survoler", + "it": "Divieto di sorvolo" + }, + "116-D-Notfalltreffpunkt": { + "de": "Notfalltreffpunkt", + "fr": "Point de rassemblement d'urgence", + "it": "Punto di raccolta d'urgenza" + } +} diff --git a/metadata/description/babs-fr-dictionary.json b/metadata/description/babs-fr-dictionary.json new file mode 100644 index 0000000..06152b7 --- /dev/null +++ b/metadata/description/babs-fr-dictionary.json @@ -0,0 +1,582 @@ +{ + "001-F-Degat": { + "de": "Besch\u00e4digung", + "fr": "D\u00e9g\u00e2t", + "it": "Danneggiamento" + }, + "002-F-Destruction-partielle": { + "de": "Teilzerst\u00f6rung", + "fr": "Destruction partielle", + "it": "Distruzione parziale" + }, + "003-F-Destruction-totale": { + "de": "Totalzerst\u00f6rung", + "fr": "Destruction totale", + "it": "Distruzione totale" + }, + "004-F-Incendie-isole": { + "de": "Brand einzelnes Geb\u00e4ude", + "fr": "Incendie isol\u00e9", + "it": "Incendio di un singolo edificio" + }, + "005-F-Foyer-d-explosion": { + "de": "Explosionsherd", + "fr": "Foyer d'explosion", + "it": "Focolaio esplosione" + }, + "006-F-Blesses": { + "de": "Verletzte", + "fr": "Bless\u00e9s", + "it": "Feriti" + }, + "007-F-Enfermes": { + "de": "Eingesperrte", + "fr": "Enferm\u00e9s", + "it": "Persone imprigionate" + }, + "008-F-Sans-abri": { + "de": "Obdachlose", + "fr": "Sans abri", + "it": "Senzatetto" + }, + "009-F-Morts": { + "de": "Tote", + "fr": "Morts", + "it": "Morti" + }, + "010-F-Disparus": { + "de": "Vermisste", + "fr": "Disparus", + "it": "Dispersi" + }, + "011-F-Armee": { + "de": "Armee", + "fr": "Arm\u00e9e", + "it": "Esercito" + }, + "012-F-Police": { + "de": "Polizei", + "fr": "Police", + "it": "Polizia" + }, + "013-F-Protection-civile": { + "de": "Zivilschutz", + "fr": "Protection civile", + "it": "Protezione civile" + }, + "014-F-Sanitaire": { + "de": "Sanit\u00e4r", + "fr": "Sanitaire", + "it": "Sanit\u00e0" + }, + "015-F-Sapeurs-pompiers": { + "de": "Feuerwehr", + "fr": "Sapeurs-pompiers", + "it": "Corpo pompieri" + }, + "016-F-Services-techniques": { + "de": "Technische Betriebe", + "fr": "Services techniques", + "it": "Servizi tecniche" + }, + "017-F-Accident": { + "de": "Unfall", + "fr": "Accident", + "it": "Incidente" + }, + "018-F-Chimique": { + "de": "Chemikalien", + "fr": "Chimique", + "it": "Sostanze chimiche" + }, + "019-F-Electricite": { + "de": "Elektrizit\u00e4t", + "fr": "Electricit\u00e9", + "it": "Elettricit\u00e0" + }, + "020-F-Explosion": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "021-F-Gaz": { + "de": "Gas", + "fr": "Gaz", + "it": "Gas" + }, + "022-F-Danger-si-extinction-avec-eau": { + "de": "Gefahr durch L\u00f6schen mit Wasser", + "fr": "Danger si extinction avec eau", + "it": "Pericolo spegnimento con acqua" + }, + "023-F-Substances-radioactives": { + "de": "Radioaktive Stoffe", + "fr": "Substances radioactives", + "it": "Sostanze radioattive" + }, + "024-F-Danger-pour-les-eaux": { + "de": "Gefahr f\u00fcr Grundwasser", + "fr": "Danger pour les eaux", + "it": "Pericolo per le acque" + }, + "025-F-OCC": { + "de": "KFO", + "fr": "OCC", + "it": "OCCt" + }, + "026-F-OCRg": { + "de": "RFO", + "fr": "OCRg", + "it": "OCRg" + }, + "027-F-OCCm": { + "de": "GFO", + "fr": "OCCm", + "it": "OCCm" + }, + "028-F-CE": { + "de": "EZ", + "fr": "CE", + "it": "CI" + }, + "029-F-CEM": { + "de": "MEZ", + "fr": "CEM", + "it": "CIM" + }, + "030-F-DI": { + "de": "EL", + "fr": "DI", + "it": "DI" + }, + "031-F-PCO": { + "de": "R\u00fcck", + "fr": "PCO", + "it": "Posto comando operazioni" + }, + "032-F-PCE": { + "de": "Front", + "fr": "PCE", + "it": "Posto comando intervento" + }, + "033-F-Point-d-information": { + "de": "Informationsstelle", + "fr": "Point d'information", + "it": "Posto d'informazione" + }, + "034-F-Poste-collecteur": { + "de": "Sammelstelle", + "fr": "Poste collecteur", + "it": "Posto collettore" + }, + "035-F-Poste-d-assistance": { + "de": "Betreuungsstelle", + "fr": "Poste d'assistance", + "it": "Posto d'assistenza" + }, + "036-F-Poste-collecteur-de-patients": { + "de": "Patientensammelstelle", + "fr": "Poste collecteur de patients", + "it": "Posto collettore dei pazienti" + }, + "037-F-Poste-medical-avance": { + "de": "Sanit\u00e4tshilfsstelle", + "fr": "Poste m\u00e9dical avanc\u00e9", + "it": "Posto di soccorso sanitario" + }, + "038-F-Poste-collecteur-de-cadavres": { + "de": "Totensammelstelle", + "fr": "Poste collecteur de cadavres", + "it": "Posto colletore dei morti" + }, + "039-F-Poste-de-distribution": { + "de": "Verpflegungsabgabestelle", + "fr": "Poste de distribution", + "it": "Posto distribuzione sussistenza" + }, + "040-F-Station-de-carburant": { + "de": "Betriebsstoffabgabestelle", + "fr": "Station de carburant", + "it": "Posto distribuzione carburante" + }, + "041-F-Depot-d-urgence-PBC": { + "de": "KGS Notdepot", + "fr": "D\u00e9p\u00f4t d'urgence PBC", + "it": "Deposito PBC di fortuna" + }, + "042-F-Porte": { + "de": "Pforte", + "fr": "Porte", + "it": "Porta" + }, + "043-F-Deviations": { + "de": "Umleitung", + "fr": "D\u00e9viations", + "it": "Deviazione" + }, + "044-F-Fermeture-de-la-route": { + "de": "Absperrung Verkehrswege", + "fr": "Fermeture de la route", + "it": "Sbarramento vie comunicazione" + }, + "045-F-Barrage": { + "de": "Sperre", + "fr": "Barrage", + "it": "Sbarramento" + }, + "046-F-Place-d-atterrissage-Helico": { + "de": "Helikopterlandeplatz", + "fr": "Place d'atterrissage H\u00e9lico", + "it": "Piazza d'atterraggio elicotteri" + }, + "047-F-Place-pour-vehicules": { + "de": "Fahrzeugplatz", + "fr": "Place pour v\u00e9hicules", + "it": "Posteggio veicoli" + }, + "048-F-Depot-materiel": { + "de": "Materialdepot", + "fr": "D\u00e9p\u00f4t mat\u00e9riel", + "it": "Deposito del materiale" + }, + "049-F-Observation": { + "de": "Beobachtung", + "fr": "Observation", + "it": "Osservazione" + }, + "050-F-Surveillance": { + "de": "\u00dcberwachung", + "fr": "Surveillance", + "it": "Sorveglianza" + }, + "051-F-Tempete": { + "de": "Sturm", + "fr": "Temp\u00eate", + "it": "Tempesta" + }, + "052-F-Inondation": { + "de": "\u00dcberschwemmung", + "fr": "Inondation", + "it": "Piena" + }, + "053-F-Glissement-de-terrain": { + "de": "Erdrutsch", + "fr": "Glissement de terrain", + "it": "Frana" + }, + "054-F-Avalanche": { + "de": "Lawine", + "fr": "Avalanche", + "it": "Valanga" + }, + "055-F-Immeuble-effondre": { + "de": "Geb\u00e4udeeinsturz", + "fr": "Immeuble effondr\u00e9", + "it": "Crollo di edificio" + }, + "056-F-Fortes-precipitations": { + "de": "Starkniederschlag", + "fr": "Fortes pr\u00e9cipitations", + "it": "Piogge intense" + }, + "057-F-Incendie": { + "de": "Brand", + "fr": "Incendie", + "it": "Incendio" + }, + "058-F-Explosion": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "059-F-Embouteillage": { + "de": "Stau", + "fr": "Embouteillage", + "it": "Colonna" + }, + "060-F-Accident-auto": { + "de": "Autounfall", + "fr": "Accident auto", + "it": "Incidente della circolazione" + }, + "061-F-Accident-ferroviaire": { + "de": "Eisenbahnungl\u00fcck", + "fr": "Accident ferroviaire", + "it": "Incidente ferroviario" + }, + "062-F-Egouts-defectueux": { + "de": "Kanalisationsausfall", + "fr": "Egouts d\u00e9fectueux", + "it": "Interruzione della canalizzazione" + }, + "063-F-Accident-nucleaire": { + "de": "Atomunfall", + "fr": "Accident nucl\u00e9aire", + "it": "Incidente nucleare" + }, + "064-F-Accident-biologique": { + "de": "Biounfall", + "fr": "Accident biologique", + "it": "Incidente biologico" + }, + "065-F-Pollution-aux-hydrocarbures": { + "de": "\u00d6lverschmutzung", + "fr": "Pollution aux hydrocarbures", + "it": "Inquinamento da idrocarburi" + }, + "066-F-Dommages-aux-infrastructures": { + "de": "Infrastrukturschaden", + "fr": "Dommages aux infrastructures", + "it": "Danni alle infrastrutture" + }, + "067-F-Accident-navigation": { + "de": "Schiffsversenkung", + "fr": "Accident navigation", + "it": "Incidente nautico" + }, + "068-F-Accident-chimique": { + "de": "Chemieunfall", + "fr": "Accident chimique", + "it": "Incidente chimico" + }, + "069-F-Pillage": { + "de": "Pl\u00fcnderung", + "fr": "Pillage", + "it": "Saccheggi" + }, + "070-F-Manifestation": { + "de": "Demo gewaltlos", + "fr": "Manifestation", + "it": "Dimostrazioni" + }, + "071-F-Manifestation-avec-exactions": { + "de": "Demo gewaltsam", + "fr": "Manifestation avec exactions", + "it": "Dimostrazioni con disordini" + }, + "072-F-Effet-de-panique": { + "de": "Massenpanik", + "fr": "Effet de panique", + "it": "Panico di massa" + }, + "073-F-Incendie-criminel": { + "de": "Brandanschlag", + "fr": "Incendie criminel", + "it": "Attentato incendiario" + }, + "074-F-Sabotage": { + "de": "Sabotage", + "fr": "Sabotage", + "it": "Sabotaggio" + }, + "075-F-Attentat-a-la-bombe": { + "de": "Bombenanschlag", + "fr": "Attentat \u00e0 la bombe", + "it": "Attentato dinamitardo" + }, + "076-F-Patrouille-P": { + "de": "Trupp P", + "fr": "Patrouille P", + "it": "Squadra P" + }, + "077-F-Groupe-P": { + "de": "Grupp P", + "fr": "Groupe P", + "it": "Gruppo P" + }, + "078-F-Section-P": { + "de": "Zug P", + "fr": "Section P", + "it": "Sezione P" + }, + "079-F-Chef-de-groupe-P": { + "de": "Gruppenf\u00fchrer P", + "fr": "Chef de groupe P", + "it": "Capogruppo P" + }, + "080-F-Officier-Chef-de-section-P": { + "de": "Offizier_Zugf\u00fchrer P", + "fr": "Officier Chef de section P", + "it": "Ufficiale caposezione P" + }, + "081-F-Chef-d-intervention-P": { + "de": "Einsatzleiter P", + "fr": "Chef d'intervention P", + "it": "Capointervento P" + }, + "082-F-Patrouille-SP": { + "de": "Trupp FW", + "fr": "Patrouille SP", + "it": "Squadra CP" + }, + "083-F-Groupe-SP": { + "de": "Gruppe FW", + "fr": "Groupe SP", + "it": "Gruppo CP" + }, + "084-F-Section-SP": { + "de": "Zug FW", + "fr": "Section SP", + "it": "Sezione CP" + }, + "085-F-Chef-de-groupe-SP": { + "de": "Gruppenf\u00fchrer FW", + "fr": "Chef de groupe SP", + "it": "Capogruppo CP" + }, + "086-F-Officier-Chef-de-section-SP": { + "de": "Offizier Zugf\u00fchrer FW", + "fr": "Officier Chef de section SP", + "it": "Ufficiale caposezione CP" + }, + "087-F-Chef-d-intervention-SP": { + "de": "Einsatzleiter FW", + "fr": "Chef d'intervention SP", + "it": "Capointervento CP" + }, + "088-F-Patrouille-San": { + "de": "Trupp San", + "fr": "Patrouille San", + "it": "Squadra San" + }, + "089-F-Groupe-San": { + "de": "Gruppe San", + "fr": "Groupe San", + "it": "Gruppo San" + }, + "090-F-Patrouille": { + "de": "Trupp ", + "fr": "Patrouille", + "it": "Squadra" + }, + "091-F-Groupe": { + "de": "Gruppe ", + "fr": "Groupe", + "it": "Gruppo" + }, + "092-F-Section": { + "de": "Zug ", + "fr": "Section", + "it": "Sezione" + }, + "093-F-Compagnie": { + "de": "Kompanie", + "fr": "Compagnie", + "it": "Compagnia" + }, + "094-F-Bataillon": { + "de": "Bataillon", + "fr": "Bataillon", + "it": "Bataillone" + }, + "095-F-Chef-de-groupe": { + "de": "Gruppenf\u00fchrer", + "fr": "Chef de groupe", + "it": "Capogruppo" + }, + "096-F-Officier-Chef-de-section": { + "de": "Offizier Zugf\u00fchrer", + "fr": "Officier Chef de section", + "it": "Ufficiale caposezione" + }, + "097-F-Chef-d-intervention": { + "de": "Einsatzleiter", + "fr": "Chef d'intervention", + "it": "Capointervento" + }, + "098-F-Engagement-prevu": { + "de": "Beabsichtigter Einsatz", + "fr": "Engagement pr\u00e9vu", + "it": "Intervento pianificato" + }, + "099-F-Reconnaissance-prevue": { + "de": "Beabsichtigte Erkundung", + "fr": "Reconnaissance pr\u00e9vue", + "it": "Ricognizione pianificata" + }, + "100-F-Engagement-execute": { + "de": "Durchgef\u00fchrter Einsatz", + "fr": "Engagement ex\u00e9cut\u00e9", + "it": "Intervento eseguito" + }, + "101-F-Reconnaissance-executee": { + "de": "Durchgef\u00fchrte Erkundung", + "fr": "Reconnaissance ex\u00e9cut\u00e9e", + "it": "Ricognizione eseguita" + }, + "102-F-Vehicule-leger-voiture": { + "de": "Motorfahrzeug", + "fr": "V\u00e9hicule l\u00e9ger", + "it": "Automobile" + }, + "103-F-Camion-poids-lourd": { + "de": "Lastwagen", + "fr": "Poids-lourd", + "it": "Autocarro" + }, + "104-F-Vehicule-de-transport-bus": { + "de": "Transportfahrzeug", + "fr": "V\u00e9hicule de transport", + "it": "Veicoli per il transporto" + }, + "105-F-Ambulance": { + "de": "Ambulanz", + "fr": "Ambulance", + "it": "Ambulanza" + }, + "106-F-Helicoptere": { + "de": "Helikopter", + "fr": "H\u00e9licopt\u00e8re", + "it": "Elicottero" + }, + "107-F-Fourgon-tonne-pompe": { + "de": "Tankl\u00f6schfahrzeug", + "fr": "Fourgon tonne-pompe", + "it": "Autobotte" + }, + "108-F-Canon-a-eau": { + "de": "Wasserwerfer", + "fr": "Canon \u00e0 eau", + "it": "Lanciaacqua" + }, + "109-F-Elevateur-a-nacelle": { + "de": "Hubrettungsfahrzeug", + "fr": "El\u00e9vateur \u00e0 nacelle", + "it": "Elevatore a navicella" + }, + "110-F-Echelle": { + "de": "Autodrehleiter", + "fr": "Echelle", + "it": "Scala motorizzata" + }, + "111-F-Route": { + "de": "Nationalstrasse", + "fr": "Route", + "it": "Strada nazionale" + }, + "112-F-Autoroute": { + "de": "Autobahn", + "fr": "Autoroute", + "it": "Autostrada" + }, + "113-F-Chemin-de-fer": { + "de": "Eisenbahn", + "fr": "Chemin de fer", + "it": "Linea ferroviaria" + }, + "114-F-Interdiction-de-naviguer": { + "de": "Schiffahrt Verbot", + "fr": "Interdiction de naviguer", + "it": "Divieto di navigazione" + }, + "115-F-Interdiction-de-survoler": { + "de": "\u00dcberflugverbot", + "fr": "Interdiction de survoler", + "it": "Divieto di sorvolo" + }, + "116-F-Point-de-rassemblement-d-urgence": { + "de": "Notfalltreffpunkt", + "fr": "Point de rassemblement d'urgence", + "it": "Punto di raccolta d'urgenza" + } +} diff --git a/metadata/description/babs-it-dictionary.json b/metadata/description/babs-it-dictionary.json new file mode 100644 index 0000000..fde54e3 --- /dev/null +++ b/metadata/description/babs-it-dictionary.json @@ -0,0 +1,582 @@ +{ + "001-I-Danneggiamento": { + "de": "Besch\u00e4digung", + "fr": "D\u00e9g\u00e2t", + "it": "Danneggiamento" + }, + "002-I-Distruzione-parziale": { + "de": "Teilzerst\u00f6rung", + "fr": "Destruction partielle", + "it": "Distruzione parziale" + }, + "003-I-Distruzione-totale": { + "de": "Totalzerst\u00f6rung", + "fr": "Destruction totale", + "it": "Distruzione totale" + }, + "004-I-Incendio-di-un-singolo-edificio": { + "de": "Brand einzelnes Geb\u00e4ude", + "fr": "Incendie isol\u00e9", + "it": "Incendio di un singolo edificio" + }, + "005-I-Focolaio-esplosione": { + "de": "Explosionsherd", + "fr": "Foyer d'explosion", + "it": "Focolaio esplosione" + }, + "006-I-Feriti": { + "de": "Verletzte", + "fr": "Bless\u00e9s", + "it": "Feriti" + }, + "007-I-Persone-imprigionate": { + "de": "Eingesperrte", + "fr": "Enferm\u00e9s", + "it": "Persone imprigionate" + }, + "008-I-Senzatetto": { + "de": "Obdachlose", + "fr": "Sans abri", + "it": "Senzatetto" + }, + "009-I-Morti": { + "de": "Tote", + "fr": "Morts", + "it": "Morti" + }, + "010-I-Dispersi": { + "de": "Vermisste", + "fr": "Disparus", + "it": "Dispersi" + }, + "011-I-Esercito": { + "de": "Armee", + "fr": "Arm\u00e9e", + "it": "Esercito" + }, + "012-I-Polizia": { + "de": "Polizei", + "fr": "Police", + "it": "Polizia" + }, + "013-I-Protezione-civile": { + "de": "Zivilschutz", + "fr": "Protection civile", + "it": "Protezione civile" + }, + "014-I-Sanita": { + "de": "Sanit\u00e4r", + "fr": "Sanitaire", + "it": "Sanit\u00e0" + }, + "015-I-Corpo-pompieri": { + "de": "Feuerwehr", + "fr": "Sapeurs-pompiers", + "it": "Corpo pompieri" + }, + "016-I-Servizi-tecniche": { + "de": "Technische Betriebe", + "fr": "Services techniques", + "it": "Servizi tecniche" + }, + "017-I-Incidente": { + "de": "Unfall", + "fr": "Accident", + "it": "Incidente" + }, + "018-I-Sostanze-chimiche": { + "de": "Chemikalien", + "fr": "Chimique", + "it": "Sostanze chimiche" + }, + "019-I-Elettricita": { + "de": "Elektrizit\u00e4t", + "fr": "Electricit\u00e9", + "it": "Elettricit\u00e0" + }, + "020-I-Esplosione": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "021-I-Gas": { + "de": "Gas", + "fr": "Gaz", + "it": "Gas" + }, + "022-I-Pericolo-spegnimento-con-acqua": { + "de": "Gefahr durch L\u00f6schen mit Wasser", + "fr": "Danger si extinction avec eau", + "it": "Pericolo spegnimento con acqua" + }, + "023-I-Sostanze-radioattive": { + "de": "Radioaktive Stoffe", + "fr": "Substances radioactives", + "it": "Sostanze radioattive" + }, + "024-I-Pericolo-per-le-acque": { + "de": "Gefahr f\u00fcr Grundwasser", + "fr": "Danger pour les eaux", + "it": "Pericolo per le acque" + }, + "025-I-OCCt": { + "de": "KFO", + "fr": "OCC", + "it": "OCCt" + }, + "026-I-OCRg": { + "de": "RFO", + "fr": "OCRg", + "it": "OCRg" + }, + "027-I-OCCm": { + "de": "GFO", + "fr": "OCCm", + "it": "OCCm" + }, + "028-I-CI": { + "de": "EZ", + "fr": "CE", + "it": "CI" + }, + "029-I-CIM": { + "de": "MEZ", + "fr": "CEM", + "it": "CIM" + }, + "030-I-DI": { + "de": "EL", + "fr": "DI", + "it": "DI" + }, + "031-I-Posto-comando-operazioni": { + "de": "R\u00fcck", + "fr": "PCO", + "it": "Posto comando operazioni" + }, + "032-I-Posto-comando-intervento": { + "de": "Front", + "fr": "PCE", + "it": "Posto comando intervento" + }, + "033-I-Posto-d-informazione": { + "de": "Informationsstelle", + "fr": "Point d'information", + "it": "Posto d'informazione" + }, + "034-I-Posto-collettore": { + "de": "Sammelstelle", + "fr": "Poste collecteur", + "it": "Posto collettore" + }, + "035-I-Posto-d-assistenza": { + "de": "Betreuungsstelle", + "fr": "Poste d'assistance", + "it": "Posto d'assistenza" + }, + "036-I-Posto-collettore-dei-pazienti": { + "de": "Patientensammelstelle", + "fr": "Poste collecteur de patients", + "it": "Posto collettore dei pazienti" + }, + "037-I-Posto-di-soccorso-sanitario": { + "de": "Sanit\u00e4tshilfsstelle", + "fr": "Poste m\u00e9dical avanc\u00e9", + "it": "Posto di soccorso sanitario" + }, + "038-I-Posto-colletore-dei-morti": { + "de": "Totensammelstelle", + "fr": "Poste collecteur de cadavres", + "it": "Posto colletore dei morti" + }, + "039-I-Posto-distribuzione-sussistenza": { + "de": "Verpflegungsabgabestelle", + "fr": "Poste de distribution", + "it": "Posto distribuzione sussistenza" + }, + "040-I-Posto-distribuzione-carburante": { + "de": "Betriebsstoffabgabestelle", + "fr": "Station de carburant", + "it": "Posto distribuzione carburante" + }, + "041-I-Deposito-PBC-di-fortuna": { + "de": "KGS Notdepot", + "fr": "D\u00e9p\u00f4t d'urgence PBC", + "it": "Deposito PBC di fortuna" + }, + "042-I-Porta": { + "de": "Pforte", + "fr": "Porte", + "it": "Porta" + }, + "043-I-Deviazione": { + "de": "Umleitung", + "fr": "D\u00e9viations", + "it": "Deviazione" + }, + "044-I-Sbarramento-vie-comunicazione": { + "de": "Absperrung Verkehrswege", + "fr": "Fermeture de la route", + "it": "Sbarramento vie comunicazione" + }, + "045-I-Sbarramento": { + "de": "Sperre", + "fr": "Barrage", + "it": "Sbarramento" + }, + "046-I-Piazza-d-atterraggio-elicotteri": { + "de": "Helikopterlandeplatz", + "fr": "Place d'atterrissage H\u00e9lico", + "it": "Piazza d'atterraggio elicotteri" + }, + "047-I-Posteggio-veicoli": { + "de": "Fahrzeugplatz", + "fr": "Place pour v\u00e9hicules", + "it": "Posteggio veicoli" + }, + "048-I-Deposito-del-materiale": { + "de": "Materialdepot", + "fr": "D\u00e9p\u00f4t mat\u00e9riel", + "it": "Deposito del materiale" + }, + "049-I-Osservazione": { + "de": "Beobachtung", + "fr": "Observation", + "it": "Osservazione" + }, + "050-I-Sorveglianza": { + "de": "\u00dcberwachung", + "fr": "Surveillance", + "it": "Sorveglianza" + }, + "051-I-Tempesta": { + "de": "Sturm", + "fr": "Temp\u00eate", + "it": "Tempesta" + }, + "052-I-Piena": { + "de": "\u00dcberschwemmung", + "fr": "Inondation", + "it": "Piena" + }, + "053-I-Frana": { + "de": "Erdrutsch", + "fr": "Glissement de terrain", + "it": "Frana" + }, + "054-I-Valanga": { + "de": "Lawine", + "fr": "Avalanche", + "it": "Valanga" + }, + "055-I-Crollo-di-edificio": { + "de": "Geb\u00e4udeeinsturz", + "fr": "Immeuble effondr\u00e9", + "it": "Crollo di edificio" + }, + "056-I-Piogge-intense": { + "de": "Starkniederschlag", + "fr": "Fortes pr\u00e9cipitations", + "it": "Piogge intense" + }, + "057-I-Incendio": { + "de": "Brand", + "fr": "Incendie", + "it": "Incendio" + }, + "058-I-Esplosione": { + "de": "Explosion", + "fr": "Explosion", + "it": "Esplosione" + }, + "059-I-Colonna": { + "de": "Stau", + "fr": "Embouteillage", + "it": "Colonna" + }, + "060-I-Incidente-della-circolazione": { + "de": "Autounfall", + "fr": "Accident auto", + "it": "Incidente della circolazione" + }, + "061-I-Incidente-ferroviario": { + "de": "Eisenbahnungl\u00fcck", + "fr": "Accident ferroviaire", + "it": "Incidente ferroviario" + }, + "062-I-Interruzione-della-canalizzazione": { + "de": "Kanalisationsausfall", + "fr": "Egouts d\u00e9fectueux", + "it": "Interruzione della canalizzazione" + }, + "063-I-Incidente-nucleare": { + "de": "Atomunfall", + "fr": "Accident nucl\u00e9aire", + "it": "Incidente nucleare" + }, + "064-I-Incidente-biologico": { + "de": "Biounfall", + "fr": "Accident biologique", + "it": "Incidente biologico" + }, + "065-I-Inquinamento-da-idrocarburi": { + "de": "\u00d6lverschmutzung", + "fr": "Pollution aux hydrocarbures", + "it": "Inquinamento da idrocarburi" + }, + "066-I-Danni-alle-infrastrutture": { + "de": "Infrastrukturschaden", + "fr": "Dommages aux infrastructures", + "it": "Danni alle infrastrutture" + }, + "067-I-Incidente-nautico": { + "de": "Schiffsversenkung", + "fr": "Accident navigation", + "it": "Incidente nautico" + }, + "068-I-Incidente-chimico": { + "de": "Chemieunfall", + "fr": "Accident chimique", + "it": "Incidente chimico" + }, + "069-I-Saccheggi": { + "de": "Pl\u00fcnderung", + "fr": "Pillage", + "it": "Saccheggi" + }, + "070-I-Dimostrazioni": { + "de": "Demo gewaltlos", + "fr": "Manifestation", + "it": "Dimostrazioni" + }, + "071-I-Dimostrazioni-con-disordini": { + "de": "Demo gewaltsam", + "fr": "Manifestation avec exactions", + "it": "Dimostrazioni con disordini" + }, + "072-I-Panico-di-massa": { + "de": "Massenpanik", + "fr": "Effet de panique", + "it": "Panico di massa" + }, + "073-I-Attentato-incendiario": { + "de": "Brandanschlag", + "fr": "Incendie criminel", + "it": "Attentato incendiario" + }, + "074-I-Sabotaggio": { + "de": "Sabotage", + "fr": "Sabotage", + "it": "Sabotaggio" + }, + "075-I-Attentato-dinamitardo": { + "de": "Bombenanschlag", + "fr": "Attentat \u00e0 la bombe", + "it": "Attentato dinamitardo" + }, + "076-I-Squadra-P": { + "de": "Trupp P", + "fr": "Patrouille P", + "it": "Squadra P" + }, + "077-I-Gruppo-P": { + "de": "Grupp P", + "fr": "Groupe P", + "it": "Gruppo P" + }, + "078-I-Sezione-P": { + "de": "Zug P", + "fr": "Section P", + "it": "Sezione P" + }, + "079-I-Capogruppo-P": { + "de": "Gruppenf\u00fchrer P", + "fr": "Chef de groupe P", + "it": "Capogruppo P" + }, + "080-I-Ufficiale-caposezione-P": { + "de": "Offizier_Zugf\u00fchrer P", + "fr": "Officier Chef de section P", + "it": "Ufficiale caposezione P" + }, + "081-I-Capointervento-P": { + "de": "Einsatzleiter P", + "fr": "Chef d'intervention P", + "it": "Capointervento P" + }, + "082-I-Squadra-CP": { + "de": "Trupp FW", + "fr": "Patrouille SP", + "it": "Squadra CP" + }, + "083-I-Gruppo-CP": { + "de": "Gruppe FW", + "fr": "Groupe SP", + "it": "Gruppo CP" + }, + "084-I-Sezione-CP": { + "de": "Zug FW", + "fr": "Section SP", + "it": "Sezione CP" + }, + "085-I-Capogruppo-CP": { + "de": "Gruppenf\u00fchrer FW", + "fr": "Chef de groupe SP", + "it": "Capogruppo CP" + }, + "086-I-Ufficiale-caposezione-CP": { + "de": "Offizier Zugf\u00fchrer FW", + "fr": "Officier Chef de section SP", + "it": "Ufficiale caposezione CP" + }, + "087-I-Capointervento-CP": { + "de": "Einsatzleiter FW", + "fr": "Chef d'intervention SP", + "it": "Capointervento CP" + }, + "088-I-Squadra-San": { + "de": "Trupp San", + "fr": "Patrouille San", + "it": "Squadra San" + }, + "089-I-Gruppo-San": { + "de": "Gruppe San", + "fr": "Groupe San", + "it": "Gruppo San" + }, + "090-I-Squadra": { + "de": "Trupp ", + "fr": "Patrouille", + "it": "Squadra" + }, + "091-I-Gruppo": { + "de": "Gruppe ", + "fr": "Groupe", + "it": "Gruppo" + }, + "092-I-Sezione": { + "de": "Zug ", + "fr": "Section", + "it": "Sezione" + }, + "093-I-Compagnia": { + "de": "Kompanie", + "fr": "Compagnie", + "it": "Compagnia" + }, + "094-I-Bataillone": { + "de": "Bataillon", + "fr": "Bataillon", + "it": "Bataillone" + }, + "095-I-Capogruppo": { + "de": "Gruppenf\u00fchrer", + "fr": "Chef de groupe", + "it": "Capogruppo" + }, + "096-I-Ufficiale-caposezione": { + "de": "Offizier Zugf\u00fchrer", + "fr": "Officier Chef de section", + "it": "Ufficiale caposezione" + }, + "097-I-Capointervento": { + "de": "Einsatzleiter", + "fr": "Chef d'intervention", + "it": "Capointervento" + }, + "098-I-Intervento-pianificato": { + "de": "Beabsichtigter Einsatz", + "fr": "Engagement pr\u00e9vu", + "it": "Intervento pianificato" + }, + "099-I-Ricognizione-pianificata": { + "de": "Beabsichtigte Erkundung", + "fr": "Reconnaissance pr\u00e9vue", + "it": "Ricognizione pianificata" + }, + "100-I-Intervento-eseguito": { + "de": "Durchgef\u00fchrter Einsatz", + "fr": "Engagement ex\u00e9cut\u00e9", + "it": "Intervento eseguito" + }, + "101-I-Ricognizione-eseguita": { + "de": "Durchgef\u00fchrte Erkundung", + "fr": "Reconnaissance ex\u00e9cut\u00e9e", + "it": "Ricognizione eseguita" + }, + "102-I-Automobile": { + "de": "Motorfahrzeug", + "fr": "V\u00e9hicule l\u00e9ger", + "it": "Automobile" + }, + "103-I-Autocarro": { + "de": "Lastwagen", + "fr": "Poids-lourd", + "it": "Autocarro" + }, + "104-I-Veicoli-per-il-transporto": { + "de": "Transportfahrzeug", + "fr": "V\u00e9hicule de transport", + "it": "Veicoli per il transporto" + }, + "105-I-Ambulanza": { + "de": "Ambulanz", + "fr": "Ambulance", + "it": "Ambulanza" + }, + "106-I-Elicottero": { + "de": "Helikopter", + "fr": "H\u00e9licopt\u00e8re", + "it": "Elicottero" + }, + "107-I-Autobotte": { + "de": "Tankl\u00f6schfahrzeug", + "fr": "Fourgon tonne-pompe", + "it": "Autobotte" + }, + "108-I-Lanciaacqua": { + "de": "Wasserwerfer", + "fr": "Canon \u00e0 eau", + "it": "Lanciaacqua" + }, + "109-I-Elevatore-a-navicella": { + "de": "Hubrettungsfahrzeug", + "fr": "El\u00e9vateur \u00e0 nacelle", + "it": "Elevatore a navicella" + }, + "110-I-Scala-motorizzata": { + "de": "Autodrehleiter", + "fr": "Echelle", + "it": "Scala motorizzata" + }, + "111-I-Strada-nazionale": { + "de": "Nationalstrasse", + "fr": "Route", + "it": "Strada nazionale" + }, + "112-I-Autostrada": { + "de": "Autobahn", + "fr": "Autoroute", + "it": "Autostrada" + }, + "113-I-Linea-ferroviaria": { + "de": "Eisenbahn", + "fr": "Chemin de fer", + "it": "Linea ferroviaria" + }, + "114-I-Divieto-di-navigazione": { + "de": "Schiffahrt Verbot", + "fr": "Interdiction de naviguer", + "it": "Divieto di navigazione" + }, + "115-I-Divieto-di-sorvolo": { + "de": "\u00dcberflugverbot", + "fr": "Interdiction de survoler", + "it": "Divieto di sorvolo" + }, + "116-I-Punto-di-raccolta-d-urgenza": { + "de": "Notfalltreffpunkt", + "fr": "Point de rassemblement d'urgence", + "it": "Punto di raccolta d'urgenza" + } +} diff --git a/scripts/generate_babs_dic.py b/scripts/generate_babs_dic.py new file mode 100644 index 0000000..b5861f5 --- /dev/null +++ b/scripts/generate_babs_dic.py @@ -0,0 +1,43 @@ +import argparse +import json + +# pylint: disable=import-error +import pandas as pd + + +def generate_translation_file(args): + id_range = slice(0, -4) + source = args.input + destination = args.output + df = pd.read_excel(source, sheet_name=0) + for filename in ['Dateiname - D', 'Dateiname - F', 'Dateiname - I']: + # read by default 1st sheet of an excel file + json_dic = {} + for index, row in df.iterrows(): + string_id = row[filename][id_range] + icon_dic = { + "de": row['Text Mouseover - D'], + "fr": row['Text Mouseover - F'], + "it": row['Text Mouseover - I'] + } + json_dic[string_id] = icon_dic + + with open( + destination + '-' + filename[-1] + '-dictionary.json', "w", encoding='utf-8' + ) as outfile: + json.dump(json_dic, outfile, indent=4) + + +def main(): + # example command: + # python3 generate_babs_dic.py --input=../../tmp/babs.xlsx --output=../metadata/description/babs + # (do not specify filetype for output since it creates a file for every language) + parser = argparse.ArgumentParser(description='Create json translation file from excel file ') + parser.add_argument('--input', action="store", dest='input', default=None) + parser.add_argument('--output', action="store", dest='output', default=None) + args = parser.parse_args() + generate_translation_file(args) + + +if __name__ == '__main__': + main() diff --git a/scripts/shift_icons.sh b/scripts/shift_icons.sh new file mode 100644 index 0000000..edf4666 --- /dev/null +++ b/scripts/shift_icons.sh @@ -0,0 +1,11 @@ +#! /bin/bash + +# convert use imagemagick +# -repage set location of image (shift) +# -background none fill empty space with alpha +# -flatten compose image +# PNG32: keep four color channels +COMMAND="convert -page -2+2 {} -background none -flatten PNG32:{}" +DIRECTORY='../static/images/default/' + +find $DIRECTORY -maxdepth 1 -iname '*.png' -exec sh -c "$COMMAND" \; diff --git a/static/images/babs-de/001-D-Beschaedigung.png b/static/images/babs-de/001-D-Beschaedigung.png new file mode 100644 index 0000000..7faa404 Binary files /dev/null and b/static/images/babs-de/001-D-Beschaedigung.png differ diff --git a/static/images/babs-de/002-D-Teilzerstoerung.png b/static/images/babs-de/002-D-Teilzerstoerung.png new file mode 100644 index 0000000..d436138 Binary files /dev/null and b/static/images/babs-de/002-D-Teilzerstoerung.png differ diff --git a/static/images/babs-de/003-D-Totalzerstoerung.png b/static/images/babs-de/003-D-Totalzerstoerung.png new file mode 100644 index 0000000..919e29a Binary files /dev/null and b/static/images/babs-de/003-D-Totalzerstoerung.png differ diff --git a/static/images/babs-de/004-D-Brand-einzelnes-Gebaeude-Flamme.png b/static/images/babs-de/004-D-Brand-einzelnes-Gebaeude-Flamme.png new file mode 100644 index 0000000..414544e Binary files /dev/null and b/static/images/babs-de/004-D-Brand-einzelnes-Gebaeude-Flamme.png differ diff --git a/static/images/babs-de/005-D-Explosionsherd.png b/static/images/babs-de/005-D-Explosionsherd.png new file mode 100644 index 0000000..3ec810d Binary files /dev/null and b/static/images/babs-de/005-D-Explosionsherd.png differ diff --git a/static/images/babs-de/006-D-Verletzte.png b/static/images/babs-de/006-D-Verletzte.png new file mode 100644 index 0000000..4e2456d Binary files /dev/null and b/static/images/babs-de/006-D-Verletzte.png differ diff --git a/static/images/babs-de/007-D-Eingesperrte.png b/static/images/babs-de/007-D-Eingesperrte.png new file mode 100644 index 0000000..554d43c Binary files /dev/null and b/static/images/babs-de/007-D-Eingesperrte.png differ diff --git a/static/images/babs-de/008-D-Obdachlose.png b/static/images/babs-de/008-D-Obdachlose.png new file mode 100644 index 0000000..0858907 Binary files /dev/null and b/static/images/babs-de/008-D-Obdachlose.png differ diff --git a/static/images/babs-de/009-D-Tote.png b/static/images/babs-de/009-D-Tote.png new file mode 100644 index 0000000..65a54ed Binary files /dev/null and b/static/images/babs-de/009-D-Tote.png differ diff --git a/static/images/babs-de/010-D-Vermisste.png b/static/images/babs-de/010-D-Vermisste.png new file mode 100644 index 0000000..5db56f3 Binary files /dev/null and b/static/images/babs-de/010-D-Vermisste.png differ diff --git a/static/images/babs-de/011-D-Armee.png b/static/images/babs-de/011-D-Armee.png new file mode 100644 index 0000000..c59c333 Binary files /dev/null and b/static/images/babs-de/011-D-Armee.png differ diff --git a/static/images/babs-de/012-D-Polizei.png b/static/images/babs-de/012-D-Polizei.png new file mode 100644 index 0000000..bb795a3 Binary files /dev/null and b/static/images/babs-de/012-D-Polizei.png differ diff --git a/static/images/babs-de/013-D-Zivilschutz.png b/static/images/babs-de/013-D-Zivilschutz.png new file mode 100644 index 0000000..0915965 Binary files /dev/null and b/static/images/babs-de/013-D-Zivilschutz.png differ diff --git a/static/images/babs-de/014-D-Sanitaer.png b/static/images/babs-de/014-D-Sanitaer.png new file mode 100644 index 0000000..8392b9d Binary files /dev/null and b/static/images/babs-de/014-D-Sanitaer.png differ diff --git a/static/images/babs-de/015-D-Feuerwehr.png b/static/images/babs-de/015-D-Feuerwehr.png new file mode 100644 index 0000000..d064af3 Binary files /dev/null and b/static/images/babs-de/015-D-Feuerwehr.png differ diff --git a/static/images/babs-de/016-D-TechnB.png b/static/images/babs-de/016-D-TechnB.png new file mode 100644 index 0000000..be205f9 Binary files /dev/null and b/static/images/babs-de/016-D-TechnB.png differ diff --git a/static/images/babs-de/017-D-Unfall.png b/static/images/babs-de/017-D-Unfall.png new file mode 100644 index 0000000..ebf5baa Binary files /dev/null and b/static/images/babs-de/017-D-Unfall.png differ diff --git a/static/images/babs-de/018-D-Chemikalien.png b/static/images/babs-de/018-D-Chemikalien.png new file mode 100644 index 0000000..73d101a Binary files /dev/null and b/static/images/babs-de/018-D-Chemikalien.png differ diff --git a/static/images/babs-de/019-D-Elektrizitaet.png b/static/images/babs-de/019-D-Elektrizitaet.png new file mode 100644 index 0000000..387addd Binary files /dev/null and b/static/images/babs-de/019-D-Elektrizitaet.png differ diff --git a/static/images/babs-de/020-D-Explosion.png b/static/images/babs-de/020-D-Explosion.png new file mode 100644 index 0000000..393a388 Binary files /dev/null and b/static/images/babs-de/020-D-Explosion.png differ diff --git a/static/images/babs-de/021-D-Gas.png b/static/images/babs-de/021-D-Gas.png new file mode 100644 index 0000000..438acb2 Binary files /dev/null and b/static/images/babs-de/021-D-Gas.png differ diff --git a/static/images/babs-de/022-D-Gefahr-durch-Loeschen-mit-Wasser.png b/static/images/babs-de/022-D-Gefahr-durch-Loeschen-mit-Wasser.png new file mode 100644 index 0000000..443d6bc Binary files /dev/null and b/static/images/babs-de/022-D-Gefahr-durch-Loeschen-mit-Wasser.png differ diff --git a/static/images/babs-de/023-D-Radioaktive-Stoffe.png b/static/images/babs-de/023-D-Radioaktive-Stoffe.png new file mode 100644 index 0000000..bc36e9b Binary files /dev/null and b/static/images/babs-de/023-D-Radioaktive-Stoffe.png differ diff --git a/static/images/babs-de/024-D-Gefahr-fuer-Grundwasser.png b/static/images/babs-de/024-D-Gefahr-fuer-Grundwasser.png new file mode 100644 index 0000000..0676d5d Binary files /dev/null and b/static/images/babs-de/024-D-Gefahr-fuer-Grundwasser.png differ diff --git a/static/images/babs-de/025-D-KFO.png b/static/images/babs-de/025-D-KFO.png new file mode 100644 index 0000000..ff1c96d Binary files /dev/null and b/static/images/babs-de/025-D-KFO.png differ diff --git a/static/images/babs-de/026-D-RFO.png b/static/images/babs-de/026-D-RFO.png new file mode 100644 index 0000000..6e361f4 Binary files /dev/null and b/static/images/babs-de/026-D-RFO.png differ diff --git a/static/images/babs-de/027-D-GFO.png b/static/images/babs-de/027-D-GFO.png new file mode 100644 index 0000000..63cb637 Binary files /dev/null and b/static/images/babs-de/027-D-GFO.png differ diff --git a/static/images/babs-de/028-D-EZ.png b/static/images/babs-de/028-D-EZ.png new file mode 100644 index 0000000..587ca03 Binary files /dev/null and b/static/images/babs-de/028-D-EZ.png differ diff --git a/static/images/babs-de/029-D-MEZ.png b/static/images/babs-de/029-D-MEZ.png new file mode 100644 index 0000000..aaa4b4f Binary files /dev/null and b/static/images/babs-de/029-D-MEZ.png differ diff --git a/static/images/babs-de/030-D-EL.png b/static/images/babs-de/030-D-EL.png new file mode 100644 index 0000000..2bb36e3 Binary files /dev/null and b/static/images/babs-de/030-D-EL.png differ diff --git a/static/images/babs-de/031-D-Rueck.png b/static/images/babs-de/031-D-Rueck.png new file mode 100644 index 0000000..00090c1 Binary files /dev/null and b/static/images/babs-de/031-D-Rueck.png differ diff --git a/static/images/babs-de/032-D-Front.png b/static/images/babs-de/032-D-Front.png new file mode 100644 index 0000000..d113709 Binary files /dev/null and b/static/images/babs-de/032-D-Front.png differ diff --git a/static/images/babs-de/033-D-Informationsstelle.png b/static/images/babs-de/033-D-Informationsstelle.png new file mode 100644 index 0000000..219091a Binary files /dev/null and b/static/images/babs-de/033-D-Informationsstelle.png differ diff --git a/static/images/babs-de/034-D-Sammelstelle.png b/static/images/babs-de/034-D-Sammelstelle.png new file mode 100644 index 0000000..0ca0d13 Binary files /dev/null and b/static/images/babs-de/034-D-Sammelstelle.png differ diff --git a/static/images/babs-de/035-D-Betreuungsstelle.png b/static/images/babs-de/035-D-Betreuungsstelle.png new file mode 100644 index 0000000..c520eaf Binary files /dev/null and b/static/images/babs-de/035-D-Betreuungsstelle.png differ diff --git a/static/images/babs-de/036-D-Patientensammelstelle.png b/static/images/babs-de/036-D-Patientensammelstelle.png new file mode 100644 index 0000000..2a9f211 Binary files /dev/null and b/static/images/babs-de/036-D-Patientensammelstelle.png differ diff --git a/static/images/babs-de/037-D-Sanitaetshilfsstelle.png b/static/images/babs-de/037-D-Sanitaetshilfsstelle.png new file mode 100644 index 0000000..065ec19 Binary files /dev/null and b/static/images/babs-de/037-D-Sanitaetshilfsstelle.png differ diff --git a/static/images/babs-de/038-D-Totensammelstelle.png b/static/images/babs-de/038-D-Totensammelstelle.png new file mode 100644 index 0000000..0a5b793 Binary files /dev/null and b/static/images/babs-de/038-D-Totensammelstelle.png differ diff --git a/static/images/babs-de/039-D-Verpflegungsabgabestelle.png b/static/images/babs-de/039-D-Verpflegungsabgabestelle.png new file mode 100644 index 0000000..8f8749d Binary files /dev/null and b/static/images/babs-de/039-D-Verpflegungsabgabestelle.png differ diff --git a/static/images/babs-de/040-D-Betriebsstoffabgabestelle.png b/static/images/babs-de/040-D-Betriebsstoffabgabestelle.png new file mode 100644 index 0000000..e8ee0e0 Binary files /dev/null and b/static/images/babs-de/040-D-Betriebsstoffabgabestelle.png differ diff --git a/static/images/babs-de/041-D-KGS-Notdepot.png b/static/images/babs-de/041-D-KGS-Notdepot.png new file mode 100644 index 0000000..5453c21 Binary files /dev/null and b/static/images/babs-de/041-D-KGS-Notdepot.png differ diff --git a/static/images/babs-de/042-D-Pforte.png b/static/images/babs-de/042-D-Pforte.png new file mode 100644 index 0000000..707c18c Binary files /dev/null and b/static/images/babs-de/042-D-Pforte.png differ diff --git a/static/images/babs-de/043-D-Umleitung.png b/static/images/babs-de/043-D-Umleitung.png new file mode 100644 index 0000000..7fe98a1 Binary files /dev/null and b/static/images/babs-de/043-D-Umleitung.png differ diff --git a/static/images/babs-de/044-D-Absperrung-Verkehrswege.png b/static/images/babs-de/044-D-Absperrung-Verkehrswege.png new file mode 100644 index 0000000..168c362 Binary files /dev/null and b/static/images/babs-de/044-D-Absperrung-Verkehrswege.png differ diff --git a/static/images/babs-de/045-D-Sperre.png b/static/images/babs-de/045-D-Sperre.png new file mode 100644 index 0000000..ff3065e Binary files /dev/null and b/static/images/babs-de/045-D-Sperre.png differ diff --git a/static/images/babs-de/046-D-Helikopterlandeplatz.png b/static/images/babs-de/046-D-Helikopterlandeplatz.png new file mode 100644 index 0000000..fb634c7 Binary files /dev/null and b/static/images/babs-de/046-D-Helikopterlandeplatz.png differ diff --git a/static/images/babs-de/047-D-Fahrzeugplatz.png b/static/images/babs-de/047-D-Fahrzeugplatz.png new file mode 100644 index 0000000..b0edb91 Binary files /dev/null and b/static/images/babs-de/047-D-Fahrzeugplatz.png differ diff --git a/static/images/babs-de/048-D-Materialdepot.png b/static/images/babs-de/048-D-Materialdepot.png new file mode 100644 index 0000000..59a124c Binary files /dev/null and b/static/images/babs-de/048-D-Materialdepot.png differ diff --git a/static/images/babs-de/049-D-Beobachtung.png b/static/images/babs-de/049-D-Beobachtung.png new file mode 100644 index 0000000..0eb3c0b Binary files /dev/null and b/static/images/babs-de/049-D-Beobachtung.png differ diff --git a/static/images/babs-de/050-D-Ueberwachung.png b/static/images/babs-de/050-D-Ueberwachung.png new file mode 100644 index 0000000..6ffc3de Binary files /dev/null and b/static/images/babs-de/050-D-Ueberwachung.png differ diff --git a/static/images/babs-de/051-D-Sturm.png b/static/images/babs-de/051-D-Sturm.png new file mode 100644 index 0000000..5fc83d7 Binary files /dev/null and b/static/images/babs-de/051-D-Sturm.png differ diff --git a/static/images/babs-de/052-D-Ueberschwemmung.png b/static/images/babs-de/052-D-Ueberschwemmung.png new file mode 100644 index 0000000..4532b53 Binary files /dev/null and b/static/images/babs-de/052-D-Ueberschwemmung.png differ diff --git a/static/images/babs-de/053-D-Erdrutsch.png b/static/images/babs-de/053-D-Erdrutsch.png new file mode 100644 index 0000000..30660a5 Binary files /dev/null and b/static/images/babs-de/053-D-Erdrutsch.png differ diff --git a/static/images/babs-de/054-D-Lawine.png b/static/images/babs-de/054-D-Lawine.png new file mode 100644 index 0000000..ce8e1c4 Binary files /dev/null and b/static/images/babs-de/054-D-Lawine.png differ diff --git a/static/images/babs-de/055-D-Gebaeudeeinsturz.png b/static/images/babs-de/055-D-Gebaeudeeinsturz.png new file mode 100644 index 0000000..4cbb0ef Binary files /dev/null and b/static/images/babs-de/055-D-Gebaeudeeinsturz.png differ diff --git a/static/images/babs-de/056-D-Starkniederschlag.png b/static/images/babs-de/056-D-Starkniederschlag.png new file mode 100644 index 0000000..d966df0 Binary files /dev/null and b/static/images/babs-de/056-D-Starkniederschlag.png differ diff --git a/static/images/babs-de/057-D-Brand.png b/static/images/babs-de/057-D-Brand.png new file mode 100644 index 0000000..c834227 Binary files /dev/null and b/static/images/babs-de/057-D-Brand.png differ diff --git a/static/images/babs-de/058-D-Explosion-pikt.png b/static/images/babs-de/058-D-Explosion-pikt.png new file mode 100644 index 0000000..d38dca8 Binary files /dev/null and b/static/images/babs-de/058-D-Explosion-pikt.png differ diff --git a/static/images/babs-de/059-D-Stau.png b/static/images/babs-de/059-D-Stau.png new file mode 100644 index 0000000..278c8ac Binary files /dev/null and b/static/images/babs-de/059-D-Stau.png differ diff --git a/static/images/babs-de/060-D-Autounfall.png b/static/images/babs-de/060-D-Autounfall.png new file mode 100644 index 0000000..8b08e0f Binary files /dev/null and b/static/images/babs-de/060-D-Autounfall.png differ diff --git a/static/images/babs-de/061-D-Eisenbahnunglueck.png b/static/images/babs-de/061-D-Eisenbahnunglueck.png new file mode 100644 index 0000000..be1d781 Binary files /dev/null and b/static/images/babs-de/061-D-Eisenbahnunglueck.png differ diff --git a/static/images/babs-de/062-D-Kanalisationsausfall.png b/static/images/babs-de/062-D-Kanalisationsausfall.png new file mode 100644 index 0000000..700990d Binary files /dev/null and b/static/images/babs-de/062-D-Kanalisationsausfall.png differ diff --git a/static/images/babs-de/063-D-Atomunfall.png b/static/images/babs-de/063-D-Atomunfall.png new file mode 100644 index 0000000..ff637f7 Binary files /dev/null and b/static/images/babs-de/063-D-Atomunfall.png differ diff --git a/static/images/babs-de/064-D-Biounfall.png b/static/images/babs-de/064-D-Biounfall.png new file mode 100644 index 0000000..9743e13 Binary files /dev/null and b/static/images/babs-de/064-D-Biounfall.png differ diff --git a/static/images/babs-de/065-D-Oelverschmutzung.png b/static/images/babs-de/065-D-Oelverschmutzung.png new file mode 100644 index 0000000..3765605 Binary files /dev/null and b/static/images/babs-de/065-D-Oelverschmutzung.png differ diff --git a/static/images/babs-de/066-D-Infrastrukturschaden.png b/static/images/babs-de/066-D-Infrastrukturschaden.png new file mode 100644 index 0000000..6e5a781 Binary files /dev/null and b/static/images/babs-de/066-D-Infrastrukturschaden.png differ diff --git a/static/images/babs-de/067-D-Schiffsversenkung.png b/static/images/babs-de/067-D-Schiffsversenkung.png new file mode 100644 index 0000000..16378fd Binary files /dev/null and b/static/images/babs-de/067-D-Schiffsversenkung.png differ diff --git a/static/images/babs-de/068-D-Chemieunfall.png b/static/images/babs-de/068-D-Chemieunfall.png new file mode 100644 index 0000000..83e8423 Binary files /dev/null and b/static/images/babs-de/068-D-Chemieunfall.png differ diff --git a/static/images/babs-de/069-D-Pluenderung.png b/static/images/babs-de/069-D-Pluenderung.png new file mode 100644 index 0000000..9845d52 Binary files /dev/null and b/static/images/babs-de/069-D-Pluenderung.png differ diff --git a/static/images/babs-de/070-D-Demo-gewaltlos.png b/static/images/babs-de/070-D-Demo-gewaltlos.png new file mode 100644 index 0000000..d77f6a0 Binary files /dev/null and b/static/images/babs-de/070-D-Demo-gewaltlos.png differ diff --git a/static/images/babs-de/071-D-Demo-gewaltsam.png b/static/images/babs-de/071-D-Demo-gewaltsam.png new file mode 100644 index 0000000..42e4376 Binary files /dev/null and b/static/images/babs-de/071-D-Demo-gewaltsam.png differ diff --git a/static/images/babs-de/072-D-Massenpanik.png b/static/images/babs-de/072-D-Massenpanik.png new file mode 100644 index 0000000..11ec821 Binary files /dev/null and b/static/images/babs-de/072-D-Massenpanik.png differ diff --git a/static/images/babs-de/073-D-Brandanschlag.png b/static/images/babs-de/073-D-Brandanschlag.png new file mode 100644 index 0000000..3ed2734 Binary files /dev/null and b/static/images/babs-de/073-D-Brandanschlag.png differ diff --git a/static/images/babs-de/074-D-Sabotage.png b/static/images/babs-de/074-D-Sabotage.png new file mode 100644 index 0000000..9e1fb3c Binary files /dev/null and b/static/images/babs-de/074-D-Sabotage.png differ diff --git a/static/images/babs-de/075-D-Bombenanschlag.png b/static/images/babs-de/075-D-Bombenanschlag.png new file mode 100644 index 0000000..107df7d Binary files /dev/null and b/static/images/babs-de/075-D-Bombenanschlag.png differ diff --git a/static/images/babs-de/076-D-Trupp-p-P.png b/static/images/babs-de/076-D-Trupp-p-P.png new file mode 100644 index 0000000..b5568c6 Binary files /dev/null and b/static/images/babs-de/076-D-Trupp-p-P.png differ diff --git a/static/images/babs-de/077-D-Gruppe-p-P.png b/static/images/babs-de/077-D-Gruppe-p-P.png new file mode 100644 index 0000000..b59dd08 Binary files /dev/null and b/static/images/babs-de/077-D-Gruppe-p-P.png differ diff --git a/static/images/babs-de/078-D-Zug-p-P.png b/static/images/babs-de/078-D-Zug-p-P.png new file mode 100644 index 0000000..60a5830 Binary files /dev/null and b/static/images/babs-de/078-D-Zug-p-P.png differ diff --git a/static/images/babs-de/079-D-Gruppenfuehrer-P.png b/static/images/babs-de/079-D-Gruppenfuehrer-P.png new file mode 100644 index 0000000..9852fb2 Binary files /dev/null and b/static/images/babs-de/079-D-Gruppenfuehrer-P.png differ diff --git a/static/images/babs-de/080-D-Offizier-Zugfuehrer-P.png b/static/images/babs-de/080-D-Offizier-Zugfuehrer-P.png new file mode 100644 index 0000000..7886ec5 Binary files /dev/null and b/static/images/babs-de/080-D-Offizier-Zugfuehrer-P.png differ diff --git a/static/images/babs-de/081-D-Einsatzleiter-P.png b/static/images/babs-de/081-D-Einsatzleiter-P.png new file mode 100644 index 0000000..3adc729 Binary files /dev/null and b/static/images/babs-de/081-D-Einsatzleiter-P.png differ diff --git a/static/images/babs-de/082-D-Trupp-p-FW.png b/static/images/babs-de/082-D-Trupp-p-FW.png new file mode 100644 index 0000000..371912d Binary files /dev/null and b/static/images/babs-de/082-D-Trupp-p-FW.png differ diff --git a/static/images/babs-de/083-D-Gruppe-p-FW.png b/static/images/babs-de/083-D-Gruppe-p-FW.png new file mode 100644 index 0000000..e677c82 Binary files /dev/null and b/static/images/babs-de/083-D-Gruppe-p-FW.png differ diff --git a/static/images/babs-de/084-D-Zug-p-FW.png b/static/images/babs-de/084-D-Zug-p-FW.png new file mode 100644 index 0000000..6b7e77f Binary files /dev/null and b/static/images/babs-de/084-D-Zug-p-FW.png differ diff --git a/static/images/babs-de/085-D-Gruppenfuehrer-FW.png b/static/images/babs-de/085-D-Gruppenfuehrer-FW.png new file mode 100644 index 0000000..3cf1706 Binary files /dev/null and b/static/images/babs-de/085-D-Gruppenfuehrer-FW.png differ diff --git a/static/images/babs-de/086-D-Offizier-Zugfuehrer-FW.png b/static/images/babs-de/086-D-Offizier-Zugfuehrer-FW.png new file mode 100644 index 0000000..fa8908f Binary files /dev/null and b/static/images/babs-de/086-D-Offizier-Zugfuehrer-FW.png differ diff --git a/static/images/babs-de/087-D-Einsatzleiter-FW.png b/static/images/babs-de/087-D-Einsatzleiter-FW.png new file mode 100644 index 0000000..b7f5340 Binary files /dev/null and b/static/images/babs-de/087-D-Einsatzleiter-FW.png differ diff --git a/static/images/babs-de/088-D-Trupp-p-San.png b/static/images/babs-de/088-D-Trupp-p-San.png new file mode 100644 index 0000000..d3edf5d Binary files /dev/null and b/static/images/babs-de/088-D-Trupp-p-San.png differ diff --git a/static/images/babs-de/089-D-Gruppe-p-San.png b/static/images/babs-de/089-D-Gruppe-p-San.png new file mode 100644 index 0000000..ca30424 Binary files /dev/null and b/static/images/babs-de/089-D-Gruppe-p-San.png differ diff --git a/static/images/babs-de/090-D-Trupp-p.png b/static/images/babs-de/090-D-Trupp-p.png new file mode 100644 index 0000000..c7cc391 Binary files /dev/null and b/static/images/babs-de/090-D-Trupp-p.png differ diff --git a/static/images/babs-de/091-D-Gruppe-p.png b/static/images/babs-de/091-D-Gruppe-p.png new file mode 100644 index 0000000..9a69a0f Binary files /dev/null and b/static/images/babs-de/091-D-Gruppe-p.png differ diff --git a/static/images/babs-de/092-D-Zug-p.png b/static/images/babs-de/092-D-Zug-p.png new file mode 100644 index 0000000..4a6a45d Binary files /dev/null and b/static/images/babs-de/092-D-Zug-p.png differ diff --git a/static/images/babs-de/093-D-Kompanie.png b/static/images/babs-de/093-D-Kompanie.png new file mode 100644 index 0000000..38afc0f Binary files /dev/null and b/static/images/babs-de/093-D-Kompanie.png differ diff --git a/static/images/babs-de/094-D-Bataillon.png b/static/images/babs-de/094-D-Bataillon.png new file mode 100644 index 0000000..932c8b2 Binary files /dev/null and b/static/images/babs-de/094-D-Bataillon.png differ diff --git a/static/images/babs-de/095-D-Gruppenfuehrer.png b/static/images/babs-de/095-D-Gruppenfuehrer.png new file mode 100644 index 0000000..917cd4e Binary files /dev/null and b/static/images/babs-de/095-D-Gruppenfuehrer.png differ diff --git a/static/images/babs-de/096-D-Offizier-Zugfuehrer.png b/static/images/babs-de/096-D-Offizier-Zugfuehrer.png new file mode 100644 index 0000000..455c2eb Binary files /dev/null and b/static/images/babs-de/096-D-Offizier-Zugfuehrer.png differ diff --git a/static/images/babs-de/097-D-Einsatzleiter.png b/static/images/babs-de/097-D-Einsatzleiter.png new file mode 100644 index 0000000..cd2bd84 Binary files /dev/null and b/static/images/babs-de/097-D-Einsatzleiter.png differ diff --git a/static/images/babs-de/098-D-Beabsichtigter-Einsatz.png b/static/images/babs-de/098-D-Beabsichtigter-Einsatz.png new file mode 100644 index 0000000..8c29dac Binary files /dev/null and b/static/images/babs-de/098-D-Beabsichtigter-Einsatz.png differ diff --git a/static/images/babs-de/099-D-Beabsichtigte-Erkundung.png b/static/images/babs-de/099-D-Beabsichtigte-Erkundung.png new file mode 100644 index 0000000..8783c49 Binary files /dev/null and b/static/images/babs-de/099-D-Beabsichtigte-Erkundung.png differ diff --git a/static/images/babs-de/100-D-Durchgefuehrter-Einsatz.png b/static/images/babs-de/100-D-Durchgefuehrter-Einsatz.png new file mode 100644 index 0000000..ee6281b Binary files /dev/null and b/static/images/babs-de/100-D-Durchgefuehrter-Einsatz.png differ diff --git a/static/images/babs-de/101-D-Durchgefuehrte-Erkundung.png b/static/images/babs-de/101-D-Durchgefuehrte-Erkundung.png new file mode 100644 index 0000000..2573c36 Binary files /dev/null and b/static/images/babs-de/101-D-Durchgefuehrte-Erkundung.png differ diff --git a/static/images/babs-de/102-D-Motorfahrzeug.png b/static/images/babs-de/102-D-Motorfahrzeug.png new file mode 100644 index 0000000..fcb351c Binary files /dev/null and b/static/images/babs-de/102-D-Motorfahrzeug.png differ diff --git a/static/images/babs-de/103-D-Lastwagen.png b/static/images/babs-de/103-D-Lastwagen.png new file mode 100644 index 0000000..ceca82d Binary files /dev/null and b/static/images/babs-de/103-D-Lastwagen.png differ diff --git a/static/images/babs-de/104-D-Transportfahrzeug.png b/static/images/babs-de/104-D-Transportfahrzeug.png new file mode 100644 index 0000000..fe307f2 Binary files /dev/null and b/static/images/babs-de/104-D-Transportfahrzeug.png differ diff --git a/static/images/babs-de/105-D-Ambulanz.png b/static/images/babs-de/105-D-Ambulanz.png new file mode 100644 index 0000000..276d1d9 Binary files /dev/null and b/static/images/babs-de/105-D-Ambulanz.png differ diff --git a/static/images/babs-de/106-D-Helikopter.png b/static/images/babs-de/106-D-Helikopter.png new file mode 100644 index 0000000..9396e43 Binary files /dev/null and b/static/images/babs-de/106-D-Helikopter.png differ diff --git a/static/images/babs-de/107-D-Tankloeschfahrzeug.png b/static/images/babs-de/107-D-Tankloeschfahrzeug.png new file mode 100644 index 0000000..f2a81f6 Binary files /dev/null and b/static/images/babs-de/107-D-Tankloeschfahrzeug.png differ diff --git a/static/images/babs-de/108-D-Wasserwerfer.png b/static/images/babs-de/108-D-Wasserwerfer.png new file mode 100644 index 0000000..7323d89 Binary files /dev/null and b/static/images/babs-de/108-D-Wasserwerfer.png differ diff --git a/static/images/babs-de/109-D-Hubrettungsfahrzeug.png b/static/images/babs-de/109-D-Hubrettungsfahrzeug.png new file mode 100644 index 0000000..b212d46 Binary files /dev/null and b/static/images/babs-de/109-D-Hubrettungsfahrzeug.png differ diff --git a/static/images/babs-de/110-D-Autodrehleiter.png b/static/images/babs-de/110-D-Autodrehleiter.png new file mode 100644 index 0000000..f8a812b Binary files /dev/null and b/static/images/babs-de/110-D-Autodrehleiter.png differ diff --git a/static/images/babs-de/111-D-Nationalstrasse.png b/static/images/babs-de/111-D-Nationalstrasse.png new file mode 100644 index 0000000..60fd5d8 Binary files /dev/null and b/static/images/babs-de/111-D-Nationalstrasse.png differ diff --git a/static/images/babs-de/112-D-Autobahn.png b/static/images/babs-de/112-D-Autobahn.png new file mode 100644 index 0000000..8030990 Binary files /dev/null and b/static/images/babs-de/112-D-Autobahn.png differ diff --git a/static/images/babs-de/113-D-Eisenbahn.png b/static/images/babs-de/113-D-Eisenbahn.png new file mode 100644 index 0000000..64d98c3 Binary files /dev/null and b/static/images/babs-de/113-D-Eisenbahn.png differ diff --git a/static/images/babs-de/114-D-Schiffahrt-Verbot.png b/static/images/babs-de/114-D-Schiffahrt-Verbot.png new file mode 100644 index 0000000..c8089e3 Binary files /dev/null and b/static/images/babs-de/114-D-Schiffahrt-Verbot.png differ diff --git a/static/images/babs-de/115-D-Ueberflugverbot.png b/static/images/babs-de/115-D-Ueberflugverbot.png new file mode 100644 index 0000000..9cfc561 Binary files /dev/null and b/static/images/babs-de/115-D-Ueberflugverbot.png differ diff --git a/static/images/babs-de/116-D-Notfalltreffpunkt.png b/static/images/babs-de/116-D-Notfalltreffpunkt.png new file mode 100644 index 0000000..238378f Binary files /dev/null and b/static/images/babs-de/116-D-Notfalltreffpunkt.png differ diff --git a/static/images/babs-fr/001-F-Degat.png b/static/images/babs-fr/001-F-Degat.png new file mode 100644 index 0000000..7faa404 Binary files /dev/null and b/static/images/babs-fr/001-F-Degat.png differ diff --git a/static/images/babs-fr/002-F-Destruction-partielle.png b/static/images/babs-fr/002-F-Destruction-partielle.png new file mode 100644 index 0000000..d436138 Binary files /dev/null and b/static/images/babs-fr/002-F-Destruction-partielle.png differ diff --git a/static/images/babs-fr/003-F-Destruction-totale.png b/static/images/babs-fr/003-F-Destruction-totale.png new file mode 100644 index 0000000..919e29a Binary files /dev/null and b/static/images/babs-fr/003-F-Destruction-totale.png differ diff --git a/static/images/babs-fr/004-F-Incendie-isole.png b/static/images/babs-fr/004-F-Incendie-isole.png new file mode 100644 index 0000000..414544e Binary files /dev/null and b/static/images/babs-fr/004-F-Incendie-isole.png differ diff --git a/static/images/babs-fr/005-F-Foyer-d-explosion.png b/static/images/babs-fr/005-F-Foyer-d-explosion.png new file mode 100644 index 0000000..3ec810d Binary files /dev/null and b/static/images/babs-fr/005-F-Foyer-d-explosion.png differ diff --git a/static/images/babs-fr/006-F-Blesses.png b/static/images/babs-fr/006-F-Blesses.png new file mode 100644 index 0000000..2a68aaf Binary files /dev/null and b/static/images/babs-fr/006-F-Blesses.png differ diff --git a/static/images/babs-fr/007-F-Enfermes.png b/static/images/babs-fr/007-F-Enfermes.png new file mode 100644 index 0000000..554d43c Binary files /dev/null and b/static/images/babs-fr/007-F-Enfermes.png differ diff --git a/static/images/babs-fr/008-F-Sans-abri.png b/static/images/babs-fr/008-F-Sans-abri.png new file mode 100644 index 0000000..0858907 Binary files /dev/null and b/static/images/babs-fr/008-F-Sans-abri.png differ diff --git a/static/images/babs-fr/009-F-Morts.png b/static/images/babs-fr/009-F-Morts.png new file mode 100644 index 0000000..65a54ed Binary files /dev/null and b/static/images/babs-fr/009-F-Morts.png differ diff --git a/static/images/babs-fr/010-F-Disparus.png b/static/images/babs-fr/010-F-Disparus.png new file mode 100644 index 0000000..f2d7ca9 Binary files /dev/null and b/static/images/babs-fr/010-F-Disparus.png differ diff --git a/static/images/babs-fr/011-F-Armee.png b/static/images/babs-fr/011-F-Armee.png new file mode 100644 index 0000000..c59c333 Binary files /dev/null and b/static/images/babs-fr/011-F-Armee.png differ diff --git a/static/images/babs-fr/012-F-Police.png b/static/images/babs-fr/012-F-Police.png new file mode 100644 index 0000000..bb795a3 Binary files /dev/null and b/static/images/babs-fr/012-F-Police.png differ diff --git a/static/images/babs-fr/013-F-Protection-civile.png b/static/images/babs-fr/013-F-Protection-civile.png new file mode 100644 index 0000000..0ca9f3b Binary files /dev/null and b/static/images/babs-fr/013-F-Protection-civile.png differ diff --git a/static/images/babs-fr/014-F-Sanitaire.png b/static/images/babs-fr/014-F-Sanitaire.png new file mode 100644 index 0000000..8392b9d Binary files /dev/null and b/static/images/babs-fr/014-F-Sanitaire.png differ diff --git a/static/images/babs-fr/015-F-Sapeurs-pompiers.png b/static/images/babs-fr/015-F-Sapeurs-pompiers.png new file mode 100644 index 0000000..b8a4539 Binary files /dev/null and b/static/images/babs-fr/015-F-Sapeurs-pompiers.png differ diff --git a/static/images/babs-fr/016-F-Services-techniques.png b/static/images/babs-fr/016-F-Services-techniques.png new file mode 100644 index 0000000..8988b66 Binary files /dev/null and b/static/images/babs-fr/016-F-Services-techniques.png differ diff --git a/static/images/babs-fr/017-F-Accident.png b/static/images/babs-fr/017-F-Accident.png new file mode 100644 index 0000000..0c7c772 Binary files /dev/null and b/static/images/babs-fr/017-F-Accident.png differ diff --git a/static/images/babs-fr/018-F-Chimique.png b/static/images/babs-fr/018-F-Chimique.png new file mode 100644 index 0000000..73d101a Binary files /dev/null and b/static/images/babs-fr/018-F-Chimique.png differ diff --git a/static/images/babs-fr/019-F-Electricite.png b/static/images/babs-fr/019-F-Electricite.png new file mode 100644 index 0000000..387addd Binary files /dev/null and b/static/images/babs-fr/019-F-Electricite.png differ diff --git a/static/images/babs-fr/020-F-Explosion.png b/static/images/babs-fr/020-F-Explosion.png new file mode 100644 index 0000000..393a388 Binary files /dev/null and b/static/images/babs-fr/020-F-Explosion.png differ diff --git a/static/images/babs-fr/021-F-Gaz.png b/static/images/babs-fr/021-F-Gaz.png new file mode 100644 index 0000000..438acb2 Binary files /dev/null and b/static/images/babs-fr/021-F-Gaz.png differ diff --git a/static/images/babs-fr/022-F-Danger-si-extinction-avec-eau.png b/static/images/babs-fr/022-F-Danger-si-extinction-avec-eau.png new file mode 100644 index 0000000..443d6bc Binary files /dev/null and b/static/images/babs-fr/022-F-Danger-si-extinction-avec-eau.png differ diff --git a/static/images/babs-fr/023-F-Substances-radioactives.png b/static/images/babs-fr/023-F-Substances-radioactives.png new file mode 100644 index 0000000..bc36e9b Binary files /dev/null and b/static/images/babs-fr/023-F-Substances-radioactives.png differ diff --git a/static/images/babs-fr/024-F-Danger-pour-les-eaux.png b/static/images/babs-fr/024-F-Danger-pour-les-eaux.png new file mode 100644 index 0000000..0676d5d Binary files /dev/null and b/static/images/babs-fr/024-F-Danger-pour-les-eaux.png differ diff --git a/static/images/babs-fr/025-F-OCC.png b/static/images/babs-fr/025-F-OCC.png new file mode 100644 index 0000000..c761c60 Binary files /dev/null and b/static/images/babs-fr/025-F-OCC.png differ diff --git a/static/images/babs-fr/026-F-OCRg.png b/static/images/babs-fr/026-F-OCRg.png new file mode 100644 index 0000000..23a3d60 Binary files /dev/null and b/static/images/babs-fr/026-F-OCRg.png differ diff --git a/static/images/babs-fr/027-F-OCCm.png b/static/images/babs-fr/027-F-OCCm.png new file mode 100644 index 0000000..4aaaa5c Binary files /dev/null and b/static/images/babs-fr/027-F-OCCm.png differ diff --git a/static/images/babs-fr/028-F-CE.png b/static/images/babs-fr/028-F-CE.png new file mode 100644 index 0000000..81fa6f0 Binary files /dev/null and b/static/images/babs-fr/028-F-CE.png differ diff --git a/static/images/babs-fr/029-F-CEM.png b/static/images/babs-fr/029-F-CEM.png new file mode 100644 index 0000000..5e881c6 Binary files /dev/null and b/static/images/babs-fr/029-F-CEM.png differ diff --git a/static/images/babs-fr/030-F-DI.png b/static/images/babs-fr/030-F-DI.png new file mode 100644 index 0000000..3160fb3 Binary files /dev/null and b/static/images/babs-fr/030-F-DI.png differ diff --git a/static/images/babs-fr/031-F-PCO.png b/static/images/babs-fr/031-F-PCO.png new file mode 100644 index 0000000..417b727 Binary files /dev/null and b/static/images/babs-fr/031-F-PCO.png differ diff --git a/static/images/babs-fr/032-F-PCE.png b/static/images/babs-fr/032-F-PCE.png new file mode 100644 index 0000000..48d09f0 Binary files /dev/null and b/static/images/babs-fr/032-F-PCE.png differ diff --git a/static/images/babs-fr/033-F-Point-d-information.png b/static/images/babs-fr/033-F-Point-d-information.png new file mode 100644 index 0000000..219091a Binary files /dev/null and b/static/images/babs-fr/033-F-Point-d-information.png differ diff --git a/static/images/babs-fr/034-F-Poste-collecteur.png b/static/images/babs-fr/034-F-Poste-collecteur.png new file mode 100644 index 0000000..0ca0d13 Binary files /dev/null and b/static/images/babs-fr/034-F-Poste-collecteur.png differ diff --git a/static/images/babs-fr/035-F-Poste-d-assistance.png b/static/images/babs-fr/035-F-Poste-d-assistance.png new file mode 100644 index 0000000..c520eaf Binary files /dev/null and b/static/images/babs-fr/035-F-Poste-d-assistance.png differ diff --git a/static/images/babs-fr/036-F-Poste-collecteur-de-patients.png b/static/images/babs-fr/036-F-Poste-collecteur-de-patients.png new file mode 100644 index 0000000..2a9f211 Binary files /dev/null and b/static/images/babs-fr/036-F-Poste-collecteur-de-patients.png differ diff --git a/static/images/babs-fr/037-F-Poste-medical-avance.png b/static/images/babs-fr/037-F-Poste-medical-avance.png new file mode 100644 index 0000000..065ec19 Binary files /dev/null and b/static/images/babs-fr/037-F-Poste-medical-avance.png differ diff --git a/static/images/babs-fr/038-F-Poste-collecteur-de-cadavres.png b/static/images/babs-fr/038-F-Poste-collecteur-de-cadavres.png new file mode 100644 index 0000000..0a5b793 Binary files /dev/null and b/static/images/babs-fr/038-F-Poste-collecteur-de-cadavres.png differ diff --git a/static/images/babs-fr/039-F-Poste-de-distribution.png b/static/images/babs-fr/039-F-Poste-de-distribution.png new file mode 100644 index 0000000..8f8749d Binary files /dev/null and b/static/images/babs-fr/039-F-Poste-de-distribution.png differ diff --git a/static/images/babs-fr/040-F-Station-de-carburant.png b/static/images/babs-fr/040-F-Station-de-carburant.png new file mode 100644 index 0000000..e8ee0e0 Binary files /dev/null and b/static/images/babs-fr/040-F-Station-de-carburant.png differ diff --git a/static/images/babs-fr/041-F-Depot-d-urgence-PBC.png b/static/images/babs-fr/041-F-Depot-d-urgence-PBC.png new file mode 100644 index 0000000..5453c21 Binary files /dev/null and b/static/images/babs-fr/041-F-Depot-d-urgence-PBC.png differ diff --git a/static/images/babs-fr/042-F-Porte.png b/static/images/babs-fr/042-F-Porte.png new file mode 100644 index 0000000..707c18c Binary files /dev/null and b/static/images/babs-fr/042-F-Porte.png differ diff --git a/static/images/babs-fr/043-F-Deviations.png b/static/images/babs-fr/043-F-Deviations.png new file mode 100644 index 0000000..7fe98a1 Binary files /dev/null and b/static/images/babs-fr/043-F-Deviations.png differ diff --git a/static/images/babs-fr/044-F-Fermeture-de-la-route.png b/static/images/babs-fr/044-F-Fermeture-de-la-route.png new file mode 100644 index 0000000..168c362 Binary files /dev/null and b/static/images/babs-fr/044-F-Fermeture-de-la-route.png differ diff --git a/static/images/babs-fr/045-F-Barrage.png b/static/images/babs-fr/045-F-Barrage.png new file mode 100644 index 0000000..ff3065e Binary files /dev/null and b/static/images/babs-fr/045-F-Barrage.png differ diff --git a/static/images/babs-fr/046-F-Place-d-atterrissage-Helico.png b/static/images/babs-fr/046-F-Place-d-atterrissage-Helico.png new file mode 100644 index 0000000..fb634c7 Binary files /dev/null and b/static/images/babs-fr/046-F-Place-d-atterrissage-Helico.png differ diff --git a/static/images/babs-fr/047-F-Place-pour-vehicules.png b/static/images/babs-fr/047-F-Place-pour-vehicules.png new file mode 100644 index 0000000..5243dae Binary files /dev/null and b/static/images/babs-fr/047-F-Place-pour-vehicules.png differ diff --git a/static/images/babs-fr/048-F-Depot-materiel.png b/static/images/babs-fr/048-F-Depot-materiel.png new file mode 100644 index 0000000..59a124c Binary files /dev/null and b/static/images/babs-fr/048-F-Depot-materiel.png differ diff --git a/static/images/babs-fr/049-F-Observation.png b/static/images/babs-fr/049-F-Observation.png new file mode 100644 index 0000000..0eb3c0b Binary files /dev/null and b/static/images/babs-fr/049-F-Observation.png differ diff --git a/static/images/babs-fr/050-F-Surveillance.png b/static/images/babs-fr/050-F-Surveillance.png new file mode 100644 index 0000000..6ffc3de Binary files /dev/null and b/static/images/babs-fr/050-F-Surveillance.png differ diff --git a/static/images/babs-fr/051-F-Tempete.png b/static/images/babs-fr/051-F-Tempete.png new file mode 100644 index 0000000..5fc83d7 Binary files /dev/null and b/static/images/babs-fr/051-F-Tempete.png differ diff --git a/static/images/babs-fr/052-F-Inondation.png b/static/images/babs-fr/052-F-Inondation.png new file mode 100644 index 0000000..4532b53 Binary files /dev/null and b/static/images/babs-fr/052-F-Inondation.png differ diff --git a/static/images/babs-fr/053-F-Glissement-de-terrain.png b/static/images/babs-fr/053-F-Glissement-de-terrain.png new file mode 100644 index 0000000..30660a5 Binary files /dev/null and b/static/images/babs-fr/053-F-Glissement-de-terrain.png differ diff --git a/static/images/babs-fr/054-F-Avalanche.png b/static/images/babs-fr/054-F-Avalanche.png new file mode 100644 index 0000000..ce8e1c4 Binary files /dev/null and b/static/images/babs-fr/054-F-Avalanche.png differ diff --git a/static/images/babs-fr/055-F-Immeuble-effondre.png b/static/images/babs-fr/055-F-Immeuble-effondre.png new file mode 100644 index 0000000..4cbb0ef Binary files /dev/null and b/static/images/babs-fr/055-F-Immeuble-effondre.png differ diff --git a/static/images/babs-fr/056-F-Fortes-precipitations.png b/static/images/babs-fr/056-F-Fortes-precipitations.png new file mode 100644 index 0000000..d966df0 Binary files /dev/null and b/static/images/babs-fr/056-F-Fortes-precipitations.png differ diff --git a/static/images/babs-fr/057-F-Incendie.png b/static/images/babs-fr/057-F-Incendie.png new file mode 100644 index 0000000..c834227 Binary files /dev/null and b/static/images/babs-fr/057-F-Incendie.png differ diff --git a/static/images/babs-fr/058-F-Explosion.png b/static/images/babs-fr/058-F-Explosion.png new file mode 100644 index 0000000..d38dca8 Binary files /dev/null and b/static/images/babs-fr/058-F-Explosion.png differ diff --git a/static/images/babs-fr/059-F-Embouteillage.png b/static/images/babs-fr/059-F-Embouteillage.png new file mode 100644 index 0000000..278c8ac Binary files /dev/null and b/static/images/babs-fr/059-F-Embouteillage.png differ diff --git a/static/images/babs-fr/060-F-Accident-auto.png b/static/images/babs-fr/060-F-Accident-auto.png new file mode 100644 index 0000000..8b08e0f Binary files /dev/null and b/static/images/babs-fr/060-F-Accident-auto.png differ diff --git a/static/images/babs-fr/061-F-Accident-ferroviaire.png b/static/images/babs-fr/061-F-Accident-ferroviaire.png new file mode 100644 index 0000000..be1d781 Binary files /dev/null and b/static/images/babs-fr/061-F-Accident-ferroviaire.png differ diff --git a/static/images/babs-fr/062-F-Egouts-defectueux.png b/static/images/babs-fr/062-F-Egouts-defectueux.png new file mode 100644 index 0000000..700990d Binary files /dev/null and b/static/images/babs-fr/062-F-Egouts-defectueux.png differ diff --git a/static/images/babs-fr/063-F-Accident-nucleaire.png b/static/images/babs-fr/063-F-Accident-nucleaire.png new file mode 100644 index 0000000..ff637f7 Binary files /dev/null and b/static/images/babs-fr/063-F-Accident-nucleaire.png differ diff --git a/static/images/babs-fr/064-F-Accident-biologique.png b/static/images/babs-fr/064-F-Accident-biologique.png new file mode 100644 index 0000000..9743e13 Binary files /dev/null and b/static/images/babs-fr/064-F-Accident-biologique.png differ diff --git a/static/images/babs-fr/065-F-Pollution-aux-hydrocarbures.png b/static/images/babs-fr/065-F-Pollution-aux-hydrocarbures.png new file mode 100644 index 0000000..3765605 Binary files /dev/null and b/static/images/babs-fr/065-F-Pollution-aux-hydrocarbures.png differ diff --git a/static/images/babs-fr/066-F-Dommages-aux-infrastructures.png b/static/images/babs-fr/066-F-Dommages-aux-infrastructures.png new file mode 100644 index 0000000..6e5a781 Binary files /dev/null and b/static/images/babs-fr/066-F-Dommages-aux-infrastructures.png differ diff --git a/static/images/babs-fr/067-F-Accident-navigation.png b/static/images/babs-fr/067-F-Accident-navigation.png new file mode 100644 index 0000000..16378fd Binary files /dev/null and b/static/images/babs-fr/067-F-Accident-navigation.png differ diff --git a/static/images/babs-fr/068-F-Accident-chimique.png b/static/images/babs-fr/068-F-Accident-chimique.png new file mode 100644 index 0000000..83e8423 Binary files /dev/null and b/static/images/babs-fr/068-F-Accident-chimique.png differ diff --git a/static/images/babs-fr/069-F-Pillage.png b/static/images/babs-fr/069-F-Pillage.png new file mode 100644 index 0000000..9845d52 Binary files /dev/null and b/static/images/babs-fr/069-F-Pillage.png differ diff --git a/static/images/babs-fr/070-F-Manifestation.png b/static/images/babs-fr/070-F-Manifestation.png new file mode 100644 index 0000000..d77f6a0 Binary files /dev/null and b/static/images/babs-fr/070-F-Manifestation.png differ diff --git a/static/images/babs-fr/071-F-Manifestation-avec-exactions.png b/static/images/babs-fr/071-F-Manifestation-avec-exactions.png new file mode 100644 index 0000000..42e4376 Binary files /dev/null and b/static/images/babs-fr/071-F-Manifestation-avec-exactions.png differ diff --git a/static/images/babs-fr/072-F-Effet-de-panique.png b/static/images/babs-fr/072-F-Effet-de-panique.png new file mode 100644 index 0000000..11ec821 Binary files /dev/null and b/static/images/babs-fr/072-F-Effet-de-panique.png differ diff --git a/static/images/babs-fr/073-F-Incendie-criminel.png b/static/images/babs-fr/073-F-Incendie-criminel.png new file mode 100644 index 0000000..3ed2734 Binary files /dev/null and b/static/images/babs-fr/073-F-Incendie-criminel.png differ diff --git a/static/images/babs-fr/074-F-Sabotage.png b/static/images/babs-fr/074-F-Sabotage.png new file mode 100644 index 0000000..9e1fb3c Binary files /dev/null and b/static/images/babs-fr/074-F-Sabotage.png differ diff --git a/static/images/babs-fr/075-F-Attentat-a-la-bombe.png b/static/images/babs-fr/075-F-Attentat-a-la-bombe.png new file mode 100644 index 0000000..107df7d Binary files /dev/null and b/static/images/babs-fr/075-F-Attentat-a-la-bombe.png differ diff --git a/static/images/babs-fr/076-F-Patrouille-P.png b/static/images/babs-fr/076-F-Patrouille-P.png new file mode 100644 index 0000000..b5568c6 Binary files /dev/null and b/static/images/babs-fr/076-F-Patrouille-P.png differ diff --git a/static/images/babs-fr/077-F-Groupe-P.png b/static/images/babs-fr/077-F-Groupe-P.png new file mode 100644 index 0000000..b59dd08 Binary files /dev/null and b/static/images/babs-fr/077-F-Groupe-P.png differ diff --git a/static/images/babs-fr/078-F-Section-P.png b/static/images/babs-fr/078-F-Section-P.png new file mode 100644 index 0000000..60a5830 Binary files /dev/null and b/static/images/babs-fr/078-F-Section-P.png differ diff --git a/static/images/babs-fr/079-F-Chef-de-groupe-P.png b/static/images/babs-fr/079-F-Chef-de-groupe-P.png new file mode 100644 index 0000000..9852fb2 Binary files /dev/null and b/static/images/babs-fr/079-F-Chef-de-groupe-P.png differ diff --git a/static/images/babs-fr/080-F-Officier-Chef-de-section-P.png b/static/images/babs-fr/080-F-Officier-Chef-de-section-P.png new file mode 100644 index 0000000..7886ec5 Binary files /dev/null and b/static/images/babs-fr/080-F-Officier-Chef-de-section-P.png differ diff --git a/static/images/babs-fr/081-F-Chef-d-intervention-P.png b/static/images/babs-fr/081-F-Chef-d-intervention-P.png new file mode 100644 index 0000000..3adc729 Binary files /dev/null and b/static/images/babs-fr/081-F-Chef-d-intervention-P.png differ diff --git a/static/images/babs-fr/082-F-Patrouille-SP.png b/static/images/babs-fr/082-F-Patrouille-SP.png new file mode 100644 index 0000000..61ba83d Binary files /dev/null and b/static/images/babs-fr/082-F-Patrouille-SP.png differ diff --git a/static/images/babs-fr/083-F-Groupe-SP.png b/static/images/babs-fr/083-F-Groupe-SP.png new file mode 100644 index 0000000..45d83f6 Binary files /dev/null and b/static/images/babs-fr/083-F-Groupe-SP.png differ diff --git a/static/images/babs-fr/084-F-Section-SP.png b/static/images/babs-fr/084-F-Section-SP.png new file mode 100644 index 0000000..8f778ca Binary files /dev/null and b/static/images/babs-fr/084-F-Section-SP.png differ diff --git a/static/images/babs-fr/085-F-Chef-de-groupe-SP.png b/static/images/babs-fr/085-F-Chef-de-groupe-SP.png new file mode 100644 index 0000000..4f5646d Binary files /dev/null and b/static/images/babs-fr/085-F-Chef-de-groupe-SP.png differ diff --git a/static/images/babs-fr/086-F-Officier-Chef-de-section-SP.png b/static/images/babs-fr/086-F-Officier-Chef-de-section-SP.png new file mode 100644 index 0000000..2e544c5 Binary files /dev/null and b/static/images/babs-fr/086-F-Officier-Chef-de-section-SP.png differ diff --git a/static/images/babs-fr/087-F-Chef-d-intervention-SP.png b/static/images/babs-fr/087-F-Chef-d-intervention-SP.png new file mode 100644 index 0000000..131db7e Binary files /dev/null and b/static/images/babs-fr/087-F-Chef-d-intervention-SP.png differ diff --git a/static/images/babs-fr/088-F-Patrouille-San.png b/static/images/babs-fr/088-F-Patrouille-San.png new file mode 100644 index 0000000..d3edf5d Binary files /dev/null and b/static/images/babs-fr/088-F-Patrouille-San.png differ diff --git a/static/images/babs-fr/089-F-Groupe-San.png b/static/images/babs-fr/089-F-Groupe-San.png new file mode 100644 index 0000000..ca30424 Binary files /dev/null and b/static/images/babs-fr/089-F-Groupe-San.png differ diff --git a/static/images/babs-fr/090-F-Patrouille.png b/static/images/babs-fr/090-F-Patrouille.png new file mode 100644 index 0000000..c7cc391 Binary files /dev/null and b/static/images/babs-fr/090-F-Patrouille.png differ diff --git a/static/images/babs-fr/091-F-Groupe.png b/static/images/babs-fr/091-F-Groupe.png new file mode 100644 index 0000000..9a69a0f Binary files /dev/null and b/static/images/babs-fr/091-F-Groupe.png differ diff --git a/static/images/babs-fr/092-F-Section.png b/static/images/babs-fr/092-F-Section.png new file mode 100644 index 0000000..4a6a45d Binary files /dev/null and b/static/images/babs-fr/092-F-Section.png differ diff --git a/static/images/babs-fr/093-F-Compagnie.png b/static/images/babs-fr/093-F-Compagnie.png new file mode 100644 index 0000000..38afc0f Binary files /dev/null and b/static/images/babs-fr/093-F-Compagnie.png differ diff --git a/static/images/babs-fr/094-F-Bataillon.png b/static/images/babs-fr/094-F-Bataillon.png new file mode 100644 index 0000000..932c8b2 Binary files /dev/null and b/static/images/babs-fr/094-F-Bataillon.png differ diff --git a/static/images/babs-fr/095-F-Chef-de-groupe.png b/static/images/babs-fr/095-F-Chef-de-groupe.png new file mode 100644 index 0000000..917cd4e Binary files /dev/null and b/static/images/babs-fr/095-F-Chef-de-groupe.png differ diff --git a/static/images/babs-fr/096-F-Officier-Chef-de-section.png b/static/images/babs-fr/096-F-Officier-Chef-de-section.png new file mode 100644 index 0000000..455c2eb Binary files /dev/null and b/static/images/babs-fr/096-F-Officier-Chef-de-section.png differ diff --git a/static/images/babs-fr/097-F-Chef-d-intervention.png b/static/images/babs-fr/097-F-Chef-d-intervention.png new file mode 100644 index 0000000..cd2bd84 Binary files /dev/null and b/static/images/babs-fr/097-F-Chef-d-intervention.png differ diff --git a/static/images/babs-fr/098-F-Engagement-prevu.png b/static/images/babs-fr/098-F-Engagement-prevu.png new file mode 100644 index 0000000..8c29dac Binary files /dev/null and b/static/images/babs-fr/098-F-Engagement-prevu.png differ diff --git a/static/images/babs-fr/099-F-Reconnaissance-prevue.png b/static/images/babs-fr/099-F-Reconnaissance-prevue.png new file mode 100644 index 0000000..8783c49 Binary files /dev/null and b/static/images/babs-fr/099-F-Reconnaissance-prevue.png differ diff --git a/static/images/babs-fr/100-F-Engagement-execute.png b/static/images/babs-fr/100-F-Engagement-execute.png new file mode 100644 index 0000000..ee6281b Binary files /dev/null and b/static/images/babs-fr/100-F-Engagement-execute.png differ diff --git a/static/images/babs-fr/101-F-Reconnaissance-executee.png b/static/images/babs-fr/101-F-Reconnaissance-executee.png new file mode 100644 index 0000000..2573c36 Binary files /dev/null and b/static/images/babs-fr/101-F-Reconnaissance-executee.png differ diff --git a/static/images/babs-fr/102-F-Vehicule-leger-voiture.png b/static/images/babs-fr/102-F-Vehicule-leger-voiture.png new file mode 100644 index 0000000..fcb351c Binary files /dev/null and b/static/images/babs-fr/102-F-Vehicule-leger-voiture.png differ diff --git a/static/images/babs-fr/103-F-Camion-poids-lourd.png b/static/images/babs-fr/103-F-Camion-poids-lourd.png new file mode 100644 index 0000000..ceca82d Binary files /dev/null and b/static/images/babs-fr/103-F-Camion-poids-lourd.png differ diff --git a/static/images/babs-fr/104-F-Vehicule-de-transport-bus.png b/static/images/babs-fr/104-F-Vehicule-de-transport-bus.png new file mode 100644 index 0000000..fe307f2 Binary files /dev/null and b/static/images/babs-fr/104-F-Vehicule-de-transport-bus.png differ diff --git a/static/images/babs-fr/105-F-Ambulance.png b/static/images/babs-fr/105-F-Ambulance.png new file mode 100644 index 0000000..276d1d9 Binary files /dev/null and b/static/images/babs-fr/105-F-Ambulance.png differ diff --git a/static/images/babs-fr/106-F-Helicoptere.png b/static/images/babs-fr/106-F-Helicoptere.png new file mode 100644 index 0000000..9396e43 Binary files /dev/null and b/static/images/babs-fr/106-F-Helicoptere.png differ diff --git a/static/images/babs-fr/107-F-Fourgon-tonne-pompe.png b/static/images/babs-fr/107-F-Fourgon-tonne-pompe.png new file mode 100644 index 0000000..dd74e96 Binary files /dev/null and b/static/images/babs-fr/107-F-Fourgon-tonne-pompe.png differ diff --git a/static/images/babs-fr/108-F-Canon-a-eau.png b/static/images/babs-fr/108-F-Canon-a-eau.png new file mode 100644 index 0000000..7323d89 Binary files /dev/null and b/static/images/babs-fr/108-F-Canon-a-eau.png differ diff --git a/static/images/babs-fr/109-F-Elevateur-a-nacelle.png b/static/images/babs-fr/109-F-Elevateur-a-nacelle.png new file mode 100644 index 0000000..b212d46 Binary files /dev/null and b/static/images/babs-fr/109-F-Elevateur-a-nacelle.png differ diff --git a/static/images/babs-fr/110-F-Echelle.png b/static/images/babs-fr/110-F-Echelle.png new file mode 100644 index 0000000..f8a812b Binary files /dev/null and b/static/images/babs-fr/110-F-Echelle.png differ diff --git a/static/images/babs-fr/111-F-Route.png b/static/images/babs-fr/111-F-Route.png new file mode 100644 index 0000000..60fd5d8 Binary files /dev/null and b/static/images/babs-fr/111-F-Route.png differ diff --git a/static/images/babs-fr/112-F-Autoroute.png b/static/images/babs-fr/112-F-Autoroute.png new file mode 100644 index 0000000..8030990 Binary files /dev/null and b/static/images/babs-fr/112-F-Autoroute.png differ diff --git a/static/images/babs-fr/113-F-Chemin-de-fer.png b/static/images/babs-fr/113-F-Chemin-de-fer.png new file mode 100644 index 0000000..64d98c3 Binary files /dev/null and b/static/images/babs-fr/113-F-Chemin-de-fer.png differ diff --git a/static/images/babs-fr/114-F-Interdiction-de-naviguer.png b/static/images/babs-fr/114-F-Interdiction-de-naviguer.png new file mode 100644 index 0000000..c8089e3 Binary files /dev/null and b/static/images/babs-fr/114-F-Interdiction-de-naviguer.png differ diff --git a/static/images/babs-fr/115-F-Interdiction-de-survoler.png b/static/images/babs-fr/115-F-Interdiction-de-survoler.png new file mode 100644 index 0000000..9cfc561 Binary files /dev/null and b/static/images/babs-fr/115-F-Interdiction-de-survoler.png differ diff --git a/static/images/babs-fr/116-F-Point-de-rassemblement-d-urgence.png b/static/images/babs-fr/116-F-Point-de-rassemblement-d-urgence.png new file mode 100644 index 0000000..238378f Binary files /dev/null and b/static/images/babs-fr/116-F-Point-de-rassemblement-d-urgence.png differ diff --git a/static/images/babs-it/001-I-Danneggiamento.png b/static/images/babs-it/001-I-Danneggiamento.png new file mode 100644 index 0000000..7faa404 Binary files /dev/null and b/static/images/babs-it/001-I-Danneggiamento.png differ diff --git a/static/images/babs-it/002-I-Distruzione-parziale.png b/static/images/babs-it/002-I-Distruzione-parziale.png new file mode 100644 index 0000000..d436138 Binary files /dev/null and b/static/images/babs-it/002-I-Distruzione-parziale.png differ diff --git a/static/images/babs-it/003-I-Distruzione-totale.png b/static/images/babs-it/003-I-Distruzione-totale.png new file mode 100644 index 0000000..919e29a Binary files /dev/null and b/static/images/babs-it/003-I-Distruzione-totale.png differ diff --git a/static/images/babs-it/004-I-Incendio-di-un-singolo-edificio.png b/static/images/babs-it/004-I-Incendio-di-un-singolo-edificio.png new file mode 100644 index 0000000..414544e Binary files /dev/null and b/static/images/babs-it/004-I-Incendio-di-un-singolo-edificio.png differ diff --git a/static/images/babs-it/005-I-Focolaio-esplosione.png b/static/images/babs-it/005-I-Focolaio-esplosione.png new file mode 100644 index 0000000..3ec810d Binary files /dev/null and b/static/images/babs-it/005-I-Focolaio-esplosione.png differ diff --git a/static/images/babs-it/006-I-Feriti.png b/static/images/babs-it/006-I-Feriti.png new file mode 100644 index 0000000..2a68aaf Binary files /dev/null and b/static/images/babs-it/006-I-Feriti.png differ diff --git a/static/images/babs-it/007-I-Persone-imprigionate.png b/static/images/babs-it/007-I-Persone-imprigionate.png new file mode 100644 index 0000000..554d43c Binary files /dev/null and b/static/images/babs-it/007-I-Persone-imprigionate.png differ diff --git a/static/images/babs-it/008-I-Senzatetto.png b/static/images/babs-it/008-I-Senzatetto.png new file mode 100644 index 0000000..0858907 Binary files /dev/null and b/static/images/babs-it/008-I-Senzatetto.png differ diff --git a/static/images/babs-it/009-I-Morti.png b/static/images/babs-it/009-I-Morti.png new file mode 100644 index 0000000..65a54ed Binary files /dev/null and b/static/images/babs-it/009-I-Morti.png differ diff --git a/static/images/babs-it/010-I-Dispersi.png b/static/images/babs-it/010-I-Dispersi.png new file mode 100644 index 0000000..f2d7ca9 Binary files /dev/null and b/static/images/babs-it/010-I-Dispersi.png differ diff --git a/static/images/babs-it/011-I-Esercito.png b/static/images/babs-it/011-I-Esercito.png new file mode 100644 index 0000000..c6b25a4 Binary files /dev/null and b/static/images/babs-it/011-I-Esercito.png differ diff --git a/static/images/babs-it/012-I-Polizia.png b/static/images/babs-it/012-I-Polizia.png new file mode 100644 index 0000000..bb795a3 Binary files /dev/null and b/static/images/babs-it/012-I-Polizia.png differ diff --git a/static/images/babs-it/013-I-Protezione-civile.png b/static/images/babs-it/013-I-Protezione-civile.png new file mode 100644 index 0000000..3ebfe44 Binary files /dev/null and b/static/images/babs-it/013-I-Protezione-civile.png differ diff --git a/static/images/babs-it/014-I-Sanita.png b/static/images/babs-it/014-I-Sanita.png new file mode 100644 index 0000000..8392b9d Binary files /dev/null and b/static/images/babs-it/014-I-Sanita.png differ diff --git a/static/images/babs-it/015-I-Corpo-pompieri.png b/static/images/babs-it/015-I-Corpo-pompieri.png new file mode 100644 index 0000000..b31e250 Binary files /dev/null and b/static/images/babs-it/015-I-Corpo-pompieri.png differ diff --git a/static/images/babs-it/016-I-Servizi-tecniche.png b/static/images/babs-it/016-I-Servizi-tecniche.png new file mode 100644 index 0000000..8988b66 Binary files /dev/null and b/static/images/babs-it/016-I-Servizi-tecniche.png differ diff --git a/static/images/babs-it/017-I-Incidente.png b/static/images/babs-it/017-I-Incidente.png new file mode 100644 index 0000000..ebf5baa Binary files /dev/null and b/static/images/babs-it/017-I-Incidente.png differ diff --git a/static/images/babs-it/018-I-Sostanze-chimiche.png b/static/images/babs-it/018-I-Sostanze-chimiche.png new file mode 100644 index 0000000..73d101a Binary files /dev/null and b/static/images/babs-it/018-I-Sostanze-chimiche.png differ diff --git a/static/images/babs-it/019-I-Elettricita.png b/static/images/babs-it/019-I-Elettricita.png new file mode 100644 index 0000000..387addd Binary files /dev/null and b/static/images/babs-it/019-I-Elettricita.png differ diff --git a/static/images/babs-it/020-I-Esplosione.png b/static/images/babs-it/020-I-Esplosione.png new file mode 100644 index 0000000..393a388 Binary files /dev/null and b/static/images/babs-it/020-I-Esplosione.png differ diff --git a/static/images/babs-it/021-I-Gas.png b/static/images/babs-it/021-I-Gas.png new file mode 100644 index 0000000..438acb2 Binary files /dev/null and b/static/images/babs-it/021-I-Gas.png differ diff --git a/static/images/babs-it/022-I-Pericolo-spegnimento-con-acqua.png b/static/images/babs-it/022-I-Pericolo-spegnimento-con-acqua.png new file mode 100644 index 0000000..443d6bc Binary files /dev/null and b/static/images/babs-it/022-I-Pericolo-spegnimento-con-acqua.png differ diff --git a/static/images/babs-it/023-I-Sostanze-radioattive.png b/static/images/babs-it/023-I-Sostanze-radioattive.png new file mode 100644 index 0000000..bc36e9b Binary files /dev/null and b/static/images/babs-it/023-I-Sostanze-radioattive.png differ diff --git a/static/images/babs-it/024-I-Pericolo-per-le-acque.png b/static/images/babs-it/024-I-Pericolo-per-le-acque.png new file mode 100644 index 0000000..0676d5d Binary files /dev/null and b/static/images/babs-it/024-I-Pericolo-per-le-acque.png differ diff --git a/static/images/babs-it/025-I-OCCt.png b/static/images/babs-it/025-I-OCCt.png new file mode 100644 index 0000000..84f5974 Binary files /dev/null and b/static/images/babs-it/025-I-OCCt.png differ diff --git a/static/images/babs-it/026-I-OCRg.png b/static/images/babs-it/026-I-OCRg.png new file mode 100644 index 0000000..46d2bf1 Binary files /dev/null and b/static/images/babs-it/026-I-OCRg.png differ diff --git a/static/images/babs-it/027-I-OCCm.png b/static/images/babs-it/027-I-OCCm.png new file mode 100644 index 0000000..788e158 Binary files /dev/null and b/static/images/babs-it/027-I-OCCm.png differ diff --git a/static/images/babs-it/028-I-CI.png b/static/images/babs-it/028-I-CI.png new file mode 100644 index 0000000..f5d0f39 Binary files /dev/null and b/static/images/babs-it/028-I-CI.png differ diff --git a/static/images/babs-it/029-I-CIM.png b/static/images/babs-it/029-I-CIM.png new file mode 100644 index 0000000..4df0444 Binary files /dev/null and b/static/images/babs-it/029-I-CIM.png differ diff --git a/static/images/babs-it/030-I-DI.png b/static/images/babs-it/030-I-DI.png new file mode 100644 index 0000000..27b2a29 Binary files /dev/null and b/static/images/babs-it/030-I-DI.png differ diff --git a/static/images/babs-it/031-I-Posto-comando-operazioni.png b/static/images/babs-it/031-I-Posto-comando-operazioni.png new file mode 100644 index 0000000..00090c1 Binary files /dev/null and b/static/images/babs-it/031-I-Posto-comando-operazioni.png differ diff --git a/static/images/babs-it/032-I-Posto-comando-intervento.png b/static/images/babs-it/032-I-Posto-comando-intervento.png new file mode 100644 index 0000000..d113709 Binary files /dev/null and b/static/images/babs-it/032-I-Posto-comando-intervento.png differ diff --git a/static/images/babs-it/033-I-Posto-d-informazione.png b/static/images/babs-it/033-I-Posto-d-informazione.png new file mode 100644 index 0000000..219091a Binary files /dev/null and b/static/images/babs-it/033-I-Posto-d-informazione.png differ diff --git a/static/images/babs-it/034-I-Posto-collettore.png b/static/images/babs-it/034-I-Posto-collettore.png new file mode 100644 index 0000000..0ca0d13 Binary files /dev/null and b/static/images/babs-it/034-I-Posto-collettore.png differ diff --git a/static/images/babs-it/035-I-Posto-d-assistenza.png b/static/images/babs-it/035-I-Posto-d-assistenza.png new file mode 100644 index 0000000..c520eaf Binary files /dev/null and b/static/images/babs-it/035-I-Posto-d-assistenza.png differ diff --git a/static/images/babs-it/036-I-Posto-collettore-dei-pazienti.png b/static/images/babs-it/036-I-Posto-collettore-dei-pazienti.png new file mode 100644 index 0000000..2a9f211 Binary files /dev/null and b/static/images/babs-it/036-I-Posto-collettore-dei-pazienti.png differ diff --git a/static/images/babs-it/037-I-Posto-di-soccorso-sanitario.png b/static/images/babs-it/037-I-Posto-di-soccorso-sanitario.png new file mode 100644 index 0000000..065ec19 Binary files /dev/null and b/static/images/babs-it/037-I-Posto-di-soccorso-sanitario.png differ diff --git a/static/images/babs-it/038-I-Posto-colletore-dei-morti.png b/static/images/babs-it/038-I-Posto-colletore-dei-morti.png new file mode 100644 index 0000000..0a5b793 Binary files /dev/null and b/static/images/babs-it/038-I-Posto-colletore-dei-morti.png differ diff --git a/static/images/babs-it/039-I-Posto-distribuzione-sussistenza.png b/static/images/babs-it/039-I-Posto-distribuzione-sussistenza.png new file mode 100644 index 0000000..8f8749d Binary files /dev/null and b/static/images/babs-it/039-I-Posto-distribuzione-sussistenza.png differ diff --git a/static/images/babs-it/040-I-Posto-distribuzione-carburante.png b/static/images/babs-it/040-I-Posto-distribuzione-carburante.png new file mode 100644 index 0000000..e8ee0e0 Binary files /dev/null and b/static/images/babs-it/040-I-Posto-distribuzione-carburante.png differ diff --git a/static/images/babs-it/041-I-Deposito-PBC-di-fortuna.png b/static/images/babs-it/041-I-Deposito-PBC-di-fortuna.png new file mode 100644 index 0000000..5453c21 Binary files /dev/null and b/static/images/babs-it/041-I-Deposito-PBC-di-fortuna.png differ diff --git a/static/images/babs-it/042-I-Porta.png b/static/images/babs-it/042-I-Porta.png new file mode 100644 index 0000000..707c18c Binary files /dev/null and b/static/images/babs-it/042-I-Porta.png differ diff --git a/static/images/babs-it/043-I-Deviazione.png b/static/images/babs-it/043-I-Deviazione.png new file mode 100644 index 0000000..7fe98a1 Binary files /dev/null and b/static/images/babs-it/043-I-Deviazione.png differ diff --git a/static/images/babs-it/044-I-Sbarramento-vie-comunicazione.png b/static/images/babs-it/044-I-Sbarramento-vie-comunicazione.png new file mode 100644 index 0000000..168c362 Binary files /dev/null and b/static/images/babs-it/044-I-Sbarramento-vie-comunicazione.png differ diff --git a/static/images/babs-it/045-I-Sbarramento.png b/static/images/babs-it/045-I-Sbarramento.png new file mode 100644 index 0000000..ff3065e Binary files /dev/null and b/static/images/babs-it/045-I-Sbarramento.png differ diff --git a/static/images/babs-it/046-I-Piazza-d-atterraggio-elicotteri.png b/static/images/babs-it/046-I-Piazza-d-atterraggio-elicotteri.png new file mode 100644 index 0000000..fb634c7 Binary files /dev/null and b/static/images/babs-it/046-I-Piazza-d-atterraggio-elicotteri.png differ diff --git a/static/images/babs-it/047-I-Posteggio-veicoli.png b/static/images/babs-it/047-I-Posteggio-veicoli.png new file mode 100644 index 0000000..61a243e Binary files /dev/null and b/static/images/babs-it/047-I-Posteggio-veicoli.png differ diff --git a/static/images/babs-it/048-I-Deposito-del-materiale.png b/static/images/babs-it/048-I-Deposito-del-materiale.png new file mode 100644 index 0000000..59a124c Binary files /dev/null and b/static/images/babs-it/048-I-Deposito-del-materiale.png differ diff --git a/static/images/babs-it/049-I-Osservazione.png b/static/images/babs-it/049-I-Osservazione.png new file mode 100644 index 0000000..0eb3c0b Binary files /dev/null and b/static/images/babs-it/049-I-Osservazione.png differ diff --git a/static/images/babs-it/050-I-Sorveglianza.png b/static/images/babs-it/050-I-Sorveglianza.png new file mode 100644 index 0000000..6ffc3de Binary files /dev/null and b/static/images/babs-it/050-I-Sorveglianza.png differ diff --git a/static/images/babs-it/051-I-Tempesta.png b/static/images/babs-it/051-I-Tempesta.png new file mode 100644 index 0000000..5fc83d7 Binary files /dev/null and b/static/images/babs-it/051-I-Tempesta.png differ diff --git a/static/images/babs-it/052-I-Piena.png b/static/images/babs-it/052-I-Piena.png new file mode 100644 index 0000000..4532b53 Binary files /dev/null and b/static/images/babs-it/052-I-Piena.png differ diff --git a/static/images/babs-it/053-I-Frana.png b/static/images/babs-it/053-I-Frana.png new file mode 100644 index 0000000..30660a5 Binary files /dev/null and b/static/images/babs-it/053-I-Frana.png differ diff --git a/static/images/babs-it/054-I-Valanga.png b/static/images/babs-it/054-I-Valanga.png new file mode 100644 index 0000000..ce8e1c4 Binary files /dev/null and b/static/images/babs-it/054-I-Valanga.png differ diff --git a/static/images/babs-it/055-I-Crollo-di-edificio.png b/static/images/babs-it/055-I-Crollo-di-edificio.png new file mode 100644 index 0000000..4cbb0ef Binary files /dev/null and b/static/images/babs-it/055-I-Crollo-di-edificio.png differ diff --git a/static/images/babs-it/056-I-Piogge-intense.png b/static/images/babs-it/056-I-Piogge-intense.png new file mode 100644 index 0000000..d966df0 Binary files /dev/null and b/static/images/babs-it/056-I-Piogge-intense.png differ diff --git a/static/images/babs-it/057-I-Incendio.png b/static/images/babs-it/057-I-Incendio.png new file mode 100644 index 0000000..c834227 Binary files /dev/null and b/static/images/babs-it/057-I-Incendio.png differ diff --git a/static/images/babs-it/058-I-Esplosione.png b/static/images/babs-it/058-I-Esplosione.png new file mode 100644 index 0000000..d38dca8 Binary files /dev/null and b/static/images/babs-it/058-I-Esplosione.png differ diff --git a/static/images/babs-it/059-I-Colonna.png b/static/images/babs-it/059-I-Colonna.png new file mode 100644 index 0000000..278c8ac Binary files /dev/null and b/static/images/babs-it/059-I-Colonna.png differ diff --git a/static/images/babs-it/060-I-Incidente-della-circolazione.png b/static/images/babs-it/060-I-Incidente-della-circolazione.png new file mode 100644 index 0000000..8b08e0f Binary files /dev/null and b/static/images/babs-it/060-I-Incidente-della-circolazione.png differ diff --git a/static/images/babs-it/061-I-Incidente-ferroviario.png b/static/images/babs-it/061-I-Incidente-ferroviario.png new file mode 100644 index 0000000..be1d781 Binary files /dev/null and b/static/images/babs-it/061-I-Incidente-ferroviario.png differ diff --git a/static/images/babs-it/062-I-Interruzione-della-canalizzazione.png b/static/images/babs-it/062-I-Interruzione-della-canalizzazione.png new file mode 100644 index 0000000..700990d Binary files /dev/null and b/static/images/babs-it/062-I-Interruzione-della-canalizzazione.png differ diff --git a/static/images/babs-it/063-I-Incidente-nucleare.png b/static/images/babs-it/063-I-Incidente-nucleare.png new file mode 100644 index 0000000..ff637f7 Binary files /dev/null and b/static/images/babs-it/063-I-Incidente-nucleare.png differ diff --git a/static/images/babs-it/064-I-Incidente-biologico.png b/static/images/babs-it/064-I-Incidente-biologico.png new file mode 100644 index 0000000..9743e13 Binary files /dev/null and b/static/images/babs-it/064-I-Incidente-biologico.png differ diff --git a/static/images/babs-it/065-I-Inquinamento-da-idrocarburi.png b/static/images/babs-it/065-I-Inquinamento-da-idrocarburi.png new file mode 100644 index 0000000..3765605 Binary files /dev/null and b/static/images/babs-it/065-I-Inquinamento-da-idrocarburi.png differ diff --git a/static/images/babs-it/066-I-Danni-alle-infrastrutture.png b/static/images/babs-it/066-I-Danni-alle-infrastrutture.png new file mode 100644 index 0000000..6e5a781 Binary files /dev/null and b/static/images/babs-it/066-I-Danni-alle-infrastrutture.png differ diff --git a/static/images/babs-it/067-I-Incidente-nautico.png b/static/images/babs-it/067-I-Incidente-nautico.png new file mode 100644 index 0000000..16378fd Binary files /dev/null and b/static/images/babs-it/067-I-Incidente-nautico.png differ diff --git a/static/images/babs-it/068-I-Incidente-chimico.png b/static/images/babs-it/068-I-Incidente-chimico.png new file mode 100644 index 0000000..83e8423 Binary files /dev/null and b/static/images/babs-it/068-I-Incidente-chimico.png differ diff --git a/static/images/babs-it/069-I-Saccheggi.png b/static/images/babs-it/069-I-Saccheggi.png new file mode 100644 index 0000000..9845d52 Binary files /dev/null and b/static/images/babs-it/069-I-Saccheggi.png differ diff --git a/static/images/babs-it/070-I-Dimostrazioni.png b/static/images/babs-it/070-I-Dimostrazioni.png new file mode 100644 index 0000000..d77f6a0 Binary files /dev/null and b/static/images/babs-it/070-I-Dimostrazioni.png differ diff --git a/static/images/babs-it/071-I-Dimostrazioni-con-disordini.png b/static/images/babs-it/071-I-Dimostrazioni-con-disordini.png new file mode 100644 index 0000000..42e4376 Binary files /dev/null and b/static/images/babs-it/071-I-Dimostrazioni-con-disordini.png differ diff --git a/static/images/babs-it/072-I-Panico-di-massa.png b/static/images/babs-it/072-I-Panico-di-massa.png new file mode 100644 index 0000000..11ec821 Binary files /dev/null and b/static/images/babs-it/072-I-Panico-di-massa.png differ diff --git a/static/images/babs-it/073-I-Attentato-incendiario.png b/static/images/babs-it/073-I-Attentato-incendiario.png new file mode 100644 index 0000000..3ed2734 Binary files /dev/null and b/static/images/babs-it/073-I-Attentato-incendiario.png differ diff --git a/static/images/babs-it/074-I-Sabotaggio.png b/static/images/babs-it/074-I-Sabotaggio.png new file mode 100644 index 0000000..9e1fb3c Binary files /dev/null and b/static/images/babs-it/074-I-Sabotaggio.png differ diff --git a/static/images/babs-it/075-I-Attentato-dinamitardo.png b/static/images/babs-it/075-I-Attentato-dinamitardo.png new file mode 100644 index 0000000..107df7d Binary files /dev/null and b/static/images/babs-it/075-I-Attentato-dinamitardo.png differ diff --git a/static/images/babs-it/076-I-Squadra-P.png b/static/images/babs-it/076-I-Squadra-P.png new file mode 100644 index 0000000..b5568c6 Binary files /dev/null and b/static/images/babs-it/076-I-Squadra-P.png differ diff --git a/static/images/babs-it/077-I-Gruppo-P.png b/static/images/babs-it/077-I-Gruppo-P.png new file mode 100644 index 0000000..b59dd08 Binary files /dev/null and b/static/images/babs-it/077-I-Gruppo-P.png differ diff --git a/static/images/babs-it/078-I-Sezione-P.png b/static/images/babs-it/078-I-Sezione-P.png new file mode 100644 index 0000000..60a5830 Binary files /dev/null and b/static/images/babs-it/078-I-Sezione-P.png differ diff --git a/static/images/babs-it/079-I-Capogruppo-P.png b/static/images/babs-it/079-I-Capogruppo-P.png new file mode 100644 index 0000000..9852fb2 Binary files /dev/null and b/static/images/babs-it/079-I-Capogruppo-P.png differ diff --git a/static/images/babs-it/080-I-Ufficiale-caposezione-P.png b/static/images/babs-it/080-I-Ufficiale-caposezione-P.png new file mode 100644 index 0000000..7886ec5 Binary files /dev/null and b/static/images/babs-it/080-I-Ufficiale-caposezione-P.png differ diff --git a/static/images/babs-it/081-I-Capointervento-P.png b/static/images/babs-it/081-I-Capointervento-P.png new file mode 100644 index 0000000..3adc729 Binary files /dev/null and b/static/images/babs-it/081-I-Capointervento-P.png differ diff --git a/static/images/babs-it/082-I-Squadra-CP.png b/static/images/babs-it/082-I-Squadra-CP.png new file mode 100644 index 0000000..4a7aa5d Binary files /dev/null and b/static/images/babs-it/082-I-Squadra-CP.png differ diff --git a/static/images/babs-it/083-I-Gruppo-CP.png b/static/images/babs-it/083-I-Gruppo-CP.png new file mode 100644 index 0000000..0e73b43 Binary files /dev/null and b/static/images/babs-it/083-I-Gruppo-CP.png differ diff --git a/static/images/babs-it/084-I-Sezione-CP.png b/static/images/babs-it/084-I-Sezione-CP.png new file mode 100644 index 0000000..46f798f Binary files /dev/null and b/static/images/babs-it/084-I-Sezione-CP.png differ diff --git a/static/images/babs-it/085-I-Capogruppo-CP.png b/static/images/babs-it/085-I-Capogruppo-CP.png new file mode 100644 index 0000000..946aba4 Binary files /dev/null and b/static/images/babs-it/085-I-Capogruppo-CP.png differ diff --git a/static/images/babs-it/086-I-Ufficiale-caposezione-CP.png b/static/images/babs-it/086-I-Ufficiale-caposezione-CP.png new file mode 100644 index 0000000..7dba147 Binary files /dev/null and b/static/images/babs-it/086-I-Ufficiale-caposezione-CP.png differ diff --git a/static/images/babs-it/087-I-Capointervento-CP.png b/static/images/babs-it/087-I-Capointervento-CP.png new file mode 100644 index 0000000..cc5c92f Binary files /dev/null and b/static/images/babs-it/087-I-Capointervento-CP.png differ diff --git a/static/images/babs-it/088-I-Squadra-San.png b/static/images/babs-it/088-I-Squadra-San.png new file mode 100644 index 0000000..d3edf5d Binary files /dev/null and b/static/images/babs-it/088-I-Squadra-San.png differ diff --git a/static/images/babs-it/089-I-Gruppo-San.png b/static/images/babs-it/089-I-Gruppo-San.png new file mode 100644 index 0000000..ca30424 Binary files /dev/null and b/static/images/babs-it/089-I-Gruppo-San.png differ diff --git a/static/images/babs-it/090-I-Squadra.png b/static/images/babs-it/090-I-Squadra.png new file mode 100644 index 0000000..c7cc391 Binary files /dev/null and b/static/images/babs-it/090-I-Squadra.png differ diff --git a/static/images/babs-it/091-I-Gruppo.png b/static/images/babs-it/091-I-Gruppo.png new file mode 100644 index 0000000..9a69a0f Binary files /dev/null and b/static/images/babs-it/091-I-Gruppo.png differ diff --git a/static/images/babs-it/092-I-Sezione.png b/static/images/babs-it/092-I-Sezione.png new file mode 100644 index 0000000..4a6a45d Binary files /dev/null and b/static/images/babs-it/092-I-Sezione.png differ diff --git a/static/images/babs-it/093-I-Compagnia.png b/static/images/babs-it/093-I-Compagnia.png new file mode 100644 index 0000000..38afc0f Binary files /dev/null and b/static/images/babs-it/093-I-Compagnia.png differ diff --git a/static/images/babs-it/094-I-Bataillone.png b/static/images/babs-it/094-I-Bataillone.png new file mode 100644 index 0000000..932c8b2 Binary files /dev/null and b/static/images/babs-it/094-I-Bataillone.png differ diff --git a/static/images/babs-it/095-I-Capogruppo.png b/static/images/babs-it/095-I-Capogruppo.png new file mode 100644 index 0000000..917cd4e Binary files /dev/null and b/static/images/babs-it/095-I-Capogruppo.png differ diff --git a/static/images/babs-it/096-I-Ufficiale-caposezione.png b/static/images/babs-it/096-I-Ufficiale-caposezione.png new file mode 100644 index 0000000..455c2eb Binary files /dev/null and b/static/images/babs-it/096-I-Ufficiale-caposezione.png differ diff --git a/static/images/babs-it/097-I-Capointervento.png b/static/images/babs-it/097-I-Capointervento.png new file mode 100644 index 0000000..cd2bd84 Binary files /dev/null and b/static/images/babs-it/097-I-Capointervento.png differ diff --git a/static/images/babs-it/098-I-Intervento-pianificato.png b/static/images/babs-it/098-I-Intervento-pianificato.png new file mode 100644 index 0000000..8c29dac Binary files /dev/null and b/static/images/babs-it/098-I-Intervento-pianificato.png differ diff --git a/static/images/babs-it/099-I-Ricognizione-pianificata.png b/static/images/babs-it/099-I-Ricognizione-pianificata.png new file mode 100644 index 0000000..8783c49 Binary files /dev/null and b/static/images/babs-it/099-I-Ricognizione-pianificata.png differ diff --git a/static/images/babs-it/100-I-Intervento-eseguito.png b/static/images/babs-it/100-I-Intervento-eseguito.png new file mode 100644 index 0000000..ee6281b Binary files /dev/null and b/static/images/babs-it/100-I-Intervento-eseguito.png differ diff --git a/static/images/babs-it/101-I-Ricognizione-eseguita.png b/static/images/babs-it/101-I-Ricognizione-eseguita.png new file mode 100644 index 0000000..2573c36 Binary files /dev/null and b/static/images/babs-it/101-I-Ricognizione-eseguita.png differ diff --git a/static/images/babs-it/102-I-Automobile.png b/static/images/babs-it/102-I-Automobile.png new file mode 100644 index 0000000..fcb351c Binary files /dev/null and b/static/images/babs-it/102-I-Automobile.png differ diff --git a/static/images/babs-it/103-I-Autocarro.png b/static/images/babs-it/103-I-Autocarro.png new file mode 100644 index 0000000..ceca82d Binary files /dev/null and b/static/images/babs-it/103-I-Autocarro.png differ diff --git a/static/images/babs-it/104-I-Veicoli-per-il-transporto.png b/static/images/babs-it/104-I-Veicoli-per-il-transporto.png new file mode 100644 index 0000000..fe307f2 Binary files /dev/null and b/static/images/babs-it/104-I-Veicoli-per-il-transporto.png differ diff --git a/static/images/babs-it/105-I-Ambulanza.png b/static/images/babs-it/105-I-Ambulanza.png new file mode 100644 index 0000000..276d1d9 Binary files /dev/null and b/static/images/babs-it/105-I-Ambulanza.png differ diff --git a/static/images/babs-it/106-I-Elicottero.png b/static/images/babs-it/106-I-Elicottero.png new file mode 100644 index 0000000..9396e43 Binary files /dev/null and b/static/images/babs-it/106-I-Elicottero.png differ diff --git a/static/images/babs-it/107-I-Autobotte.png b/static/images/babs-it/107-I-Autobotte.png new file mode 100644 index 0000000..fda4559 Binary files /dev/null and b/static/images/babs-it/107-I-Autobotte.png differ diff --git a/static/images/babs-it/108-I-Lanciaacqua.png b/static/images/babs-it/108-I-Lanciaacqua.png new file mode 100644 index 0000000..7323d89 Binary files /dev/null and b/static/images/babs-it/108-I-Lanciaacqua.png differ diff --git a/static/images/babs-it/109-I-Elevatore-a-navicella.png b/static/images/babs-it/109-I-Elevatore-a-navicella.png new file mode 100644 index 0000000..b212d46 Binary files /dev/null and b/static/images/babs-it/109-I-Elevatore-a-navicella.png differ diff --git a/static/images/babs-it/110-I-Scala-motorizzata.png b/static/images/babs-it/110-I-Scala-motorizzata.png new file mode 100644 index 0000000..f8a812b Binary files /dev/null and b/static/images/babs-it/110-I-Scala-motorizzata.png differ diff --git a/static/images/babs-it/111-I-Strada-nazionale.png b/static/images/babs-it/111-I-Strada-nazionale.png new file mode 100644 index 0000000..60fd5d8 Binary files /dev/null and b/static/images/babs-it/111-I-Strada-nazionale.png differ diff --git a/static/images/babs-it/112-I-Autostrada.png b/static/images/babs-it/112-I-Autostrada.png new file mode 100644 index 0000000..8030990 Binary files /dev/null and b/static/images/babs-it/112-I-Autostrada.png differ diff --git a/static/images/babs-it/113-I-Linea-ferroviaria.png b/static/images/babs-it/113-I-Linea-ferroviaria.png new file mode 100644 index 0000000..64d98c3 Binary files /dev/null and b/static/images/babs-it/113-I-Linea-ferroviaria.png differ diff --git a/static/images/babs-it/114-I-Divieto-di-navigazione.png b/static/images/babs-it/114-I-Divieto-di-navigazione.png new file mode 100644 index 0000000..c8089e3 Binary files /dev/null and b/static/images/babs-it/114-I-Divieto-di-navigazione.png differ diff --git a/static/images/babs-it/115-I-Divieto-di-sorvolo.png b/static/images/babs-it/115-I-Divieto-di-sorvolo.png new file mode 100644 index 0000000..9cfc561 Binary files /dev/null and b/static/images/babs-it/115-I-Divieto-di-sorvolo.png differ diff --git a/static/images/babs-it/116-I-Punto-di-raccolta-d-urgenza.png b/static/images/babs-it/116-I-Punto-di-raccolta-d-urgenza.png new file mode 100644 index 0000000..238378f Binary files /dev/null and b/static/images/babs-it/116-I-Punto-di-raccolta-d-urgenza.png differ diff --git a/static/images/default/001-marker.png b/static/images/default/001-marker.png index 07fead3..ac0b0d1 100644 Binary files a/static/images/default/001-marker.png and b/static/images/default/001-marker.png differ diff --git a/static/images/default/002-circle.png b/static/images/default/002-circle.png index 227ceca..d7b7140 100644 Binary files a/static/images/default/002-circle.png and b/static/images/default/002-circle.png differ diff --git a/static/images/default/003-square.png b/static/images/default/003-square.png index 244195b..b56f862 100644 Binary files a/static/images/default/003-square.png and b/static/images/default/003-square.png differ diff --git a/static/images/default/004-triangle.png b/static/images/default/004-triangle.png index 5ba2f35..cf2ce8a 100644 Binary files a/static/images/default/004-triangle.png and b/static/images/default/004-triangle.png differ diff --git a/static/images/default/005-star.png b/static/images/default/005-star.png index 0237df4..5eaba42 100644 Binary files a/static/images/default/005-star.png and b/static/images/default/005-star.png differ diff --git a/static/images/default/006-star-stroked.png b/static/images/default/006-star-stroked.png index 7690293..db5740f 100644 Binary files a/static/images/default/006-star-stroked.png and b/static/images/default/006-star-stroked.png differ diff --git a/static/images/default/007-marker-stroked.png b/static/images/default/007-marker-stroked.png index 64440eb..7cf8abb 100644 Binary files a/static/images/default/007-marker-stroked.png and b/static/images/default/007-marker-stroked.png differ diff --git a/static/images/default/008-circle-stroked.png b/static/images/default/008-circle-stroked.png index 47d49ad..bea851b 100644 Binary files a/static/images/default/008-circle-stroked.png and b/static/images/default/008-circle-stroked.png differ diff --git a/static/images/default/009-square-stroked.png b/static/images/default/009-square-stroked.png index d7e37cd..1bc5ab4 100644 Binary files a/static/images/default/009-square-stroked.png and b/static/images/default/009-square-stroked.png differ diff --git a/static/images/default/010-triangle-stroked.png b/static/images/default/010-triangle-stroked.png index 358560a..e04aa22 100644 Binary files a/static/images/default/010-triangle-stroked.png and b/static/images/default/010-triangle-stroked.png differ diff --git a/static/images/default/011-cross.png b/static/images/default/011-cross.png index c4584b7..636e34d 100644 Binary files a/static/images/default/011-cross.png and b/static/images/default/011-cross.png differ diff --git a/static/images/default/012-disability.png b/static/images/default/012-disability.png index 04504bc..d1092e2 100644 Binary files a/static/images/default/012-disability.png and b/static/images/default/012-disability.png differ diff --git a/static/images/default/013-danger.png b/static/images/default/013-danger.png index 616c56b..73571f6 100644 Binary files a/static/images/default/013-danger.png and b/static/images/default/013-danger.png differ diff --git a/static/images/default/014-art-gallery.png b/static/images/default/014-art-gallery.png index e672d9b..e497f86 100644 Binary files a/static/images/default/014-art-gallery.png and b/static/images/default/014-art-gallery.png differ diff --git a/static/images/default/015-alcohol-shop.png b/static/images/default/015-alcohol-shop.png index cebdafd..1d39b1b 100644 Binary files a/static/images/default/015-alcohol-shop.png and b/static/images/default/015-alcohol-shop.png differ diff --git a/static/images/default/016-bakery.png b/static/images/default/016-bakery.png index d14f455..78695ef 100644 Binary files a/static/images/default/016-bakery.png and b/static/images/default/016-bakery.png differ diff --git a/static/images/default/017-bank.png b/static/images/default/017-bank.png index 0db3131..b4ff001 100644 Binary files a/static/images/default/017-bank.png and b/static/images/default/017-bank.png differ diff --git a/static/images/default/018-bar.png b/static/images/default/018-bar.png index a671ec8..a399ef8 100644 Binary files a/static/images/default/018-bar.png and b/static/images/default/018-bar.png differ diff --git a/static/images/default/019-beer.png b/static/images/default/019-beer.png index 4b5240b..a84ca09 100644 Binary files a/static/images/default/019-beer.png and b/static/images/default/019-beer.png differ diff --git a/static/images/default/020-cafe.png b/static/images/default/020-cafe.png index ec4d142..7525395 100644 Binary files a/static/images/default/020-cafe.png and b/static/images/default/020-cafe.png differ diff --git a/static/images/default/021-cinema.png b/static/images/default/021-cinema.png index 4d5d8b5..c0f60ec 100644 Binary files a/static/images/default/021-cinema.png and b/static/images/default/021-cinema.png differ diff --git a/static/images/default/022-commercial.png b/static/images/default/022-commercial.png index 9a16fec..9589710 100644 Binary files a/static/images/default/022-commercial.png and b/static/images/default/022-commercial.png differ diff --git a/static/images/default/023-clothing-store.png b/static/images/default/023-clothing-store.png index fd59676..8fb4e70 100644 Binary files a/static/images/default/023-clothing-store.png and b/static/images/default/023-clothing-store.png differ diff --git a/static/images/default/024-grocery.png b/static/images/default/024-grocery.png index daa4e9e..59fccfa 100644 Binary files a/static/images/default/024-grocery.png and b/static/images/default/024-grocery.png differ diff --git a/static/images/default/025-fast-food.png b/static/images/default/025-fast-food.png index 23d9ab7..96d151a 100644 Binary files a/static/images/default/025-fast-food.png and b/static/images/default/025-fast-food.png differ diff --git a/static/images/default/026-hairdresser.png b/static/images/default/026-hairdresser.png index 5093552..720c6e7 100644 Binary files a/static/images/default/026-hairdresser.png and b/static/images/default/026-hairdresser.png differ diff --git a/static/images/default/027-fuel.png b/static/images/default/027-fuel.png index 822a3af..09bc3ca 100644 Binary files a/static/images/default/027-fuel.png and b/static/images/default/027-fuel.png differ diff --git a/static/images/default/028-laundry.png b/static/images/default/028-laundry.png index 2f6ca67..33caf1b 100644 Binary files a/static/images/default/028-laundry.png and b/static/images/default/028-laundry.png differ diff --git a/static/images/default/029-library.png b/static/images/default/029-library.png index 4ba767c..6b0f686 100644 Binary files a/static/images/default/029-library.png and b/static/images/default/029-library.png differ diff --git a/static/images/default/030-lodging.png b/static/images/default/030-lodging.png index 856af3f..8f2b636 100644 Binary files a/static/images/default/030-lodging.png and b/static/images/default/030-lodging.png differ diff --git a/static/images/default/031-pharmacy.png b/static/images/default/031-pharmacy.png index 1d70f79..0e3b976 100644 Binary files a/static/images/default/031-pharmacy.png and b/static/images/default/031-pharmacy.png differ diff --git a/static/images/default/032-restaurant.png b/static/images/default/032-restaurant.png index 21d870b..f626024 100644 Binary files a/static/images/default/032-restaurant.png and b/static/images/default/032-restaurant.png differ diff --git a/static/images/default/033-shop.png b/static/images/default/033-shop.png index da2c46e..6159555 100644 Binary files a/static/images/default/033-shop.png and b/static/images/default/033-shop.png differ diff --git a/static/images/default/034-airport.png b/static/images/default/034-airport.png index 2654baf..a40207f 100644 Binary files a/static/images/default/034-airport.png and b/static/images/default/034-airport.png differ diff --git a/static/images/default/035-bicycle.png b/static/images/default/035-bicycle.png index 750ae1a..4d7b348 100644 Binary files a/static/images/default/035-bicycle.png and b/static/images/default/035-bicycle.png differ diff --git a/static/images/default/036-bus.png b/static/images/default/036-bus.png index ab70d60..01f81b2 100644 Binary files a/static/images/default/036-bus.png and b/static/images/default/036-bus.png differ diff --git a/static/images/default/037-car.png b/static/images/default/037-car.png index c97c3c5..9ee3784 100644 Binary files a/static/images/default/037-car.png and b/static/images/default/037-car.png differ diff --git a/static/images/default/038-ferry.png b/static/images/default/038-ferry.png index aee3eae..4f17a1a 100644 Binary files a/static/images/default/038-ferry.png and b/static/images/default/038-ferry.png differ diff --git a/static/images/default/039-london-underground.png b/static/images/default/039-london-underground.png index 230bbe2..b9ef7c2 100644 Binary files a/static/images/default/039-london-underground.png and b/static/images/default/039-london-underground.png differ diff --git a/static/images/default/040-rail.png b/static/images/default/040-rail.png index d3c8051..904b899 100644 Binary files a/static/images/default/040-rail.png and b/static/images/default/040-rail.png differ diff --git a/static/images/default/041-rail-above.png b/static/images/default/041-rail-above.png index e0cd374..feba019 100644 Binary files a/static/images/default/041-rail-above.png and b/static/images/default/041-rail-above.png differ diff --git a/static/images/default/042-rail-light.png b/static/images/default/042-rail-light.png index 8b63721..0610e67 100644 Binary files a/static/images/default/042-rail-light.png and b/static/images/default/042-rail-light.png differ diff --git a/static/images/default/043-rail-metro.png b/static/images/default/043-rail-metro.png index 85caee0..001131c 100644 Binary files a/static/images/default/043-rail-metro.png and b/static/images/default/043-rail-metro.png differ diff --git a/static/images/default/044-rail-underground.png b/static/images/default/044-rail-underground.png index 4bb1520..068fb8b 100644 Binary files a/static/images/default/044-rail-underground.png and b/static/images/default/044-rail-underground.png differ diff --git a/static/images/default/045-scooter.png b/static/images/default/045-scooter.png index 21fdd5f..377501d 100644 Binary files a/static/images/default/045-scooter.png and b/static/images/default/045-scooter.png differ diff --git a/static/images/default/046-america-football.png b/static/images/default/046-america-football.png index 9688692..10c39d1 100644 Binary files a/static/images/default/046-america-football.png and b/static/images/default/046-america-football.png differ diff --git a/static/images/default/047-baseball.png b/static/images/default/047-baseball.png index a127f60..7580692 100644 Binary files a/static/images/default/047-baseball.png and b/static/images/default/047-baseball.png differ diff --git a/static/images/default/048-basketball.png b/static/images/default/048-basketball.png index 440b1af..ddae0cf 100644 Binary files a/static/images/default/048-basketball.png and b/static/images/default/048-basketball.png differ diff --git a/static/images/default/049-cricket.png b/static/images/default/049-cricket.png index 7040cd1..2d1c1ea 100644 Binary files a/static/images/default/049-cricket.png and b/static/images/default/049-cricket.png differ diff --git a/static/images/default/050-golf.png b/static/images/default/050-golf.png index dc4a95d..40b919e 100644 Binary files a/static/images/default/050-golf.png and b/static/images/default/050-golf.png differ diff --git a/static/images/default/051-skiing.png b/static/images/default/051-skiing.png index 767c905..6b78dbf 100644 Binary files a/static/images/default/051-skiing.png and b/static/images/default/051-skiing.png differ diff --git a/static/images/default/052-soccer.png b/static/images/default/052-soccer.png index d96e090..08bd2f6 100644 Binary files a/static/images/default/052-soccer.png and b/static/images/default/052-soccer.png differ diff --git a/static/images/default/053-swimming.png b/static/images/default/053-swimming.png index e100f9b..4840fad 100644 Binary files a/static/images/default/053-swimming.png and b/static/images/default/053-swimming.png differ diff --git a/static/images/default/054-tennis.png b/static/images/default/054-tennis.png index 0ac56e3..2673d33 100644 Binary files a/static/images/default/054-tennis.png and b/static/images/default/054-tennis.png differ diff --git a/static/images/default/055-airfield.png b/static/images/default/055-airfield.png index 760cd80..803cd7d 100644 Binary files a/static/images/default/055-airfield.png and b/static/images/default/055-airfield.png differ diff --git a/static/images/default/056-building.png b/static/images/default/056-building.png index 780a9f2..093111f 100644 Binary files a/static/images/default/056-building.png and b/static/images/default/056-building.png differ diff --git a/static/images/default/057-campsite.png b/static/images/default/057-campsite.png index 068888a..3bb4af7 100644 Binary files a/static/images/default/057-campsite.png and b/static/images/default/057-campsite.png differ diff --git a/static/images/default/058-cemetery.png b/static/images/default/058-cemetery.png index 8265bcb..ca706de 100644 Binary files a/static/images/default/058-cemetery.png and b/static/images/default/058-cemetery.png differ diff --git a/static/images/default/059-city.png b/static/images/default/059-city.png index 341496e..522d55a 100644 Binary files a/static/images/default/059-city.png and b/static/images/default/059-city.png differ diff --git a/static/images/default/060-college.png b/static/images/default/060-college.png index 316bb80..cfcbd75 100644 Binary files a/static/images/default/060-college.png and b/static/images/default/060-college.png differ diff --git a/static/images/default/061-dog-park.png b/static/images/default/061-dog-park.png index de17e00..1d711d6 100644 Binary files a/static/images/default/061-dog-park.png and b/static/images/default/061-dog-park.png differ diff --git a/static/images/default/062-embassy.png b/static/images/default/062-embassy.png index 28d0915..7d5f433 100644 Binary files a/static/images/default/062-embassy.png and b/static/images/default/062-embassy.png differ diff --git a/static/images/default/063-farm.png b/static/images/default/063-farm.png index cffaebc..3756bf8 100644 Binary files a/static/images/default/063-farm.png and b/static/images/default/063-farm.png differ diff --git a/static/images/default/064-fire-station.png b/static/images/default/064-fire-station.png index 21fab31..93886ae 100644 Binary files a/static/images/default/064-fire-station.png and b/static/images/default/064-fire-station.png differ diff --git a/static/images/default/065-garden.png b/static/images/default/065-garden.png index b49a97b..defdd23 100644 Binary files a/static/images/default/065-garden.png and b/static/images/default/065-garden.png differ diff --git a/static/images/default/066-harbor.png b/static/images/default/066-harbor.png index 94febe7..2e07385 100644 Binary files a/static/images/default/066-harbor.png and b/static/images/default/066-harbor.png differ diff --git a/static/images/default/067-heliport.png b/static/images/default/067-heliport.png index 3c72ded..9b64d78 100644 Binary files a/static/images/default/067-heliport.png and b/static/images/default/067-heliport.png differ diff --git a/static/images/default/068-hospital.png b/static/images/default/068-hospital.png index 7414e7e..44fff75 100644 Binary files a/static/images/default/068-hospital.png and b/static/images/default/068-hospital.png differ diff --git a/static/images/default/069-industrial.png b/static/images/default/069-industrial.png index 0f6fc8c..588a065 100644 Binary files a/static/images/default/069-industrial.png and b/static/images/default/069-industrial.png differ diff --git a/static/images/default/070-land-use.png b/static/images/default/070-land-use.png index 62e8f83..cccb778 100644 Binary files a/static/images/default/070-land-use.png and b/static/images/default/070-land-use.png differ diff --git a/static/images/default/071-lighthouse.png b/static/images/default/071-lighthouse.png index 48ddca8..8b02b73 100644 Binary files a/static/images/default/071-lighthouse.png and b/static/images/default/071-lighthouse.png differ diff --git a/static/images/default/072-monument.png b/static/images/default/072-monument.png index e70d7db..35d2203 100644 Binary files a/static/images/default/072-monument.png and b/static/images/default/072-monument.png differ diff --git a/static/images/default/073-minefield.png b/static/images/default/073-minefield.png index 21b2344..c88b0f3 100644 Binary files a/static/images/default/073-minefield.png and b/static/images/default/073-minefield.png differ diff --git a/static/images/default/074-museum.png b/static/images/default/074-museum.png index 9b7db80..ed88cf9 100644 Binary files a/static/images/default/074-museum.png and b/static/images/default/074-museum.png differ diff --git a/static/images/default/075-oil-well.png b/static/images/default/075-oil-well.png index 6aa9b7c..793985e 100644 Binary files a/static/images/default/075-oil-well.png and b/static/images/default/075-oil-well.png differ diff --git a/static/images/default/076-park2.png b/static/images/default/076-park2.png index 7f8db19..448d854 100644 Binary files a/static/images/default/076-park2.png and b/static/images/default/076-park2.png differ diff --git a/static/images/default/077-park.png b/static/images/default/077-park.png index f0feb69..47f2dd9 100644 Binary files a/static/images/default/077-park.png and b/static/images/default/077-park.png differ diff --git a/static/images/default/078-parking.png b/static/images/default/078-parking.png index f9944da..c27689e 100644 Binary files a/static/images/default/078-parking.png and b/static/images/default/078-parking.png differ diff --git a/static/images/default/079-parking-garage.png b/static/images/default/079-parking-garage.png index 9e133c7..7a297b5 100644 Binary files a/static/images/default/079-parking-garage.png and b/static/images/default/079-parking-garage.png differ diff --git a/static/images/default/080-pitch.png b/static/images/default/080-pitch.png index 5511d5d..7c21788 100644 Binary files a/static/images/default/080-pitch.png and b/static/images/default/080-pitch.png differ diff --git a/static/images/default/081-place-of-worship.png b/static/images/default/081-place-of-worship.png index 521c85f..7508105 100644 Binary files a/static/images/default/081-place-of-worship.png and b/static/images/default/081-place-of-worship.png differ diff --git a/static/images/default/082-playground.png b/static/images/default/082-playground.png index 69ce258..a1fbd39 100644 Binary files a/static/images/default/082-playground.png and b/static/images/default/082-playground.png differ diff --git a/static/images/default/083-police.png b/static/images/default/083-police.png index d232952..b640c3d 100644 Binary files a/static/images/default/083-police.png and b/static/images/default/083-police.png differ diff --git a/static/images/default/084-polling-place.png b/static/images/default/084-polling-place.png index e792776..e4afd5f 100644 Binary files a/static/images/default/084-polling-place.png and b/static/images/default/084-polling-place.png differ diff --git a/static/images/default/085-post.png b/static/images/default/085-post.png index 6889dbf..4a4d46d 100644 Binary files a/static/images/default/085-post.png and b/static/images/default/085-post.png differ diff --git a/static/images/default/086-religious-christian.png b/static/images/default/086-religious-christian.png index c75d361..9eb8c78 100644 Binary files a/static/images/default/086-religious-christian.png and b/static/images/default/086-religious-christian.png differ diff --git a/static/images/default/087-religious-jewish.png b/static/images/default/087-religious-jewish.png index 26c32bd..83a5aba 100644 Binary files a/static/images/default/087-religious-jewish.png and b/static/images/default/087-religious-jewish.png differ diff --git a/static/images/default/088-religious-muslim.png b/static/images/default/088-religious-muslim.png index 8b68e30..335bb95 100644 Binary files a/static/images/default/088-religious-muslim.png and b/static/images/default/088-religious-muslim.png differ diff --git a/static/images/default/089-prison.png b/static/images/default/089-prison.png index 9420b64..ab9167a 100644 Binary files a/static/images/default/089-prison.png and b/static/images/default/089-prison.png differ diff --git a/static/images/default/090-school.png b/static/images/default/090-school.png index b571662..8c9c684 100644 Binary files a/static/images/default/090-school.png and b/static/images/default/090-school.png differ diff --git a/static/images/default/091-slaughterhouse.png b/static/images/default/091-slaughterhouse.png index 7e99623..81772ca 100644 Binary files a/static/images/default/091-slaughterhouse.png and b/static/images/default/091-slaughterhouse.png differ diff --git a/static/images/default/092-theatre.png b/static/images/default/092-theatre.png index 839ef1e..48ddf47 100644 Binary files a/static/images/default/092-theatre.png and b/static/images/default/092-theatre.png differ diff --git a/static/images/default/093-toilets.png b/static/images/default/093-toilets.png index 209c509..37022f2 100644 Binary files a/static/images/default/093-toilets.png and b/static/images/default/093-toilets.png differ diff --git a/static/images/default/094-town.png b/static/images/default/094-town.png index 744b862..aec65d5 100644 Binary files a/static/images/default/094-town.png and b/static/images/default/094-town.png differ diff --git a/static/images/default/095-town-hall.png b/static/images/default/095-town-hall.png index 14310c3..6219751 100644 Binary files a/static/images/default/095-town-hall.png and b/static/images/default/095-town-hall.png differ diff --git a/static/images/default/096-village.png b/static/images/default/096-village.png index d3a046c..3836649 100644 Binary files a/static/images/default/096-village.png and b/static/images/default/096-village.png differ diff --git a/static/images/default/097-warehouse.png b/static/images/default/097-warehouse.png index c879210..3e2801c 100644 Binary files a/static/images/default/097-warehouse.png and b/static/images/default/097-warehouse.png differ diff --git a/static/images/default/098-wetland.png b/static/images/default/098-wetland.png index ba866eb..afc93f3 100644 Binary files a/static/images/default/098-wetland.png and b/static/images/default/098-wetland.png differ diff --git a/static/images/default/099-zoo.png b/static/images/default/099-zoo.png index 4cd3e96..ed756c8 100644 Binary files a/static/images/default/099-zoo.png and b/static/images/default/099-zoo.png differ diff --git a/static/images/default/100-camera.png b/static/images/default/100-camera.png index 38a199c..187cca1 100644 Binary files a/static/images/default/100-camera.png and b/static/images/default/100-camera.png differ diff --git a/static/images/default/101-chemist.png b/static/images/default/101-chemist.png index 8078693..f07bc65 100644 Binary files a/static/images/default/101-chemist.png and b/static/images/default/101-chemist.png differ diff --git a/static/images/default/102-dam.png b/static/images/default/102-dam.png index ccd4807..6cd252f 100644 Binary files a/static/images/default/102-dam.png and b/static/images/default/102-dam.png differ diff --git a/static/images/default/103-emergency-telephone.png b/static/images/default/103-emergency-telephone.png index ba029e9..06eb519 100644 Binary files a/static/images/default/103-emergency-telephone.png and b/static/images/default/103-emergency-telephone.png differ diff --git a/static/images/default/104-entrance.png b/static/images/default/104-entrance.png index de8bb20..762fc22 100644 Binary files a/static/images/default/104-entrance.png and b/static/images/default/104-entrance.png differ diff --git a/static/images/default/105-heart.png b/static/images/default/105-heart.png index ca800d1..ee9e4d2 100644 Binary files a/static/images/default/105-heart.png and b/static/images/default/105-heart.png differ diff --git a/static/images/default/106-logging.png b/static/images/default/106-logging.png index 7119345..d6cb405 100644 Binary files a/static/images/default/106-logging.png and b/static/images/default/106-logging.png differ diff --git a/static/images/default/107-mobilephone.png b/static/images/default/107-mobilephone.png index 6bddf35..b916204 100644 Binary files a/static/images/default/107-mobilephone.png and b/static/images/default/107-mobilephone.png differ diff --git a/static/images/default/108-music.png b/static/images/default/108-music.png index 948637f..b859e2e 100644 Binary files a/static/images/default/108-music.png and b/static/images/default/108-music.png differ diff --git a/static/images/default/109-roadblock.png b/static/images/default/109-roadblock.png index 44d4121..0c636bd 100644 Binary files a/static/images/default/109-roadblock.png and b/static/images/default/109-roadblock.png differ diff --git a/static/images/default/110-rocket.png b/static/images/default/110-rocket.png index 004b1ef..132e8c5 100644 Binary files a/static/images/default/110-rocket.png and b/static/images/default/110-rocket.png differ diff --git a/static/images/default/111-suitcase.png b/static/images/default/111-suitcase.png index 36657c4..fa9930a 100644 Binary files a/static/images/default/111-suitcase.png and b/static/images/default/111-suitcase.png differ diff --git a/static/images/default/112-telephone.png b/static/images/default/112-telephone.png index 0f8e34d..edf2d5f 100644 Binary files a/static/images/default/112-telephone.png and b/static/images/default/112-telephone.png differ diff --git a/static/images/default/113-waste-basket.png b/static/images/default/113-waste-basket.png index 4e19f32..8c7b7e4 100644 Binary files a/static/images/default/113-waste-basket.png and b/static/images/default/113-waste-basket.png differ diff --git a/static/images/default/114-water.png b/static/images/default/114-water.png index 2296801..90be475 100644 Binary files a/static/images/default/114-water.png and b/static/images/default/114-water.png differ diff --git a/static/images/default/115-gift.png b/static/images/default/115-gift.png index 94eaef2..5d152ee 100644 Binary files a/static/images/default/115-gift.png and b/static/images/default/115-gift.png differ diff --git a/static/images/default/116-ice-cream.png b/static/images/default/116-ice-cream.png index 759c8d5..51c2262 100644 Binary files a/static/images/default/116-ice-cream.png and b/static/images/default/116-ice-cream.png differ diff --git a/tests/unit_tests/test_all_icons.py b/tests/unit_tests/test_all_icons.py index 0fd8bdd..d61b606 100644 --- a/tests/unit_tests/test_all_icons.py +++ b/tests/unit_tests/test_all_icons.py @@ -11,7 +11,9 @@ from app.helpers.url import get_base_url from app.icon_set import get_icon_set from app.settings import COLORABLE_ICON_SETS +from app.settings import DEFAULT_ICON_SIZE from app.settings import IMAGE_FOLDER +from app.settings import UNLISTED_ICON_SETS from tests.unit_tests.base_test import ServiceIconsUnitTests @@ -66,7 +68,14 @@ def setUp(self): self.all_icon_sets[icon_set_name].append(icon_name) def check_image( - self, icon_name, image_url, expected_size=48, check_color=False, red=255, green=0, blue=0 + self, + icon_name, + image_url, + expected_size=DEFAULT_ICON_SIZE, + check_color=False, + red=255, + green=0, + blue=0 ): """ Retrieve an icon from the test instance and check everything related to this icon. @@ -137,7 +146,7 @@ def test_icon_set_origin_allowed(self, headers): def test_all_icon_sets_endpoint(self): """ - Checking that the endpoint /sets returns all available icon sets + Checking that the endpoint /sets returns all non-legacy icon sets """ response = self.app.get(url_for('all_icon_sets'), headers=self.default_header) self.assertEqual(response.status_code, 200) @@ -149,12 +158,20 @@ def test_all_icon_sets_endpoint(self): self.assertIn('items', response.json) self.assertTrue(response.json['items']) icon_sets_from_endpoint = response.json['items'] - self.assertEqual(len(icon_sets_from_endpoint), len(self.all_icon_sets)) + self.assertEqual( + len(icon_sets_from_endpoint), len(self.all_icon_sets) - len(UNLISTED_ICON_SETS) + ) + for unlisted_icon_set in UNLISTED_ICON_SETS: + self.assertNotIn( + unlisted_icon_set, icon_sets_from_endpoint, msg="Icon set should not be listed" + ) for icon_set in icon_sets_from_endpoint: self.assertIn('name', icon_set) self.assertTrue(icon_set['name'] in self.all_icon_sets) self.assertIn('colorable', icon_set) self.assertIn('icons_url', icon_set) + self.assertIn('has_description', icon_set) + self.assertIn('language', icon_set) def test_all_icon_sets_metadata_endpoint(self): """ @@ -176,6 +193,8 @@ def test_all_icon_sets_metadata_endpoint(self): self.assertIn('name', icon_set_metadata) self.assertEqual(icon_set_name, icon_set_metadata['name']) self.assertIn('colorable', icon_set_metadata) + self.assertIn('has_description', icon_set_metadata) + self.assertIn('language', icon_set_metadata) self.assertIn('icons_url', icon_set_metadata) self.assertIsNotNone(icon_set_metadata['icons_url']) self.assertEqual( @@ -210,6 +229,11 @@ def test_all_icon_metadata_endpoint(self): json_response = response.json self.assertIn('icon_set', json_response) self.assertEqual(icon_set_name, json_response['icon_set']) + self.assertIn('description', json_response) + if json_response['description']: + self.assertIn('de', json_response['description']) + self.assertIn('fr', json_response['description']) + self.assertIn('it', json_response['description']) self.assertIn('name', json_response) self.assertEqual(icon_name, json_response['name']) self.assertIn('template_url', json_response) @@ -261,6 +285,21 @@ def test_all_icon_metadata_endpoint(self): ) self.assertTrue(fraction > 0, msg='"anchor" fraction should be > 0') + self.assertIn('size', json_response) + self.assertIsInstance( + json_response['size'], + list, + msg='"size" should be a list with x and y dimension' + ) + self.assertEqual( + len(json_response['size']), 2, msg='"size" should have two items; x and y' + ) + for elem in json_response['size']: + self.assertIsInstance(elem, (int), msg='"size" should be int') + self.assertTrue( + elem == DEFAULT_ICON_SIZE, msg='"size" should be equal to 48' + ) + def test_all_icon_basic_image(self): """ Checking URLs without scale or color @@ -283,7 +322,9 @@ def test_all_icon_double_size(self): double_size_icon_url = url_for( 'colorized_icon', icon_set_name=icon_set_name, icon_name=icon_name, scale=2 ) - self.check_image(icon_name, double_size_icon_url, expected_size=96) + self.check_image( + icon_name, double_size_icon_url, expected_size=DEFAULT_ICON_SIZE * 2 + ) def test_all_icon_half_size(self): """ @@ -298,7 +339,9 @@ def test_all_icon_half_size(self): icon_name=icon_name, scale='0.5x' ) - self.check_image(icon_name, half_size_icon_url, expected_size=24) + self.check_image( + icon_name, half_size_icon_url, expected_size=DEFAULT_ICON_SIZE * 0.5 + ) def test_all_icons_colorized(self): """ @@ -343,7 +386,7 @@ def test_all_icons_colorized_and_double_size(self): icon_name, colored_url, check_color=icon_set.colorable, - expected_size=96, + expected_size=DEFAULT_ICON_SIZE * 2, red=0, green=0, blue=255 @@ -369,7 +412,7 @@ def test_all_icons_colorized_and_half_size(self): icon_name, colored_url, check_color=icon_set.colorable, - expected_size=24, + expected_size=DEFAULT_ICON_SIZE * 0.5, red=0, green=255, blue=0 diff --git a/tests/unit_tests/test_description.py b/tests/unit_tests/test_description.py new file mode 100644 index 0000000..859478c --- /dev/null +++ b/tests/unit_tests/test_description.py @@ -0,0 +1,28 @@ +import json +import os + +from app.settings import DESCRIPTION_FOLDER +from tests.unit_tests.base_test import ServiceIconsUnitTests + + +def validate_json(json_file): + try: + json.loads(json_file) + except ValueError as err: + return False + return True + + +class IconsTests(ServiceIconsUnitTests): + + def test_validate_json_description_files(self): + files = list(os.listdir(DESCRIPTION_FOLDER)) + for file in files: + for root, dirs, files in os.walk(os.path.join(DESCRIPTION_FOLDER)): + for name in files: + p = os.path.join(root, name) + with open(p, encoding='utf-8') as f: + json_file = f.read() + self.assertTrue( + validate_json(json_file), "validation failed of json file: " + file + )