From b2b4b4f03a9a89b80587b783c1169ca8c84bd8db Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Ferreyra Date: Sun, 11 Aug 2024 17:30:10 -0300 Subject: [PATCH 1/4] chore: Update django-allauth to version 0.61.1 --- Dockerfile | 2 +- .../core/__pycache__/__init__.cpython-312.pyc | Bin 170 -> 180 bytes .../core/__pycache__/admin.cpython-312.pyc | Bin 250 -> 260 bytes backend/core/__pycache__/apps.cpython-312.pyc | Bin 472 -> 482 bytes .../core/__pycache__/models.cpython-312.pyc | Bin 15324 -> 15334 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 172 -> 182 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 181 -> 191 bytes .../settings/__pycache__/base.cpython-312.pyc | Bin 7505 -> 7515 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 171 -> 181 bytes .../users/__pycache__/admin.cpython-312.pyc | Bin 672 -> 682 bytes .../users/__pycache__/apps.cpython-312.pyc | Bin 729 -> 739 bytes .../users/__pycache__/models.cpython-312.pyc | Bin 2800 -> 2810 bytes requirements.txt | 2 +- 13 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 937294f..e3ba084 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.12-slim-bullseye # Set environment variables -ENV SECRET_KEY=${DJANGO_SECRET_KEY} + ENV DJANGO_SETTINGS_MODULE=server.settings.base ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 diff --git a/backend/core/__pycache__/__init__.cpython-312.pyc b/backend/core/__pycache__/__init__.cpython-312.pyc index 360c3e92c2780c505ea241344b4cac35f493a352..959cbd640a217f4371cbeaa3e1cedf3b8ecb671c 100644 GIT binary patch delta 37 rcmZ3*xP_7XG%qg~0}#ZV*glclm@#;wy&7k5YHns;Vo_%P#1uCGztsym delta 27 hcmdnOxQdbcG%qg~0}yOmK5rtoF{9^1d$o!At^j3*2dV%7 diff --git a/backend/core/__pycache__/admin.cpython-312.pyc b/backend/core/__pycache__/admin.cpython-312.pyc index 8e85ad49ff78e34b8ad5f8bbb9a62f6460511b25..b087462f337c1be85471972ec3f2d7f70e11ee7c 100644 GIT binary patch delta 37 rcmeyx*uunpnwOW00SIDFY@f*8z!)&GM~yQ$H8(Rau_!Zt;zmyZ&zlTF delta 27 hcmZo+`o+k7nwOW00SHQ-&YQ^H!00xyM{VLB4*+ba2(ADC diff --git a/backend/core/__pycache__/apps.cpython-312.pyc b/backend/core/__pycache__/apps.cpython-312.pyc index bd8e12a5f21814f98371f2fd87f23bcf9111447f..11c0009a9fe1505f8d1f34d02dcc185604fad3a6 100644 GIT binary patch delta 40 ucmcb?{D_(RG%qg~0}#ZV*uIgQnUT?dGC!jlXK-q6W?o`ZX8vRo#w7sY7z>L4 delta 30 kcmaFFe1n<$G%qg~0}zxwowt#jnUT?TGC!l*WP8TN0D#a3`2YX_ diff --git a/backend/core/__pycache__/models.cpython-312.pyc b/backend/core/__pycache__/models.cpython-312.pyc index 79db7c51d9016bb66c4ad425b7e03f4ed3ca47e5..f672bac0a7cc58f8c2bf808c69c1a3c80b176272 100644 GIT binary patch delta 41 vcmcap{;Zt)G%qg~0}${t?%c>7!^#*qIfGS=GdMLjGcU0yGkey5!KG%qg~0}yNtoWGGfhLzEMat5o~<{7MhW&o%339kSE diff --git a/backend/server/__pycache__/__init__.cpython-312.pyc b/backend/server/__pycache__/__init__.cpython-312.pyc index 39cb5fa5b6c8d8015ba8d4db5aae5284b3e6e4fb..6a1fa25c8a1454822543964e8416aacbb7cca134 100644 GIT binary patch delta 37 rcmZ3(xQ&tfG%qg~0}#ZV*glclm@#ysy&7k5YHns;Vo_%P#1szzz=;b& delta 27 hcmdnSxQ3DYG%qg~0}yOmK5rtoF{AfHd$o!A?f_-}2eJSF diff --git a/backend/server/settings/__pycache__/__init__.cpython-312.pyc b/backend/server/settings/__pycache__/__init__.cpython-312.pyc index c81f8240e6d124dcc49287e5e0f86fb19616425b..5f87972e33f7643fe7bea32f6d5b788947e3c891 100644 GIT binary patch delta 37 rcmdnWxSx^xG%qg~0}#ZV*glclm@#gmy&7k5YHns;Vo_%P#FRh)!?O!! delta 27 hcmdnbxRsInG%qg~0}yOmK5rtoF=NO?d$o!A0RU(k2i5=p diff --git a/backend/server/settings/__pycache__/base.cpython-312.pyc b/backend/server/settings/__pycache__/base.cpython-312.pyc index 2baa6cfad47cdded906f6217ae5e39b0b2f68301..c28dcf8e3735fad5c6f275fcf47dfafd1f9e82ac 100644 GIT binary patch delta 41 vcmca;b=!*jG%qg~0}${t?%c>dPl7RO@+t{6&fwJC%)G>+%>2#gC7M_O{Xq=; delta 31 lcmca@b Date: Sun, 11 Aug 2024 18:26:47 -0300 Subject: [PATCH 2/4] chore: Update SECURITY.md to include support for version 3.0.x --- SECURITY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SECURITY.md b/SECURITY.md index 034e848..f022cd8 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -11,6 +11,7 @@ currently being supported with security updates. | 5.0.x | :x: | | 4.0.x | :white_check_mark: | | < 4.0 | :x: | +| 3.0.x | :white_check_mark: | ## Reporting a Vulnerability From ad5c6a7ca0e2a89e3e6293aff4847253b7ec8b71 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Ferreyra Date: Sun, 11 Aug 2024 20:06:28 -0300 Subject: [PATCH 3/4] chore: Mount GCP Bucket to the container in Cloud Run --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index e3ba084..c4b3bcc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,9 @@ RUN pip install --upgrade pip && pip install -r requirements.txt # Copy the entire backend directory COPY backend/ . +# mount GCP Bucket to the container in cloud run +VOLUME [ "/mnt/my-bucket" ] + # Collect static files RUN python manage.py collectstatic --noinput From 5c109ca14e73760cbebc8e0ee22253b54e39278f Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Ferreyra Date: Sun, 11 Aug 2024 23:27:29 -0300 Subject: [PATCH 4/4] chore: Update .gitignore to exclude logs and delete Python byte-code files --- .gitignore | 16 ++++++++++++---- .../api/__pycache__/__init__.cpython-312.pyc | Bin 169 -> 0 bytes .../api/__pycache__/serializers.cpython-312.pyc | Bin 1224 -> 0 bytes backend/api/__pycache__/tests.cpython-312.pyc | Bin 213 -> 0 bytes backend/api/__pycache__/urls.cpython-312.pyc | Bin 1155 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 180 -> 0 bytes .../core/__pycache__/__init__.cpython-312.pyc | Bin 180 -> 0 bytes backend/core/__pycache__/admin.cpython-312.pyc | Bin 260 -> 0 bytes backend/core/__pycache__/apps.cpython-312.pyc | Bin 482 -> 0 bytes backend/core/__pycache__/models.cpython-312.pyc | Bin 15334 -> 0 bytes .../__pycache__/serializers.cpython-312.pyc | Bin 5601 -> 0 bytes backend/core/__pycache__/tests.cpython-312.pyc | Bin 214 -> 0 bytes backend/core/__pycache__/urls.cpython-312.pyc | Bin 1610 -> 0 bytes backend/core/__pycache__/views.cpython-312.pyc | Bin 5828 -> 0 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 5549 -> 0 bytes .../__pycache__/0002_initial.cpython-312.pyc | Bin 4634 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 181 -> 0 bytes .../server/__pycache__/__init__.cpython-312.pyc | Bin 182 -> 0 bytes backend/server/__pycache__/urls.cpython-312.pyc | Bin 1858 -> 0 bytes backend/server/__pycache__/wsgi.cpython-312.pyc | Bin 663 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 191 -> 0 bytes .../settings/__pycache__/base.cpython-312.pyc | Bin 7515 -> 0 bytes .../settings/__pycache__/dev.cpython-312.pyc | Bin 1863 -> 0 bytes .../users/__pycache__/__init__.cpython-312.pyc | Bin 181 -> 0 bytes backend/users/__pycache__/admin.cpython-312.pyc | Bin 682 -> 0 bytes backend/users/__pycache__/apps.cpython-312.pyc | Bin 739 -> 0 bytes .../users/__pycache__/backends.cpython-312.pyc | Bin 2396 -> 0 bytes .../users/__pycache__/models.cpython-312.pyc | Bin 2810 -> 0 bytes .../__pycache__/serializers.cpython-312.pyc | Bin 1859 -> 0 bytes backend/users/__pycache__/tests.cpython-312.pyc | Bin 5245 -> 0 bytes backend/users/__pycache__/urls.cpython-312.pyc | Bin 472 -> 0 bytes backend/users/__pycache__/views.cpython-312.pyc | Bin 263 -> 0 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 3631 -> 0 bytes .../0002_alter_customuser_email.cpython-312.pyc | Bin 805 -> 0 bytes ...003_alter_customuser_options.cpython-312.pyc | Bin 699 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 182 -> 0 bytes 36 files changed, 12 insertions(+), 4 deletions(-) delete mode 100644 backend/api/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/api/__pycache__/serializers.cpython-312.pyc delete mode 100644 backend/api/__pycache__/tests.cpython-312.pyc delete mode 100644 backend/api/__pycache__/urls.cpython-312.pyc delete mode 100644 backend/api/migrations/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/core/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/core/__pycache__/admin.cpython-312.pyc delete mode 100644 backend/core/__pycache__/apps.cpython-312.pyc delete mode 100644 backend/core/__pycache__/models.cpython-312.pyc delete mode 100644 backend/core/__pycache__/serializers.cpython-312.pyc delete mode 100644 backend/core/__pycache__/tests.cpython-312.pyc delete mode 100644 backend/core/__pycache__/urls.cpython-312.pyc delete mode 100644 backend/core/__pycache__/views.cpython-312.pyc delete mode 100644 backend/core/migrations/__pycache__/0001_initial.cpython-312.pyc delete mode 100644 backend/core/migrations/__pycache__/0002_initial.cpython-312.pyc delete mode 100644 backend/core/migrations/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/server/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/server/__pycache__/urls.cpython-312.pyc delete mode 100644 backend/server/__pycache__/wsgi.cpython-312.pyc delete mode 100644 backend/server/settings/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/server/settings/__pycache__/base.cpython-312.pyc delete mode 100644 backend/server/settings/__pycache__/dev.cpython-312.pyc delete mode 100644 backend/users/__pycache__/__init__.cpython-312.pyc delete mode 100644 backend/users/__pycache__/admin.cpython-312.pyc delete mode 100644 backend/users/__pycache__/apps.cpython-312.pyc delete mode 100644 backend/users/__pycache__/backends.cpython-312.pyc delete mode 100644 backend/users/__pycache__/models.cpython-312.pyc delete mode 100644 backend/users/__pycache__/serializers.cpython-312.pyc delete mode 100644 backend/users/__pycache__/tests.cpython-312.pyc delete mode 100644 backend/users/__pycache__/urls.cpython-312.pyc delete mode 100644 backend/users/__pycache__/views.cpython-312.pyc delete mode 100644 backend/users/migrations/__pycache__/0001_initial.cpython-312.pyc delete mode 100644 backend/users/migrations/__pycache__/0002_alter_customuser_email.cpython-312.pyc delete mode 100644 backend/users/migrations/__pycache__/0003_alter_customuser_options.cpython-312.pyc delete mode 100644 backend/users/migrations/__pycache__/__init__.cpython-312.pyc diff --git a/.gitignore b/.gitignore index 6d1d446..87fbbde 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ env # Logs -logs +logs/* *.log npm-debug.log* yarn-debug.log* @@ -21,10 +21,20 @@ dist dist-ssr *.local +# Python byte-code +__pycache__/ +*.pyc +*.pyo +*.pyd +*.dll + # Editor directories and files +# Local development +.idea +*.iml +*.DS_Store .vscode/* !.vscode/extensions.json -.idea .DS_Store *.suo *.ntvs* @@ -37,8 +47,6 @@ dist-ssr .obsidian/ # API Docs -#schema.yml -logs/ # sql files *.sql diff --git a/backend/api/__pycache__/__init__.cpython-312.pyc b/backend/api/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index d7e17fc1e13098e58c56f955fdcc203094a9a807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmX@j%ge<81lyL+O9Ro5K?FMZ%mNgd&QQsq$>_I|p@<2{`wUX^%R@i3IJKx)KRK}| zC%-r?wWuhyvM5pCB|o_|H#M)MSU)JWAir4OJ+-(bGe0jRG(bNoF*!RmFGWAGAX7g+ qJ~J<~BtBlRpz;@oO>TZlX-=wL5i8JOMj$Q*F+MUgGBOr116crg1}mok diff --git a/backend/api/__pycache__/serializers.cpython-312.pyc b/backend/api/__pycache__/serializers.cpython-312.pyc deleted file mode 100644 index ba451ef8aa54d450ca51241615e3e29630511c08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1224 zcmah|&1(}u6rb5m(lxeLk&2+=_=)k5ob*scEKQNBh@>gPUdHL}ix- z_25ywiC3xri5JC-E_f0VZ$c`F7k#svCVJ6Y0d%yX;H*a1~OjHT3JD;C-ep!Tk zGMn919)SKe1kZ?1d>W9Dx|AAh1y*Rgc8+cQUUEx0E(PVV;*L>bk*mZnZxO!&blWbt zTxVmf=6p4q8qJPeyWL&@B}E`NLEV-~cW%8Wl}Kb9q5B}LClL8udtC?x???!I{5-X& zK{X)}GSH)JbR3vlFwaPU7(2MU->d9`<&)%<1OWKZ)ikeMXX@>#=p8 zJi)%-A1c6;=;oIy8>|+rrc!~=l9-7gh}T%EWptN$xfHgzFxTSEx%SNbjRlT)e&)u! zJJ(_|8Z!JPx6Yc-k&$7L3G0G_ocLZWedbB!rGZdPhP_xNx;mto?g=GA7B4MNvvwB@ z0536_OTh4QiVOAYqXY#>s-hx#6fj5}#nr5=tkWK-%()8*PcanxT+$G9G8<3H_Hgb6 zLTk>o=^$edeqL{wdC(0{s36uIPzpAbXf$Il4IxT&qXoTKH?D#hap!$>T5Vcax{zIH&vQAhof~ z;XD!{aGq5;4`V+K3?AovH5EbOQ6&sj=Edb2vWY>V9s~jBHL51jrOi}cQTt7lvun)z z)yL5M*diawhu`lzwPRbAO26Wi&-BL-?HHsE?8e`$?a2=N%N(Ca!bO^N>wok>nXYD2 zzUpw@!#frE1k}?6-`Yqb2K<@7yjBpYib+1(Ty7!t3^M=gJ>~_xB!w)k7WA0Wl?LVI!@2LIXC;A;D65W8>UiNaR2}S diff --git a/backend/api/__pycache__/tests.cpython-312.pyc b/backend/api/__pycache__/tests.cpython-312.pyc deleted file mode 100644 index ee85a590aae8a0bafe69cb7e72cfcb90f1e7a20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmX@j%ge<81Zhv_rP%=K#~=<2FhLog1%Qm{3@HpLj5!Rsj8Tk?43$ip%r8OGnvAzN zLQ;!MoD+*v{WO_wai?S@=B4NBl>o(xn1KpbGJFQ9`{k-1TAW%`te>1%l#^eamReMl zT3M8+?~PO4oI2hdbTAT9fgc5VaG>UdKtll16PJ$}Lhrc-uw@At3}(5fl)u`i106py@Kchnww>`$n~#Ze-q_=-4iYgJICp4hb$rHWA5!+7S+yf-uJ{gzC|8FI{@Un)wJ zVSdnHaHPI-X|oLTiP0F1H5ijsSeE(`BVtCCsL3gu8B<~b7BzTNPy`bwz!VjcWg-k> zHI7(eH$9LYeh>Su7CYh(Nq2ezhCnR1l>tT=B4LQPGU6i)i7=wKG7=+ZHO!W1VOsSRrn)mFA$Rj;k8dI0+q0l0=L7&$wEz<7XcA*@%L z6ln1-X~l2(w|>5}fi5GF9mF zq0^F_aO?+l9g+^9j*U{#B|c2FL`*lPB`q*;-xU(Rr0uG;swESWgXy#Kr!`zDIm7Fd z_sLQY=1305sNreV9NFJ3RWRA6Vd1@!qnoyYb{lTLT%eVJ8j+R@s#BsmzC;?4f8-)u zbG|Z{B*$DY!A%EY2bNWASWX3DjG9=5OIEpVqMGZ#HDp^3d`UX$R&8T*6>h6#a>W`{ zZ5`6dWxII|o|u+aH_%f&LqzEdb54mlkFqTLC(f{Ut|A;8xnPL7iVwVtF(xJ+%y=o; zOXYhhxt)?bsd?|w>n``^I|n>**2@*W-2Gmz*v=I@xrZk!UG6Q(9NhJ?3!h;xyU@-q zbh5=0xyvn6eAY|LUOL}P%k8w>NzWgD=yK0U;tWimfxHLidLZ8h`D4%pkI#~`zXdMF nU&QGYIWM#5W$yJdi|x$f$*XSW#VHx%{rR*s9{DKY3|ZzcA~7)3 diff --git a/backend/api/migrations/__pycache__/__init__.cpython-312.pyc b/backend/api/migrations/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index e51a278da012d8fcbc063deae5ed7218c1f4b286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmX@j%ge<81lyL+O9Ro5K?FMZ%mNgd&QQsq$>_I|p@<2{`wUX^D_B3YIJKx)KRK}| zC%-r?wWuhyvM5pCB|o_|H#M)MSU)JWAir4OJ+-(bGe0jRG(bNoF*!RmFGWAGAX7g# zGrcGgBvGs%AD@|*SrQ+wS5Wzj!zMRBr8Fniu80+A2O|&{gBTx~85tRin1L(+%EvGs diff --git a/backend/core/__pycache__/__init__.cpython-312.pyc b/backend/core/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 959cbd640a217f4371cbeaa3e1cedf3b8ecb671c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmX@j%ge<81TiPJr-A6lAOanHW&w&!XQ*V*Wb|9fP{ah}eFmxd6|5gxoLW?@pPX2f zlV6;cT2z!;S(K>nlAm0fo0?ZrtRIwGkYB7HoSK`NmspgUukW5(T#}ie7ZMtvpOl!K zotl@TpPXNmsvjSpnU`4-AFo$X`HRCQH$SB`C)KWq6=(+|5Ep|OADI~$8H<>KEC8`L BFV_G7 diff --git a/backend/core/__pycache__/admin.cpython-312.pyc b/backend/core/__pycache__/admin.cpython-312.pyc deleted file mode 100644 index b087462f337c1be85471972ec3f2d7f70e11ee7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmX@j%ge<81TiPJr(IxXV0aATzyK4J@mU7Qn9h*GkiwY5kjogw$OvLH)p zR5EEYzXU1OWW2?in39{B=cmbXi!UWBF)uw|FF8N2q$o3~2xvINE$-y}qEx-y{FKz3 z;#+JGdL_eWkmg?j`k}?CMaBBbiA6d2#c8QUMX8lViTW=2$)&lec_qdAL8%4##rnai zKnoI!GV}G_Q;SP7^YcPN1N4&;le1IvQuIN_>w}%3S5Wzj!v<(WX-=wL5y+2>KwQiX VBt9@RGBQ48P`Jk+Q^Wz}0{{x^NcaE% diff --git a/backend/core/__pycache__/apps.cpython-312.pyc b/backend/core/__pycache__/apps.cpython-312.pyc deleted file mode 100644 index 11c0009a9fe1505f8d1f34d02dcc185604fad3a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmXv~Jx{|h5VeyOm3|?<$>6i^s~ z2)Ymg1M~qkrhu9ZKAUBqYfLP=@}-Fl^Yu=Wbb0ItW3QCU3|C~at-uU0;6e&qgF@G& zhHFhs+sbQQE?DWk+ojhe9&?9|oQP8vO6NEjce0e91T3Vv<*C+zUCFB$$0TAH=QWH~ zXBKMQ!1y*J;Yw*y=94T;F;RZ(mmg^D2`uzj%TqLzOi1Jr5pwA>A=pF^)Z<L z-xK diff --git a/backend/core/__pycache__/models.cpython-312.pyc b/backend/core/__pycache__/models.cpython-312.pyc deleted file mode 100644 index f672bac0a7cc58f8c2bf808c69c1a3c80b176272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15334 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 diff --git a/backend/core/__pycache__/serializers.cpython-312.pyc b/backend/core/__pycache__/serializers.cpython-312.pyc deleted file mode 100644 index f758c5669592d0b2f58975d3d33c93d180e26f49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5601 zcmbuD&rcgy5XawoZDafcY~vpogMm;fbyeXIC~APB(2&w9fl`uGtt)lAv6t3m?WJ#R zRWz3#IJ7rz;Z)@sMg2>9^2unGTh&8vRZUchQ)ixkENft&(OP=r+41+ydOkb5`*!~b zh5Q6QKmYaHZrDf2pSaQac-l_$&_&2|QY1w|CBM6bmM645m+C5ud9fXJcYpVw=OP=V zC?1lcTM@qxb`qQ4uf&$0A7DxkD7_q|k0}R0>EkE|nQ{=6evZ=5lmSo%Im!T2hCn&Q zQ3jcE7?fd-GQ^Y-P)0e*A*LJwWsIX7X397y6C7ojDU+Za4w!(h(2}f{ep0AjFnfv+cYC8b1cOS25M2Zazyop(Q5G7&vA+Ma;X4Lf&)W%8F-+3n^wdm8xtE zNRq6olC+ie8a_#?$Yn*648J6mwPH<0KPX8*)MT~&%RoDi;Q@i78s6QKq89a+q=|px z>|yQ+6s_k9GF3HwSD{onpmJ_qE7ZzLrK;z4lzmOlZ76!Rq*We2+0H$c3wuhXm@8;h z$(;i>yMJJ~@h?(1?MVcNj_2ngISD6!@tj1)e)Up}(h)FQFWnTc6EuJZbu3K7=rL6k zJ#WWgyxB_kpUdS*|4YEMgs8F5z3#yZuc@_iMRRbh;=LKzp`wHE&)_ii6l!=|YC43) z4WsF)8UfK1m?VrY#Kc926#J)lHcp~w66nOyFrXN6#3|YCq~2mJN&9K-@hcM9QVUro zao}a3)(IHxmN^Me^a*bqaiL+32@f|dbzZm0#_nn5eX5m9y0)%t%ilU_x5=w>*&+=0 z&f`#g3yPkB(QU!0J}KUSNfZrpOp3Vah~kh#awFFHwzS-+g2u?>q%hC$iu`ONV8B=4n`MJyiZ8)A{#WA;T$9kIf69$N##5F zX-O?r8Fzd3`$ z=|d=S14gs8U_A+s_1R>1VG>325jrL_3^`&J+R;=8u%edfwv2uVe`5GOQ6Na|3aU+1Q0%qCk1>Fd<4ZZu~LpO#f zygZP0DZHupQKNelX&S*ANc7I6NNel-tl>?3U18#Dy$fIux9r)BJzB73G%g3(GKbxt z**%9{L@B#ou+xAYX;y~yQTxod(t2&OO22_D*tvQF>_4I)2&Y~mjJ+nAH}HKEH`1@k zY>F}+fsUNIv_Up3;l z>hW9WB72R*Ts<*oMvk8~CYS1yOJ?N7a${z-KC@~@F7E4ixshJ1rx#7l(St@TSC8e) W$Z@)nTBxTMY$NSFZ?ICo(xn1KpbGJFQ9`{kw|TAW%`te>1%l#^eamReMl zT3M8+?~TZlX-=wL5eLv%Mj$Q*F+MOeGBVy{P$*&pasb=_IPw4h diff --git a/backend/core/__pycache__/urls.cpython-312.pyc b/backend/core/__pycache__/urls.cpython-312.pyc deleted file mode 100644 index d4bf4a56a6e7f8fe207e1bef0f33ca0c3184a3a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1610 zcmaiz%TLr$6vl5m4`!w_Qyv58N0-D^G{s;So){xV_(Ze&+P3JCPnai`Rl{- zy9gmaeIc%RusPCYLUxHxbjc)^RFW*YBul=Q&4?8(MR6a|qh{=>AbTx_T{f#a zc+raHtPV(CW&)PAs_D$ossrr6Z%0?kdkITJ!_c_bqM238rhH2ctU_RTN|{;}MlFL= z?!_wF3f|)7Ds`}{)v#B!CBrlvt!z*m_*SQ5RA}L%?Wvk>8MeV4rsubNRRtLiBjjIb8!j#@+@Zd?^15;Y;K~V&2N}&WGAfD3^m1GoepAb8jUGuh&J2@ zkYJ*Il%9es9vV!==AXzB#zu}Oi*p;EmEK$q5q)#ZNw&;?AP}z^FONNCC8vn#e gEcv?q&C{Lv-G%oH` diff --git a/backend/core/__pycache__/views.cpython-312.pyc b/backend/core/__pycache__/views.cpython-312.pyc deleted file mode 100644 index 8673dc221a7c9bb718016049f157644d7b297c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5828 zcmc&&%~Kmk7M~G92nh{H2u2_b0(~$-LJ}V)ENeS9A((h=ihMYg>Kv3Y8r#BZjngBN zBBwp+!Z$- zM#I>HJa`0+U@!9GQ8bEu$cO#NkH^p$4xj**kc7w4IG#WgIEaEcghG7&aAgvQQ5a95 zDLjp)v5aIKK@mKIX7DVU#ZeT+b7&6VKsWF_n#T)h0mo1bFQP?Ja0&N?lII^nX+#@3 z*=ue7`uo*TqmSYo>1D`K2V{aHeGKV$KqfhIj3EOK$P`CP3_0$AT;|9Lh739&6^;xs zK&5>b-oN_>}aO5;Y$_~g3M@ATO#sQh-$XSMrIv`g$a*iQyI3RNzInR&_4#+%5 z#u#$Z0a-X(O2>bLa7l}{e^)iMM`~4lrV%#u{!rF_G_;!Wn+SHv4%{o@aDqeS$P^9POdG#X!k_#3$IN8pk5y99ji(wR+8I&vd;0My)~Yol|AqEaH}dy21J?WM z@lpPXdi+AGmh#6s(enHa$-O)yakdy2Io2^?JO32w$?R3}vS=l@X>!|4?)?4WUoS3} zskCIecj~f2-C?rYnl^yv5NO1H^D%G=*%Kg1*is6_G6;C?L;;Zo(I%R#z;GHw21FJF zcLx|Cg_hW0ofaR7m8-+cLo2aG6I*6toAZ&P(xU0!uFK19K49(u_y~8svJSKaz`wq< z%!0KSE$d(avCY~WV3~zUX4}f#rJ1`{W{+m}%*;L~W|c~c>E5r)xi&E{aR9`~@25lu zZbsQQ`*S0MwHG%x!2semYX$@#<0f~<%I(wKzLk4Ga}UhiL*VB1>3F$xw)ZhK-h=8>h9e)7>i2JOy=!h#yGygXR(79e_s#49XC_Cb zwCO&m%lS4lFmV9P%zRjsIIuGbZuVto5v;wU29gN@@i}X)tWwyu3J+-EfmJx9g+sG& z)W|AXDy^FCqq@A&rUzyYfSzzy5$nK=2VCsSOc<=anE4nCAfVbKa85VQZ%_@u<=}Pk z>fmn(w%XU<7+8Dxdk+jCzGba-_A2X^vO|>}OSwapJEn4%zbEW?Nt*7vbve@x1eiDg zR^aaAK*t35)t8P1u=b(@{x={XzGKZ;VuBsFi;1h~W%O#{a=~0&=TyY0G;g}s>vEz^ z1xy+M72~aIkpmy&Y$xaq!C zm(y)dVB#P+Y29fZI2i%w`o_oFY`a2KS zUjF_K3?OvqK-tys7gUGoH9Jx|QLE4NT!*dKNB zg1Ff<+tWZ2o~8M7@WQ&hNamH0ABJ$JCHzvsi$xy8{Ke*;@QeospzXiD$Qp#FcK-1A zJ&ae@ynN!d0>6YrVO?Hf^1$bw^OO(+1Du-n*duVIMQ9xK{PqU74PKA)8kARFyv*RI zDL*)PHsv{lzc@TnIDPNk2LJTlYFy>-5IBWJ){G4%e;*P>@ts!?*WP&qG4Y3ITy*^* zbcRhox%QUnMniOc3&$q2fg-$A zW)n0Y{#N$FYeiORWEC)3z$DKjRxm|_DbOTAvvU62n$FPa3}{w*Yuf9)gLQa3{vVMj BMm+!k diff --git a/backend/core/migrations/__pycache__/0001_initial.cpython-312.pyc b/backend/core/migrations/__pycache__/0001_initial.cpython-312.pyc deleted file mode 100644 index bf77d0a7eb31a8a06ff100080c78428587cd2517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5549 zcmd5=PfR1%8K3e0e~>X@fwhhQ0846&F$UsF6{(qndEa~A zpWpZUzV~Jx{~Q?baq#^8uYV~#ALh94sL*|!ox$_>VDL4EIK-E@GQZ82ZQC}UvvK!1 zWc!jscFga&x<(g&PweJ++kWUsI=`nv(q{O|a#59PvQp6uS6M;0q~$McIBujPJl_Oh zUvrq-<`K7TL;SYA$Zb1p9Cq#nE*qF*WJ7jXbMFbSS>q9p9LV|1b>c8r3pV6t+C#5u zpLC`QwxaEs=fq};SH|_;EN+pv;L~?ApU8iGE|&7OTfi1T11uUe%gYaC`PpEXG2r+O zrrE9NCG`uAk-&7uE-iM3mvn+mC)8JG$U>|)nNH+YKWO;btrOmyhq}8g@Gyc#nKvsu zj4{o=y@qZxo&G%hR9uBvtmvyeT;e=zK__BCXWW8L)Phco>0DnszlGYxZ@9k_EO!4s zp0J=Z$#mlVcrQ9E;GaTwm?tZ}H_bG!3GGzL~tS+2-hO_h+M z8a5f-Gi(pmlMW*w?bj4BuVSf&k>RhZa#>Oj#i#ht@M>6k6Z^6Tm>1IkY;#Th{sCFaIKd1%N50Nm2gqoQw(8EDOXjcENjX--jIrl5s;CX zhe@#tQqrdS;XqdD_pafsVzrQ$^CiV_mX%6PG28`NEdy#}pn&tclGqh})Pd>s`~QGx zl83Ku>2tA!E5+Kb;auBSYLelhk=V#vQ6Wz@bgMWoser?OfGc^qEMpqTXZoj*jG#Hb zygYodEFugmMG7j=nZ-y3$zPMJidfyp8u%N0P}!AsX6@;YEU8w0MbB5wZpelDHPPa;Rc%us^kp^ zB;$-*?zsc*4RHAwH;tiz+EBr;vnqpM z6{_t6p`&H^HX;8HO?QK^&gkg4AEIk7Q8Loik$b3mlzh|hh^*H{(eQ~P+@SVL7{&on z{QbUEqKyZV8(O*s9cly+u0qbVm{?Qkjm+?`v6g;F?_Mgs5E+3Fy>Da98N?mhm)0y4GpLf)6ZzvkzJHSuM zQmNDv&!+&F=Kb(n?m3|2e*7%61^Z3QKxdW|t$2XB$lnXe9-qci&G%&FsSifoIdqBce~BGg*J5i*uKay7?N z`dF$ymL|en+i4#j{K4t+`r3m%zQX-|we2=)=LEYzkKOJ5cCFxT5}rHCHN$gyc&;9v zCqnkMxZDov-wpnS9{-c)!5B$ok4Kt`te(i8qBGn`Y!YFs6^xMR!cn0aUC^To_2?22 z-fjiQNGNqQ-3+DlP^uoH8MlHV63HChYeq79BvX%MiLe0Fk%`>#baNu7Pvq(o?-F6T z6&xqA%+WzJmeFIG)5S*YS44QfJ>aIee1L1D2iMqnFighNN1rsu)B1S&bn5I*V|;@M zzhStt6jxS{X6w;KA}lcsX^J7ON7D63h6wZ4u|`RJ{@B%w&+GB|dVGNhi@jLuF*Bzr zGMzgvG^ca=bgn*a=JXaxE`Kx9OfKum<$7|32zOgOeAW{tzRNLA*BbHniLlxp4ba@* zfZXFfxhJlxIe1&5h?n&EQazp{!aJ?t6>~3T*7iDSOb^5y>WLXT@2$`J*@unTVudhFVL1YMP;U6s~D>3Ybl-m6`8rT@`$ z+Jm#S{h29`@mM=-D0DvVXas%$~iHosn~TM!cvXoMO&K_z@94zN)e} z@IBtYQ?ESLz%D^17mstz$whr~@gEMdvDKLTgb1Jh1fcGm2a_bV@=dOpTG3N0XAbh& zZyTxK5kdT)oIkbyksosX=_7Ts`}TMQUyEL}Csm5d9NJ-TS@vQz-!D(78q?i^(T|?H t<~#d6^-~b(KbKX(uJviaa3aV{{=D&;phMW diff --git a/backend/core/migrations/__pycache__/0002_initial.cpython-312.pyc b/backend/core/migrations/__pycache__/0002_initial.cpython-312.pyc deleted file mode 100644 index fbee7718eda012428661c46a7a2bdcb603b93f5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4634 zcmdT|zi-<{6ecN&qG-vs7{`udDY4_gjygzI(w{&PM2Hg?X%ZKX4HrUDmeQSNs{Eml z6k2OaffVSNty|Y7h=I0C`$u#!5djhoC|aOXHv>+WOnpa6u3giB1P6l4;dt-fyN};} z_jr2LuZe`n!1eR@-)($7%rJjaqkBaQ&Th9jb`RxHI)O~WR< zZX&GN<%2M1JI3CZG0F;ijEWp$iy_2u3=UVl6&;+yFqjWy!}?Jbt|)jjrNgtRg+eF{ zKCwD})Q98M^G8RkV*z8SfUyfl$AWooN1k(j>^9$3@L0Z4MAsr#rvuPmJ6{y*i<|gA z({c!j1Jp9!mzD`Md}_IkoN8{P1Jo_q*PcqJINv06W`Mel^`%=BogE;z@xHiCpmPJ{ zHrXe))2o|^&JR$xslIeepws}lrH|!y>F94f8bKE}+3kzniUD|rt3h#5G~H9&1e!S* zS4kG7txK6%61&%}(^jEs3ztm`lla2ILS9x4)ln6VBow4W-*zkonHCAxZEQhk%rs=E z>ac?e=a`ugRD86`lMO}3B=_M-J}7$_nOC&BZkS}WZ0a@3 z)Kwb*Yf8mz4EfQ%dssC#m6EEdj#7s5lEf&e?@H*3gDq9*m?C&OBaOHR(XmLF!jee2 zZaPXs^juz_@Gu3KHUw{sau%VfVT-aM6tL58B)o`@1vM_V9nhyS;te}$&GZMzILx6Y z=y{NKV`4w>up`4+=O7;}TBt&Q1a4%cZm19ISa!?`b~dT}7OiouDL;nZtTZ(DGiQh( zds`sOM3iONlDdYWAD88abw#7w0#>xMw^kS?kum!VrB+i)5D0o>17V}QWziC!j1<;Z zKakfR+**OXB+xDz=GGKwiK#WA@+y%&U)cYmj|*uB=#^ zX>VZ5!dsS-TQtjc9UG3FTfsHc&MkrV@T}Ffk8&lY{5dQsN7c^#`%RLA6u;U{@oa6& ziUPdX2+*<9Ak1Utk74Q2(k{=$X4=C1H)2becZK<WtZLT^3LjJQ&NKf zF1{WfnRarrCmu>uDh2VFZzoeH0suiz43O@LL8&Q~gO-p!sRjUWt|tbcH6cfSb}r5Ccf0Oiv=}P082?@Lt?GSAZ;&7)=uhe-z9SoSc(7Yj&-$rUStF^=^u1iRLc7Q zbY#1yo%IHUk)e*iY#JN>xf_I|p@<2{`wUX^D?~rEIJKx)KRK}| zC%-r?wWuhyvM5pCB|o_|H#M)MSU)JWAir4OJ+-(bGe0jRG(bNoF*!RmFGW8&zbI8d zH#5B`5hPQrA0MBYmst`YuUAm{i^C>2KczG$)vkyYXbB?_7lRldnHd=winlAm0fo0?ZrtRIwGkYB7HoSK`NmspgUukW5(T#}ie7ZMtvpOl!K zotl@T4>X`GwMaicJ~J<~BtBlRpz;@oO>TZlX-=wL5i8IZMj$Q*F+MUgGBOr116cql CoiN7$ diff --git a/backend/server/__pycache__/urls.cpython-312.pyc b/backend/server/__pycache__/urls.cpython-312.pyc deleted file mode 100644 index 01f2f99705ddec03cf44c57c8bd41a396837cd7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858 zcmb7F&2Jk;6rZ)%Uhn!VPSXTR1xuUMF-g3DR6tfp1x=GwpbCWqAz!xZ-LbP_znIx= z8%sz5A(10FB?lz9R>_6`fIAnEduUdQK;pzLA#mx5H{*4%3P>=LXJ+5L_nY7Q8h>9b zDhS30AAa4Q%^>s(`xuN|vN>B65ZXiQ$U;qI30BGx+*C6quzlJ|yJA!1d(p|b*=E+2 zniBucI5}5t$^uFuELmBYvzBxKSZo}m`YS)n@iX}!&lG-^fBLMGZYnsBFvP^8cU8xxp-TKH#8d?ks)oLL&&Ky@U0nhM*C$xD zJpgn2uz`aOiUAon6cxrs7zVVVX_jx&y0vL|9e;40>AM>CwCnYkwa^c2lWI&^gX^iL z+kBIwWi#33`*x(;FvXp`fn`!a03%Yq|O-+=&S(N z|6#-Q>ju>s$aL)~Mz=lFi7eaeKoIzS%r%zaL40oWz^Fh4(!+G|bWLq1p=|WS)lWyA z1$;m<(VgW%`Oj=yj^EKBfP}DgVQmSj;GxiJ}rU#ApKB|d#x@AU$-ZwfO zOy(k6TLM%$z|agH_Cmt2Kq3+RafE3|8J7BFSzG5WnFeuu+Qx+7En;Ykz8Se-MYUBN z_*7d43ux4}_4l-vVSa=?OY8S5?~r=1^&~g%7;eil7DxqvufmU(VA@7st^6?c+ILfr zF0X8(GmxOT07UikmbslLwK&5=11z%v!EO7&o!VF|={oeQuE+VLL|A1J7L|A; zkEY~MHzYLncdg-=X)2Xdt&WK%WL&?Np0tM*1nwivH1KM5{1->g2ciX3!g0%} zp>$MOd0ctncS)3$Qw7OIu(`h1*lq0H*uBxqT|FsEW7*RZlArsg`Y89(X;~VZIYm-t O=F@jhWF(Gqm;MAsj1FJ` diff --git a/backend/server/__pycache__/wsgi.cpython-312.pyc b/backend/server/__pycache__/wsgi.cpython-312.pyc deleted file mode 100644 index a52c3fde63c34361f7e32b8ccf219efa031104f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 663 zcmYjPL2DC16rS0QP1)EW()K)vmw@iXgBKA&NV`Nd6_X(3vYG6>O*Wm~S!On=>8&Th zKj5u*=}+-eQ55#1NDtnW+B%1&!-!mcDNC07)FcM2X6Yx;L z90Zv&6|G7Mi-D8jkfo`J0+vNG84k_7eFG9p1tdxgUc4$0nV8{`CSfGtf#CqoB+F9$ zgie8cq1EXocl#n_ErC^~LZOLF(DA4o` zm~B%Jbg{Bt|1}-4;1Ci{OLi-XZo0VKd|EF4nW~$)<}V@LG{;{XWBkvm;>z+a!p;SH k^b=X{ofGE=+WCTZ&UfAO=KeS2{i@&lTEBl%Q@2gif3aG{5dZ)H diff --git a/backend/server/settings/__pycache__/__init__.cpython-312.pyc b/backend/server/settings/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 5f87972e33f7643fe7bea32f6d5b788947e3c891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmX@j%ge<81TiPJr-A6lAOanHW&w&!XQ*V*Wb|9fP{ah}eFmxd6{jCsoLW?@pPX2f zlV6;cT2z!;S(K>nlAm0fo0?ZrtRIwGkYB7HoSK`NmspgUukW5(T#}ie7ZMtvpOl!K zotl@T4>X`GwFpR+lw{_m7wgBzXXa&=#K-FuRQ}?y$<0qG%}KQ@Vg*{q2*kx8#z$sG KM#ds$APWFGyfknC diff --git a/backend/server/settings/__pycache__/base.cpython-312.pyc b/backend/server/settings/__pycache__/base.cpython-312.pyc deleted file mode 100644 index c28dcf8e3735fad5c6f275fcf47dfafd1f9e82ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7515 zcmb7JO>i4Wb{_l@Bta1TC-^@SNl}nQfcmkeDB2$g7?Q9+fW`op4QDd}(L-=300Ykq zL~$JNa+5u1Z*=X!+A3B>*{W1+%0A?pTkg3~C0C4e)mAZ;%E33#%E_mEJp+(1ZC4UP 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 diff --git a/backend/server/settings/__pycache__/dev.cpython-312.pyc b/backend/server/settings/__pycache__/dev.cpython-312.pyc deleted file mode 100644 index f7c24599cb097c2f49ba75e4028ac594ba9e4f91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1863 zcma)7&1)M+6rWw~YFE-qvMtMz;*U6AP2Co$NoxvC8c?j2Eh0-sT9I@qENjhJmb0rh zyK6U=2{=$_a!XEWiXlF>r2k1T0aFk|4~Ei1ZZbXua_Spd3Q6gqBlPCYo8SAr_vUMV zk4D1?+J*04tnm^;f3d-^MFz^r&m2O}P#s}}ISc8m=Pl0Wb)G{wfCVdH3%X#7x@ZUW zpe^Z=E$gx!(nEGw58DwvVk^30NA;*3(_?mAk8_Aegnu~*04$AQ#8Q*j$4G*V zr(u>Pv3!H|5)L)FP81%z*m6ZsY2EgMms!ti0q;2YQ-} zL%b+sfb7u5m;ZrJWAV4x(4${{9FO2pJhso{#GoGsJ&7mq8JyY=;50r9T>m$pG@cx? z<0(9iXYjfGAf5%r^Y{Y3*yMpv#FzF1Ee>Da7xl>Y%V zO+#}Ejpypxl2NazRb#o5S4&jBm8+>nzF4JWd9{$Mmox()6{Ap8OL-bAmTOwBR8sRs zZe^uL!^_2dzNFsCRaF|Qs`$x?Yrlh2b9uq+MWX?2+V;7@rK!MI_?!l^f7}3s60%l zPftUzl$&PL^vRsqUkR_}v}p>rJag3|Mt_eWX@iwRT#ts|73#U4u+*f%%-j^^9S=hG zZ-*OTbHb|W5w~Abkfi`GAaZ3ULQJry(Pgiot1tnt4{~En#F-cYK^3?pYB_JzO1avS zJHzZ_%r01Pc4)x!T^ctGv)%45E);JV?sy-tY5MC_*l=2HcY+yY+q_5M{CQL=RTdZF zmi&rNU;@3ZWb2Tnmu;A?<#=nb#bn1dvw5enWs|n=WvgV<@v@7=^I>hY`bw6qJZa-B zxWU5uzOb1`Wjt(~f5l zr~D8-iYNAzBU#xKkEX8tGWlw9elPmSf3om+=Mc^Jf{2SB35lL4B=}<_aQt4ZrywrU z73O;ZJ`Oe>Y+8bQgd8+($_h9>QB(oBUsc*WeE8WSdZu-J;R2l{6*l4gfi$bGd hIVikJecDYnlAm0fo0?ZrtRIwGkYB7HoSK`NmspgUukW5(T#}ie7ZMtvpOl!K zotl@TUkWxMK0Y%qvm`!Vub}c5hfQvNN@-52T@fqL5=I~{1~EP|Gcqz3F#}lu@EZ~=v5`~nKo()hPBMF0C&`dxz%8x(3AWdY z_BQ?i!A1)a2CS^?P7a%^e91cJDZXOneJ^?M`@WYClL6BU0a3tyN)(5K(y>zij)>N5P-&=9Bw3G`C1+Rjf z5ppk3r5o#l|9@-ctWGB_jPtWJ?_3Lo;6|Ja@Kgob`d&vOnkAxM;;U5gQRg$+&?{k{N&_&+)a+Vtu!1Ga^Vzrmy*E3x&rJu4ja0k?{qswA#7O` z-L6P0n3dK9rxq^0VmH2M&1JEaMbX`;SN#f|M%uFnEH2fvlDpdaN;)UkjmwpyCt z*+bb_&mKwez@4(}uJqCB!Qnnz@balNf+aGxSxvJ(8{OQz>n*nn4Ds!K4xf`D#`s4z l!r9Nu2w(Y%uAYn#-hM%zlP_rc2~CezAJOzPy6(ns`xjkX%IyFE diff --git a/backend/users/__pycache__/apps.cpython-312.pyc b/backend/users/__pycache__/apps.cpython-312.pyc deleted file mode 100644 index abc185c2b077c44671508756ffcea9994d1445b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739 zcmY*XKW`H;6u0j#X}Gj%X$1oaWFeLyl=}iLQX!&ZsVZoe6O!wkeTnJCKI}W8WJ7|T ztxW8Q55QMIVnJeon~<2;K%q+~p6^lw9-iNOet&+y=l5}KEktl0e|Vn`F+$&+aei7$ zWpN9X6U0%BIObl4r(Wz~wuSinUUhk?#{U;4Qjx(ErpCG-{%~M>xVo^L=S|_Hf#1j_7qqwu_6ZUw#=zYh z0{htKUL1&)XmfuXUU?9&IL1}?AC&WrzjT&(=GS=BnveQ06p`8fT{+$@3w>XTj8~gL zn3Y*U8MtU#`&y-&$$qa>btqMADk!Z&N}HL2zDnuSl4Z-66-v2IC^cTz>6;4tBnDH=hs8#(CU+ zFECv&s_t?+u99)nZ)&YOt&YA3+F572;eN+#feFis>{SpyeT?xhFTla+D#AB@w*$QO Ls&|Uus+0c!H^0>q diff --git a/backend/users/__pycache__/backends.cpython-312.pyc b/backend/users/__pycache__/backends.cpython-312.pyc deleted file mode 100644 index 674a1a29d76c2d6497ee52a7c0edf07643aebfe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2396 zcmb_d%}?A$6d&9B2@AW4k=V3|P7_dB3GL>PL=;t(sE9~EvPqM0$o60vdmskydYSQd z7eu8f;*dX}5KtL*RK{|9XBVMaZwnL{Bm#x}O2DK}=#wHmOTBNkUq-<+@T+d|I&+^<*t65t%S) zD?C<9$z+C@iFINonX;t>;#ztoRZ9PcOiA+k7nrNH1mjxWF_{gL+;t>A(v2n7FoBmo zH^Te;j~p`H5g;}QBQ?n+HQAJEikUK%b*Yvx6D&C|o5}S=Ewv(-(%#!w>$+v%;Im+- zq1Rd5!s_om6rRbZ&hlyzKi2pL9AHm|pAmrgJ0jRoh#sd8`~ zXKsr({3}|*b?Q`a!NG=W8MV`O z4t2PH0t1SS>Xu+)l2#q?)?iJvBq&Fz8K_i^L@b$5Z_*2I_l2L!EOC!E7o$8MNeEet z@DP)^>4;gAA4ywMz@3oFk#rSwBl@f4T5_>3I(z(GQz8v6uO)Aj73D(QtIV-xM2!#* z7`zLbG4Fj$M;gKRSg%bw%3acyN(uc7aJUESk57mJ&X!wDxRdk_R61m+Gq=bLH%MYk z7fXf(2$UlZOB2>;-p31Wym7V(&}uu}49-Rzbxt|5)Yka|6nM%sEiA5X(zq-;;T*yprw*d74fp{}HA0yA;rpOE6>6vk z?OTYFqG=ZE=!OfjK0i5;pb8zDodx&&=JV1)s)eV(Xy6DrFE{NlQFYv_9ZR_0;B{y{ zt7)?veoe$Jztx!O^&9t?v7|+jlu}+oFniuhheh-56|-#EEiq#mmLIpRJCa zGLFh|P3#ZBVYyEZ&Ze`)J#}bT9obe#cGaNUpHkJG|XH{7q-4ckG!u`0&$bdG+OCo)pgQ=0~^lqc4b*Ek0KV_wvQv{Kf73 z#Yk|Vz{V>v2xcE#naYvJId$ra^7!4exL%fE_0kxjW|>BONZ??>5#Rk1mJRY>hRK?A zJVI`h6OE6BdF?rBX!)q2mDO)w@8;0epvgX-{)hJZ7o7ql70@UCkDid5OVv_>k=6w~|2`~$oSgCoa=xE=qK-XPFFna! zdg%ioj))Kd=-7jI&Xe!d3FSv=LMh2r?9_~=;mpu9uSdgwcFRUOr)kSA-41usnr1qN zrtu=Wu2>D14*~T9>B36 vf(Sq4?*WTHH-Q?EAxYXN<$ZE_pA7$!d+TX#=zjJvF)9@|$Nwbo@$dKx7Jqf# diff --git a/backend/users/__pycache__/models.cpython-312.pyc b/backend/users/__pycache__/models.cpython-312.pyc deleted file mode 100644 index 07a517cf30666b0fdfebddd5156b1653ad1c7b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 zcmcImO>Epm6drrMyUu2ljnV>5NzWe`g2V!{CZ5^E!E3iO zwn`!nITX}mDh_Q=a0I1yt{joL6cLHaQY9o#+)~mCsVCmEy_+96&>u$f^Z3oo`l)4rexYl$jdX7K#crux z)`(8d5?;JQcuDA+g-k}beZSVdJ|tWp76PKn$CkA8J}@3g;F%^q{g9AJ3Y2A*KEyBU1&Np=bGoIXnu5+Nzu7XGZ%8|0R51CxWy!NP2w%QoUW! zi7-}Du$eJPx+IgWOjm)a&Tw+DE6No!Zcps0=kUkq{c47~Y( zsCIN-xni`3Q`igwY^wd!wbdbOIH~M9$v!{;VeU*lDHu{A2LOS*JW-mD2nsy<^nd}v z9t9hy{C~y=s(4x$L0S87f{aJQN-iSD3x4&H@feuF^J_!d&F5tga8m9<`D06B9?_E( zvc&9RHz}suliGoxBqf<5-ObT}C?MDb@Y%6}TqjX~?Q^n{BLx=vK3=f(aC)Z2#shKno0jVwJWz#)mS2d<%n-%)5ieb{PX zVNng2Nk3E_A*EQAtT7$BaTjX3YP7_~P&MX6*9(~R!p2#lu*%Obyw_M{?x)bP8fb=U zWQEDTxSEvnBv>2Wg}j~fUIDG@5Ri3pf0&FMx^eRBQ#Vg-)#|s+`VO$kzDkDC#<5ce zapXOVDLLN5?JF?%v+Ei*A42fL=@Bo)WWellQQb(~8v^Yax5GY?(Ik&pM~ig@Tj9ez99GX;y`tKm{9xngniZA zIJu#&SzD%^ojVSDW~~u<1l|&3E%B6m9*F@YsqB{7M04aI@`m@9(PVH>Ws_ArI*tSl zmdB7_Qb<%KCy?|lmheAEQiA$b3kVuqE1KIU$k4>qnP02Ney$$7$-b>^O}zfY;jQY- zdh@quj<3(&868`H=gtZ1o3ZtGH|B4=c%z1)S;$X zYasP3Im*+2FB|{u;D5`;N^WOKE-^2YfqVmB%%X54|BfTiS2i^5K>6tvNNmXR1th62 z`~7=pp2;rwO*si$5S9w}ZWlC7yQhz6#)FeYd-X0Eze`@bU$V5u#`pt(ac1-1{FWB7 diff --git a/backend/users/__pycache__/serializers.cpython-312.pyc b/backend/users/__pycache__/serializers.cpython-312.pyc deleted file mode 100644 index dbfbd87e2b851edabcd4e632b4976e137aae64e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1859 zcmbVM&2Jk;6rcUDy>UJqoWwX_$~HtPrix8-KqQJlD4!K+K}~{$FRRVYI9YeS>&}i_ zY+R{AIhYgllyCuYD@qPM=1-`^#a1FETBQ;QF5FtBy_5@Yyk6H*(+hK$nK$qE-n=*O z_vZKh{wRX6`0vm8i4a16aUmEWx5n8GSauLbSg=r0$O!`9iKa|%klYr|^03)K1my&bav~OTl8A_0Xyw*zfFSODX;1Laa^csaWE?Vu{cr~v z!I5nQQ7h>lZ)C3QGN-uWY?}6JCo(+(UZW}uU#(hPuf7ajWm`H^b;BSf=BmVml&PxQ zDk<528d1kyP` z?!yQ1o$729h{4)UC}Cx4``X*^{us)GRhV@(Pn}}t&aNbV%QYyPLdmVNNeT9%rd=vC zja5p-Q-V+c5pr3@B8J#iAWk_>k+Tc%m^-K@6xyZg!T=3}vfLG4gAh9isV36TY7+gF zwW)_t4HW|7bh*XSC`dK2Chf}sP4CJz*_~&R0ER;yzaiEWoSsLsS_p^tBYW-Kz7x89 zDF4?-O|A*JXO>4PtfF-Ey7$H_456IzUWC6raamgQlz=2HP4)7+t#4RFWe(@33Ix3a zL{v-Exou)7t^oz(ov2%G#_Q*O=}@z(Gt;r5VzS|2QvL86@E=SKtBi>{_DT$6z-p|H z1(hDlcrp(n9rh$>Y|884MGVL0E$#^#Q7f26Vr#OnT9fY zGL+nzzCXR2I~;nyuKd}X`Zakv^zO;v@J`?TzTK~zgO?gpbC0&3N#gK8eg0_}4JS_% zZ#I$(hl#}>rPIX4yGK4!$@_tTYB!{*Dhdh8GXxOZBY;l6`~H*IaJ}ygLPFQ!vr;sT|0tT~MK!JH;IhT{eVTTwtXpkOMANWi zXzfb$%x&p((Igh`di1x!-EWAdV4-jEiT6Zn;%(r54AVAxDuzSKlR-3^+3h_}PBxR1 z57|+2wjqz4#K!C29>>O;vGE5h2Ol&pFC4`d?=7FngP{@MDfh?Y9l{0O-gGjYAJp8) za0>dANwzg*W&$}G)os^m5tH(6ro0l~0EGf;c?ucB?|0LuR&=#fTtDnFj_;)MLYej7 uV2*Ps(36qb}M~~6Ovv5in+5P-DHPuW_Jx3t4eEbLN0OgDT diff --git a/backend/users/__pycache__/tests.cpython-312.pyc b/backend/users/__pycache__/tests.cpython-312.pyc deleted file mode 100644 index 81b6007f54654a5b5aedbe7eaa7c8afd05f5ffe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5245 zcmcIoOKcm*8J^`!D~hBW*^>3J<+0t$rXEyfG&!j0!%b`>Kq>^O+`_t0tKFfw%5s;T zSxTni072mb?WyQVc3U7pP7dT_4n`lq5M1f*kGC3IAn*&8v`)z`d>`K)XwB{HMi&5RNUCp!wb(wIf zt_db+#o^SgGWteCxK8c5U>s*NtCR)NgWZ&~I%k5}uAmy#r4VhPlxa&nTD@+Wy5^dW zUCO@YLbq-;3@{Y4={j_iakJ8t5;|vcI&~_bQtH|=-Krd8x9UuHnL#zz<>q<=l+0x{ zLARJ?QMezXRC5DOuz1^nwW1ABvsGm_)ok!;Q?pEiLfc>zCe^vKX&TIcWnT_WEoCWO zD-f(VAXfCE+pM$V62-WzV@GJ6>Xs%VC3L+>-`vpbn+~Y^IdiLyA$(nex!3DU^cT#f zjk;W+)WPgclRI_|!iutfMC_Zr5iUt@aDEwsRPL?`{0ZJBJu0yKRX}KtQWJ#|V}aL; zhxAL_mPN%=(NhfNmx|w!jdq>xZ(YBIjVrIci*VZ}jI1hvfrO!~CXI}dybC)Y?kTvZ z;hu(jrkN-Xc*Bvtz?AkGq5%Dl!sNd#x%0sx69Rn*0;CuM$PGj6%R(2t0|NsthfqG; z$C_=>byn3jO~4jx>i)`6_qT%&)ch@D1WoM63HAk1e@U#MiXOaR$2Z3eYQfj^4RO<} z=B2QMDqb8vD7CC3W`b(~ek9?4?`>$di5v8jjQ~1f4bD`pS%4(Wvb^CvcgC*Um#V6F^eAsfh(VY`K#-~(F z4qNmP18}|^GUlbw-m^Tmp=mFNkAam>(w>S(2I}_G(pOIn2EA-#*c%M(EEkg;_k}m$ ztZ%>>EW9BO@PO zXsgpLb-FV$*%?0D89CoMdAc)t>hTa6yzrD{2D5uGpY*^77bfA80=T>!d>$rtx`2FN zxkEM(ko&GX%7(hH3m%Q+P8XsIIaE$&hP|?e@*HxxUKxDaCwJ`N4Dj=ngS|#7SYL3L z{vJO#6XZ`E?0pWY(Ice#`#N@nRG&BDP6je}l)$feTqNy%9;dw(*pMuunZ!^Yk@nyXAv z2Cl7CmgrT@5-beCJdk`@H0q2au=|c`x@&F%hpzAji?|swAyCw<3rs8*s*rgiD+@^c zfs(_zBdis05Ut?3;uEr;-r}p^gYd?S3eUrhBbxXSG|R<;GtG&YjVClx!9Uq{OfC9OfEi} z{MqkP9W~ch$6D&xy%Qf!+@JWUysN$%?>lq<%!BD&bur#Ib${x?=&t&G==;O5-yge| zYLCsf#%3QZKN|btuKId>>goHZchw8Ap7!`mYkX!`oehOQEZi@|=ltdPy_G+Ye{}U< z>MTDA?)Q*0lBOi*kKxBQl4O@?;W512E{PKIFog80gG6rLD}1{31n`mbeS&Lfsl&`z02`S2%b08fCY1R>#8{(Zw|rik%XD3rl=t zF(~2Ypa!QhRpU)rK{;J=qkat^Dwef;tmFfeKT1$h zbsClt>Xwdy!5-K52O=k~o$^8@l$-(~y$$W{hfrpn=`kihlcZx@i?24awt4F}&#%As}1gtrSw z9hbuNP_iM%Y+<>W_Hyy%df8|jL}bbF+zGRYtcjM(+@TfyIBR z@5~!uK&(LX0eL(@3d8OER4YIA>C6}TsYm%AJtpd4;qNE^lN)X4rdqkFc5bGXo9T?7 z>5NWy#xHax&vqs#WPJJACnS?Ee4U2rU!%-d*gO-+{@dTXoKF5DoxWTcC?>oNXKsVr z%kb4eEz7LCT=uf%vj3?Je&@<%JQVQsg{OgX*>Lo7nPbwz&trqR=qE(-mt=8{nTKqU z(gaStOTJ1RORIb5PNcJYb7SebCqEcT7km+%y%g3YtPizeOG_XFTns(q@d6|PAZB5R+ZG#b3{4&Uo!P1^D9Lu+#7pJ@Gdp{4?wM^ A?*IS* diff --git a/backend/users/__pycache__/urls.cpython-312.pyc b/backend/users/__pycache__/urls.cpython-312.pyc deleted file mode 100644 index 90c4e8d17919c207bd298be96771af8a7957330f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmYk2zfZzI6vywbS6Y4)#Kc4wM?)8?JJH4HW{i<&SV-+1rPv?jt{q@=)4#yY-QeKl zKjA`xgLE|xZWv5Vn7kGh-th9?ect!|xMxkv0bx(?cdc~@z+001nerP<&qZ(x2q4e} z9&A7lH4p>{P)LyQh)4sWO^o0Nc_7W>lxI?|{Bw1|ZPbu@Sv~iWlJuYMb;&W+Zf~a6ynsY5-DO45Hu*$e6K*0w2){D` zZhfji&R(zHoDJ71BTauSzTmwvR$tZfSS<}#wnysDt5*3^u$-C5N(o)%SwS@T0W5rn Ad;kCd diff --git a/backend/users/__pycache__/views.cpython-312.pyc b/backend/users/__pycache__/views.cpython-312.pyc deleted file mode 100644 index 31d12a34ff21d4172576710e30df514670e53f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmX@j%ge<81geQWX$e63F^B^LOi;#W86aaiLkdF*V-73Mzkb*yQG?l;)(`6@k3T2*kzQ VK;i>4BO~Ko2IYGU3Pl`1J^&x`M}GhS diff --git a/backend/users/migrations/__pycache__/0001_initial.cpython-312.pyc b/backend/users/migrations/__pycache__/0001_initial.cpython-312.pyc deleted file mode 100644 index 720c9013c98a1bbed5fd16968f397dcdcb493696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3631 zcmb7HO>7&-72Y3`A}LBHy zm!4T#7K;KdkVB6?H7Zavz6FJK@TpLHsgD7AS)u|cOb!julWz*_qCgHs-^`MdT+sn4 zz&rD1zIpG>_kKA3TUS?7g1|Pyt=$59tPM7b4x#i$W*@fatsWdk zM{F4#MaPhgQ!9N3wXI~^tmWFQ4INy2)?6ydsAr@1Su7O6_v3H%M+Q$$Z1nB(z5jc$ z**CBQ0(c@zt+EM74wUG)fh`50~>+RCmSatM}K(lNmW$1B-xP0Teh&#NrD z~HE6Yh33tABcM4OxY(M}Fu` zoLl15u~^l$A5?KIeYvb>YY1XnyObfz7 zHIHaTyo!mgeT03!@{We=lI_EVT%>(i&nW${L8nu0_*HS`5 zGX^XHDuEpPA+F)JI$Kev5MKvrOIY*6B!vKL;YnSacPVzT)yxvxr9K2i^NJe$vSFX+ zfN5D?)rIJ=Sa^ta0%zD*@oX2Pnh>;5$Sb6m6D2r`m55iZ(3&|1w+rXtl|(8oVaIbz zkfENg?dAuhW(oTTQWSo0U8pUb$ClF5FHAACK47^(Z&v5 zLUI#&Cx4v9jj(GOENK|##i6 zC-xHQ;At_y6&{~=Z430zH`~NQs|H!}8ZVzvLA2`I4wQ`#25O#*nd*A0?9gq~U7Pdx zH-vR^Eg*6NSkeRD!>8FFrB`4}`tDwV18BiAiQ~~Cv;(|G%)*psRm&K1x-g3?9xY5` z%E_FYzgt)`t@}VqK?JF=_t-0p!HHLwt*e+~zO!3*mT8-o|>gBLc3U(5xcpshh1q>I~`!C+|O z>9NMpM15#tbACsXekz*^3>9TkeJx2Ruc{zqrqusYz8u`3!DS!zt|&7cvY_7M!;)I$ zgRj=qfAe87@@+T>X*!gqBSM-DrP)xrA4>NlK)tV)BcO$25$?jzkhnlyA~`;5Mw9s0H- zatt@Q;qbXGfJ~`BhAkPkt?pd@W`FA)S34J0-`SBpd1BdV2U@ J5(q-ge*uK9>dOEC diff --git a/backend/users/migrations/__pycache__/0002_alter_customuser_email.cpython-312.pyc b/backend/users/migrations/__pycache__/0002_alter_customuser_email.cpython-312.pyc deleted file mode 100644 index f94bdc913a5beeee8df27d50bd9ce375052ce2b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 805 zcmY*X&ubGw6n?Y2*=CnSY7qQc5mSV{bgOujLP0Hv7LoRngTp5Cnr^y3(wVFnPYOMF z?5#I%qGHeDpCEV&2n}=f)LS4Gp$Bnhnh>4Co9}z`-kbNnneWxA4{Ck+@NVlp0r;uO zbd@GxyrRGXFkmEslr%_cH7o)atO2w3fZ0eo?lft(f40wX!|ppl=~$D%l71SudDM&Z zOh`A)8787N%K`8vWXu#e0E7l%(6AV3lZI^pIvvySzbT;FVEWAMocrIe8FN^PxrcMp zb`Hx^q$-yCUf@gb$+RccV5tzug{&+uFW;td7Wd*Pk$$TXy*$-NvV>_AC&zzO?TuGe zLvBQjaTFr3)qK%Qnqb!MZA-Vv;@tvea@MU?1R%@}quW0wKG#3P7!Aa#GJ7y`!Mi!Ktqbn!$0HxS>u>#|^1`6JFuYhFp1(A# z)%R~5)#`&<{iFDL_gns>_WWed@%)kP*4#Ib_?2nR^}vxH>qJ>QUt&!og&F_s*2_A~ u#9meCw0!SO&lSF)sQT?7t|>FJ2_e5-Ai;@SA@06^G`~2QU;G7%nC!n0^whTi diff --git a/backend/users/migrations/__pycache__/0003_alter_customuser_options.cpython-312.pyc b/backend/users/migrations/__pycache__/0003_alter_customuser_options.cpython-312.pyc deleted file mode 100644 index 8ee4c782eee8fc668856ab9215c80e0d6f76257e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 699 zcmZWnF>ljA6nN}n9j@{0J^0#M99ZNYQ zi9)Jdy_!FcfK#yl>uT(Gcl?rv)H zt$pKv?NcG$axBb0sEn(D+|=d(CNB7E6WeOJAD&MF@b7&JPQCVt*FIamb9UqI*Y5G^ z+Hq_B!m<5eVmmAD$7kaDtj|uzRz4d_I|p@<2{`wUX^D^x$UIJKx)KRK}| zC%-r?wWuhyvM5pCB|o_|H#M)MSU)JWAir4OJ+-(bGe0jRG(bNoF*!RmFGar;tS>h+ yy(keRRjeN$pP83g5+AQuQ2C3)CO1E&G$+-rh!toHBM=vZ7$2D#85xV1fh+(