From c8b4e67567bd3150c93cd5bccd66fa617bea9218 Mon Sep 17 00:00:00 2001 From: Ali Asadi Date: Mon, 15 Jun 2026 15:22:17 +0330 Subject: [PATCH] debug --- .gitignore | 4 ++- .../chat/__pycache__/__init__.cpython-313.pyc | Bin 154 -> 0 bytes apps/chat/__pycache__/admin.cpython-313.pyc | Bin 198 -> 0 bytes apps/chat/__pycache__/apps.cpython-313.pyc | Bin 519 -> 0 bytes apps/chat/__pycache__/urls.cpython-313.pyc | Bin 307 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 161 -> 0 bytes .../events/__pycache__/event.cpython-313.pyc | Bin 664 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 172 -> 0 bytes .../__pycache__/longpoll.cpython-313.pyc | Bin 1461 -> 0 bytes .../__pycache__/push.cpython-313.pyc | Bin 644 -> 0 bytes .../__pycache__/websocket.cpython-313.pyc | Bin 1228 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 167 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 178 -> 0 bytes .../__pycache__/client.cpython-313.pyc | Bin 8951 -> 0 bytes .../__pycache__/exceptions.cpython-313.pyc | Bin 487 -> 0 bytes apps/chat/integrations/mattermost/client.py | 23 +++++++++++++++--- .../__pycache__/__init__.cpython-313.pyc | Bin 165 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 533 -> 0 bytes .../__pycache__/conversation.cpython-313.pyc | Bin 1901 -> 0 bytes .../__pycache__/mapping.cpython-313.pyc | Bin 1456 -> 0 bytes .../__pycache__/participant.cpython-313.pyc | Bin 1770 -> 0 bytes .../__pycache__/read_state.cpython-313.pyc | Bin 1897 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 166 -> 0 bytes .../__pycache__/conversations.cpython-313.pyc | Bin 2721 -> 0 bytes .../__pycache__/messages.cpython-313.pyc | Bin 1523 -> 0 bytes .../__pycache__/read_state.cpython-313.pyc | Bin 1062 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 163 -> 0 bytes .../__pycache__/account.cpython-313.pyc | Bin 630 -> 0 bytes .../__pycache__/conversation.cpython-313.pyc | Bin 3513 -> 0 bytes .../__pycache__/message.cpython-313.pyc | Bin 5439 -> 0 bytes .../__pycache__/read_state.cpython-313.pyc | Bin 2426 -> 0 bytes .../__pycache__/storage.cpython-313.pyc | Bin 2290 -> 0 bytes apps/chat/services/message.py | 8 +++++- .../core/__pycache__/__init__.cpython-313.pyc | Bin 154 -> 0 bytes apps/core/__pycache__/admin.cpython-313.pyc | Bin 696 -> 0 bytes apps/core/__pycache__/apps.cpython-313.pyc | Bin 519 -> 0 bytes apps/core/__pycache__/models.cpython-313.pyc | Bin 5062 -> 0 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 1713 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 165 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 163 -> 0 bytes .../__pycache__/admin.cpython-313.pyc | Bin 425 -> 0 bytes .../__pycache__/apps.cpython-313.pyc | Bin 544 -> 0 bytes .../__pycache__/models.cpython-313.pyc | Bin 3096 -> 0 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 5915 -> 0 bytes .../__pycache__/0002_initial.cpython-313.pyc | Bin 4655 -> 0 bytes ...n_authorization_grant_type.cpython-313.pyc | Bin 1121 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 174 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 155 -> 0 bytes apps/users/__pycache__/admin.cpython-313.pyc | Bin 330 -> 0 bytes apps/users/__pycache__/apps.cpython-313.pyc | Bin 522 -> 0 bytes apps/users/__pycache__/models.cpython-313.pyc | Bin 3994 -> 0 bytes .../__pycache__/0001_initial.cpython-313.pyc | Bin 3753 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 166 -> 0 bytes main/__pycache__/__init__.cpython-313.pyc | Bin 149 -> 0 bytes main/__pycache__/settings.cpython-313.pyc | Bin 7477 -> 0 bytes main/__pycache__/urls.cpython-313.pyc | Bin 2090 -> 0 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 164 -> 0 bytes .../__pycache__/logging.cpython-313.pyc | Bin 2149 -> 0 bytes utils/__pycache__/exceptions.cpython-313.pyc | Bin 3903 -> 0 bytes 59 files changed, 30 insertions(+), 5 deletions(-) delete mode 100644 apps/chat/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/__pycache__/admin.cpython-313.pyc delete mode 100644 apps/chat/__pycache__/apps.cpython-313.pyc delete mode 100644 apps/chat/__pycache__/urls.cpython-313.pyc delete mode 100644 apps/chat/events/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/events/__pycache__/event.cpython-313.pyc delete mode 100644 apps/chat/events/publishers/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/events/publishers/__pycache__/longpoll.cpython-313.pyc delete mode 100644 apps/chat/events/publishers/__pycache__/push.cpython-313.pyc delete mode 100644 apps/chat/events/publishers/__pycache__/websocket.cpython-313.pyc delete mode 100644 apps/chat/integrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/integrations/mattermost/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/integrations/mattermost/__pycache__/client.cpython-313.pyc delete mode 100644 apps/chat/integrations/mattermost/__pycache__/exceptions.cpython-313.pyc delete mode 100644 apps/chat/migrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/models/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/models/__pycache__/conversation.cpython-313.pyc delete mode 100644 apps/chat/models/__pycache__/mapping.cpython-313.pyc delete mode 100644 apps/chat/models/__pycache__/participant.cpython-313.pyc delete mode 100644 apps/chat/models/__pycache__/read_state.cpython-313.pyc delete mode 100644 apps/chat/serializers/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/serializers/__pycache__/conversations.cpython-313.pyc delete mode 100644 apps/chat/serializers/__pycache__/messages.cpython-313.pyc delete mode 100644 apps/chat/serializers/__pycache__/read_state.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/account.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/conversation.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/message.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/read_state.cpython-313.pyc delete mode 100644 apps/chat/services/__pycache__/storage.cpython-313.pyc delete mode 100644 apps/core/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/core/__pycache__/admin.cpython-313.pyc delete mode 100644 apps/core/__pycache__/apps.cpython-313.pyc delete mode 100644 apps/core/__pycache__/models.cpython-313.pyc delete mode 100644 apps/core/migrations/__pycache__/0001_initial.cpython-313.pyc delete mode 100644 apps/core/migrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/__pycache__/admin.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/__pycache__/apps.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/__pycache__/models.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/migrations/__pycache__/0001_initial.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/migrations/__pycache__/0002_initial.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/migrations/__pycache__/0003_alter_application_authorization_grant_type.cpython-313.pyc delete mode 100644 apps/gooyal_oauth2/migrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/users/__pycache__/__init__.cpython-313.pyc delete mode 100644 apps/users/__pycache__/admin.cpython-313.pyc delete mode 100644 apps/users/__pycache__/apps.cpython-313.pyc delete mode 100644 apps/users/__pycache__/models.cpython-313.pyc delete mode 100644 apps/users/migrations/__pycache__/0001_initial.cpython-313.pyc delete mode 100644 apps/users/migrations/__pycache__/__init__.cpython-313.pyc delete mode 100644 main/__pycache__/__init__.cpython-313.pyc delete mode 100644 main/__pycache__/settings.cpython-313.pyc delete mode 100644 main/__pycache__/urls.cpython-313.pyc delete mode 100644 main/other_settings/__pycache__/__init__.cpython-313.pyc delete mode 100644 main/other_settings/__pycache__/logging.cpython-313.pyc delete mode 100644 utils/__pycache__/exceptions.cpython-313.pyc diff --git a/.gitignore b/.gitignore index 3c2dd46..ebd5341 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,7 @@ media /delme.py /log/accounts.log /log/errors.log -__pycache__ +**/__pycache__ +**/*.pyc +**/*.pyo .claude \ No newline at end of file diff --git a/apps/chat/__pycache__/__init__.cpython-313.pyc b/apps/chat/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 9c11b9024ddf8ea2abe5e8893d5578a6afde19c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iQerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgcTp3nU`4-AFo$Xd5gm)H$SB` ZC)KWq6=)L3reYA|BQql-V-Yiu1pqaNB#SA6lGRRIHzoSe%iPn4=$1 zl%JKFTvDtbo|#vipRb>skyxUiSWr+5Wr57pE2zB1VUwGmQks)$SHuA{h7pL1L5vT~ OjEs!;7!-=wfE)m2Ju!p; diff --git a/apps/chat/__pycache__/apps.cpython-313.pyc b/apps/chat/__pycache__/apps.cpython-313.pyc deleted file mode 100644 index f270aaf6023ac3e51b179b5e9994c578440544e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519 zcmYLFJxjzu5Zz63AD$kHsHiBYg_0(z4irT20}F*iSj0wH)=MszBbUV4O`(;QwHE#e ze~*nUSXpT$oc7LMPTXSV&AvCoycsr|4T7)!xz&Hf{BDZBR~duhCW0rz2&1RugaTb7 zi)4c^Ynd?nlD6zp2Ug^`l@C+6R8Q>Z`C*oJVSwHM3>0iXD%rf6B?i&mL$jfiQ zoOu+CN7=-1PhKY%?v7rUwqKkDnEvD2uB|7>zRegghcDaB5~Xkkk*@EScK2WwOLKEM XhvCbnl)jPm@2W+29+rLxrcu`~#b}2P diff --git a/apps/chat/__pycache__/urls.cpython-313.pyc b/apps/chat/__pycache__/urls.cpython-313.pyc deleted file mode 100644 index dee0d90f72713f365e38964e3572a8c6826b9f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmey&%ge<81Z}~ZSy@2(F^B^LY*5B$6Ch(MLoh=yqc?*WV-celQxTH_Lky!5Loibe z6Od#!WrV0TWrEQ9j77}pESjt@L0nCyTPy{MB^kHaGxL&jN>fs+SP}~|^{a#u3kr($ zk~0!Z^niT5(xRMVKTVcf+$mX!dFlCJei1WJe-R6ixWx^W2bxlnT9jA3lHoJR;9I8p zp~b01#rheE#ThAyIr;%b`B|ySCB^#TnR&(e`T8KU^+C2kSRfnp3My}L*yQG?l;)(` z6@feta(b~MkodsN$jEq~LG>dW11o2T*hKLQlDd}#^)9pMe_&?fXKLgw;sB}w0Q;~_ Ao&W#< diff --git a/apps/chat/events/__pycache__/__init__.cpython-313.pyc b/apps/chat/events/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index fb5fe1e52d6df90a593614451dd6be21590a59a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmey&%ge<81S{+`vq1D?5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~h@erR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgq2#Bng^7OkI&4@EQycTE2zB1 fVUwGmQks)$SHuc55M*I7i1Cq`k&&^88OQ_hktzJ-^eVL|Y;w~-vYTAgIKp{u^Hs=n&3?#B1G2rlt4IRA(n~2rF}$VdY3#Pk$p%a=h*5r$GucKGdJ+A3=60prCjkO=Kx5Y>GaLZ zq_1n8-IL}uf(sH8Nh2byh)VkriJjPutjCy%Jw$ekOw757xh)!C%rht&$l+`ljP%|_ z0PvZJM4?`NMRR2)(}QHr70XgRs7h$T2t<(zX<|EzPQ%o)5?H~PdCAisKfccKM$uMB!qJg^OWb|ds&`~L_zo=E1)bxGfv2>3OXdrq!705 zNwt(7_Gpb69`2#}PJa9QtI68mTfJTH-dep|AB=xF*9wMc<;USuhO)0%3_b>P{wB#AY&>+I)f&o-%5reCLr%KNa~iierR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgq2#Bng^6DC{4=AEY1LFjE~RE o%PfhH*DI*J#bJ}1pHiBWYFESxG#g}hF^KVznURsPh#ANN0C&eL>Hq)$ diff --git a/apps/chat/events/publishers/__pycache__/longpoll.cpython-313.pyc b/apps/chat/events/publishers/__pycache__/longpoll.cpython-313.pyc deleted file mode 100644 index 7c86df23edcaf9138fc33d4e6c83a6569a665433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1461 zcmZWp&2Jk;6rcU_+VKY_CZT+UF2zMSYHivkl%N)g4@;Ie)@0oX()GNl@#LdrGij7()iV5O#2$|Z; z$V|+_X@Y2?EtT}A0xpy!{z97sn39&waMN>L(hO|Rh5dY;FlM!hN!*}%6_|ZQLZ~U+ zBKkL-H(_TJT|`te5tU7eDyDoKJfA_`AX67;CM&>W>Z43+|}z&H2?a@a)6z(X>n*%5YSQ*KC0|MeQ#^l zWjU2a>UClES>KgC|dW8=S*ltxB@OHsn=R=jFYs%07+{fX@0uvid>s4;Qy57?S-dC0mdn z#T$4nP)y+gJOb&Rfb^exJqx{Mkc8J2 zdQzY-z4Ji&GI$oq@B~%?hBCs4q(?4Zw5C|J7gcErjn^#VLe1hXLTy{D=lRe~XCnxG zdiKoR!jk%$e}lwxfzj0!j_B4fe>!!q(sxFqNsG)BmsyoAuvzKcn)H2Ho2E(gBC~0> z*_b}-OijAE?S)fQ%r>9hXt;Ancbc6I*AaV$1Yh9Sc(SJikoQm1jg_jiwN}av!dc&drgxT}NcgH;WjCU~WC+|b=-bvoIapSXofEUOX{2$DH Uf}Jmf_zh2QB45ORfuQsG2RAyL^#A|> diff --git a/apps/chat/events/publishers/__pycache__/websocket.cpython-313.pyc b/apps/chat/events/publishers/__pycache__/websocket.cpython-313.pyc deleted file mode 100644 index 89ddeee6bdf54583588d2fb00a749e3f697d9ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1228 zcmZWo%}*0S6rb(x_KOx!L#=#-4N;Ot*^MAK@Wurcjhlu8lF7Cm%HpzHXSSMp(u?6J z2O^x%lkw)Cg3$!B0b^o3c&ifQ)%W&8L?`Kczj<%wz2Elt=A>B66IffzmGx&SLcZW8 zSxO8}W&msxlbF&1nU}bvAxG?kHFONdb0k|8i&X>xlg!c z5}q<8E}NEjf57~^?V4kYHO9YXpg^E9>=2|m z^V{5AtjD~=ZdtH0{7ycB*(S?U7zHyO0~gv>rF(zhi8H-qD&@+{YI38Rx|dGysh^H3 zj*%*mhf3J-pS9eR1R!5X@TpH~K(_ZZnjllw70C1_`%^zBB^qg@Nh-=>pn?!SeNsTD zZ$uhYltA%2Ef!>2p75#N2y%kC4aN}`;zJZqRB{}p2{K_7yTS3F3-V3wwObVLaHJQ= z!somX5Jyf>*6KK()xbW2IjcN}(c+nrNQ$@?^urz+tl*YW6^sjG%@S)3%Q5b9Z=KbB zVJz9M@H_))7*?w#A{5Fjj8>w)Fdnm-2q!{sb$~~d2nPQj6g|$NIHCsTDLE=vK9sL+ z77s5D?^O3zc2{=p>6nZklZmfn>Q}lb<$n+`A+6t6N+vV_ diff --git a/apps/chat/integrations/__pycache__/__init__.cpython-313.pyc b/apps/chat/integrations/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 067b0fd5281282c7ff9365e6f7bb7878933eb589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmey&%ge<81S{+`vq1D?5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iGerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgq4|BlA2zWSdy8aSF9f&pP83g m5+AQuP>P{wB#AY&>+I)f&o-%5reCLr%KNa|LgerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgq4|BlA2zWSdy8aSFE3#SW=Q& xl$&2%q8}fhnU`4-AFo$Xd5gm)H$SB`C)KWq6=(y<1;rr7M`lJw#v*1Q3jo1fE`b05 diff --git a/apps/chat/integrations/mattermost/__pycache__/client.cpython-313.pyc b/apps/chat/integrations/mattermost/__pycache__/client.cpython-313.pyc deleted file mode 100644 index 7b0176a121276e9ed3e82a5ab439e04fa03c8db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8951 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 diff --git a/apps/chat/integrations/mattermost/__pycache__/exceptions.cpython-313.pyc b/apps/chat/integrations/mattermost/__pycache__/exceptions.cpython-313.pyc deleted file mode 100644 index efcff159104ca7f4ef3fdb483bf62cd912f7782a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 487 zcmYLFu};G<5VeyQO4X`jK&m=LY++~?x*;S61_r8%2vtIrP9}95S4kYsuAqDXGfO{$ zUy9h6*pLD{cGJQQzIS);o&8+4+f8EPZtO3{CV$vs7xgVDdj_mYmmHIj^hii2WZ+ga zq;to2qn*NLx-H7C0c$cLNJD~7NYM=)tc5Pt=QY1xbgr4!98;Q0zm7$v_6V3xK$ig5Hl4|SrUv;E_kF>Fcz7T zGKgZP1D5BiLL$?Aj%K0ERFM7|4ER&T^G&y(uh4$p=CGEPz3hd&*G{pu>koaWIJn$t mD!!#vjJ82V None: + if not self._team_id: + return + try: + self._driver.teams.add_user_to_team( + self._team_id, options={"team_id": self._team_id, "user_id": mm_user_id} + ) + except Exception: + pass # already a member or team not configured — not fatal + def get_or_create_user(self, user_id: UUID) -> str: """ Ensure a Mattermost account exists for the given external UUID. @@ -77,7 +88,9 @@ class MattermostClient: try: user = self._driver.users.get_user_by_username(username) - return user["id"] + mm_user_id = user["id"] + self._ensure_team_member(mm_user_id) + return mm_user_id except ResourceNotFound: pass except Exception as exc: @@ -91,13 +104,17 @@ class MattermostClient: "password": self._random_password(), } ) - return user["id"] + mm_user_id = user["id"] + self._ensure_team_member(mm_user_id) + return mm_user_id except Exception as exc: # Guard against a concurrent request having created the account # between our lookup and our create attempt. try: user = self._driver.users.get_user_by_username(username) - return user["id"] + mm_user_id = user["id"] + self._ensure_team_member(mm_user_id) + return mm_user_id except Exception: pass raise MattermostError(f"User creation failed: {exc}") from exc diff --git a/apps/chat/migrations/__pycache__/__init__.cpython-313.pyc b/apps/chat/migrations/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 3d079a82c4a8f073ca3617d589c72295cdeb4c4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~i0erR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgq53_UX)mpnV(mzA0MBYmst`Y kuUAlci^C>2KczG$)vkyYXeh|iVi4maGb1Bo5i^hl06xPhUH||9 diff --git a/apps/chat/models/__pycache__/__init__.cpython-313.pyc b/apps/chat/models/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 6c62aefcc917780bd4ca2549f3b4f6c70b96e8de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 zcmZWm%Sr<=6iwz?tCeoVf(qTvruhMt5jQeJr8D0JyZxby@3Bm>2T zD|cdlz?-Skfo5?yH|OTulVsKDv=OZLFqpk!gg#C2zpOv93W2OsA1`Ef4XTUY! z16&7feFDyMkWQHz%=tJgfH&f8j_Tf4<9r>e_S45(a~7>;Zh+7~>CgwM1u26axM@-mdlRi+vD(0c&)d{r~^~ diff --git a/apps/chat/models/__pycache__/conversation.cpython-313.pyc b/apps/chat/models/__pycache__/conversation.cpython-313.pyc deleted file mode 100644 index 09d1e62ad403aae7d565efc7d5c1cd1b91f62d9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1901 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 diff --git a/apps/chat/serializers/__pycache__/messages.cpython-313.pyc b/apps/chat/serializers/__pycache__/messages.cpython-313.pyc deleted file mode 100644 index 5a92a570d2e1fd1280d27b39ddc2ab3756359f89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1523 zcmb`H&2Jk;6u@V^>#yB-W7kaxZPZ4oT)L5nQ6Y#(2mvucO+o~n1TI0Vt#=%6yY{+o z)+*&>sS^J|rJgyJ6FKI{kt6FK9F5?_skcfAci!yUX#=UaFt*>mdGF1e_jZ2c<5I~W zIDTGw`|bsekU!OAGO}ak*hA$pVT935vO$3^kU6qQSmqL8+8({FPZqpGyB?@0%n4h=PP=-pUYe~*J>uU*GV6EHEA^HiaL6l9M&_IC&~I`f^B!-x{UBQ3!T193 z`+Xm{Ck;0U!Us;b9|Y1&^*e#vy=UX*m;p*Cej?kpB@2$zbvxW~q~SQ7(CY_EpK_f0 zeK#0;rX8o{gNOpZ%e$fDfI2`~+}*v^SoeA0$)dnEI5@s1&9$Vm)IQZoTXUj^JuZuD zZ5I+p(uORqV@K({s1nXNj)>gIZ#r%ifq$nTaebHZfBXf3SE)30ur?tbzuU>4jLF0@qHa~gPfXkEQXUIIg zEx)7t|00uRn6^q2CeLM?=`4%>;_KMQ^@`X`LhSh&CJ`p)n8VWlG1NUD=P0oPSo=lW zkd=S)Y~s2dnvZ@m_n%zdfT3cva(c^P*)AAN+{w$RUq@dP((-?TvVnR zCEid%-3+PqA&{kp8}S{#ld>g^CU7)(NEKXCk!qjxoaU8wWg=8XqJ;u+u-+V5*M`=$ zXI5?S`6(O+7vu8#V?1sQt2Yj2mqR}{9K@1QKV`gMr9U51kzIRxQjgJRwN0s?e zWocMhI`DqkjVqgvHqsK*?%Q@&TEMZb7T{fc5W>CmiWx8e6H;oETF=%m3m>M}_9M8C zxu|O59TYD#O6ecu`bkcwpVB9rqxqZh{LK@hW+zsTZqX;^Xl^;4TmFlvSyIm5C$mk; diff --git a/apps/chat/serializers/__pycache__/read_state.cpython-313.pyc b/apps/chat/serializers/__pycache__/read_state.cpython-313.pyc deleted file mode 100644 index 411c7f168a6b2080c6e28e9514b182e6e50fe5ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1062 zcmbVLPiqrV5PvV5znf%hss@vaXp4n4t=mg);z7k=#VA>V9s-YNvTe5A?#6i=#hwZU zzd@m2!JA*D$sw}f$y0Aa;@x?>iCIMye2~e^yqS43zu)YnSX2p~Pj@!=+mw*6(wLvr zOqq01IVC1B=~J>pf!-w7$SN@tRbnb_+Dy(97XRByq=OPhCNVPgkI3X+TF+d_G@S-{ zVS&vZ`^W;(S(GItF*7EwP&p-S0@NgsFexbQWHX#49!{{&?U@787@_@oE3H^W)=WTd zPtlXX@-q$xO^bKUpN(9|IX{wyt_E4gTz+UV7O0FJdfkB|^#WsW2Hct5EHSoggYX^O zwOo%ekdOqqR_n>5$F}8kgUkSjWOg^mJ?wFq`TCylrSB?Z!sou-Vchq@em(Flfi*H% zV}d^t)QuLV3!}$Huge|d1$g^b#}~#++ZCQ?bb8!3c)u?qErzE7I96EQy4!yblI2jy z@x%=jAIN8|GS=3H+S*9FeO!-QCv_;z6aGxh5nlfXF@L8ngVbHZ!oQsubvdL?4XL{v z(uUw!G467h8KT$F^N^KB=#j5NUJA($6i@_99nXD>&?5Sti(EiadJ7Lc&#|~0@uVW` zY~V^HLG~4vj*wZF=9RgSuZRs42x|G(xLg~SYoqe!@$)#S2yyB9xTFtD`lwVp*@+6t z8Vx-aXkg(^>;f*_I}Z+`JyI95MGS^7%Jo=u5oGU0yLlg0@B%;YsFiODrSuC~pQaOZ f{cL4iG0rQ-l%O$H6}oX&8&|i^t6Sd*8ez2`!8zc? diff --git a/apps/chat/services/__pycache__/__init__.cpython-313.pyc b/apps/chat/services/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index d2d6c02f5d370698dd3aa87de5e8e63dc3fa3177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmey&%ge<81S{+`vq1D?5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~i8erR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIPMgauSvmYJMdtREkrnU`4-AFo$X hd5gm)H$SB`C)KWq6=)>L%3=`XBQql-V-Yiu1pu-qC_n%J diff --git a/apps/chat/services/__pycache__/account.cpython-313.pyc b/apps/chat/services/__pycache__/account.cpython-313.pyc deleted file mode 100644 index d1830d01be743e0a35cab77bc8fdc3bf64c96643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 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 diff --git a/apps/chat/services/__pycache__/storage.cpython-313.pyc b/apps/chat/services/__pycache__/storage.cpython-313.pyc deleted file mode 100644 index 1cde293b6f118e28bbe043514809767ad62b0776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2290 zcmZuy&2JM&6rc6(`YRjfi{iuy!33ykwb-IbB%l!lQlsXBgnF}7m62AP^~BlW?7Fk- zDoHOrRF%_G1rDgKidy&7aLbWD!!!r1A#f=@a0{do*S^`!+JG|B&b)cw`{w;-_S@T| z2*&UE)ba%pp?}!MAHo5#KLf-)BqN!dM#Nh=!ofZ;9hl+?pJY6KT9^`v=+eS;a4JMX zNz{vmkSr#U92^aJ-blE}r9v;*W;Vr9u~IP#BS3_0>^O#5v>Ef7VH%e18F+Iumyck7 z58Xs8J_*Pi;pIRA5kcl}in4H191&Q&Wq}0cAPE&isW6SnjzzR0mNEI-(D921xX`&b zyfX$5-~K7!-b4AOEPs$Rf?t=>DAR#qatil>N1{R-LU|~hH{`(Rfi30^^}@?S(@P*9 z^6iwvwZ&G&dtGNyAQ>mXp*ibI~YP2rf{`(~z?h zN-leqc6!^(6BAikR;ROH`W#TmW#<_u#nY&!>)5u{TX>B|ZLAaQxO5O`@JhQpFISX_ zX|S32?D9Mn^d-%q;*#T(Z7Q&3oxhODq(U@Q#E#}Tgs>{n=nbt@!C68qLRcwiNYzUQ zHXR@qD*7$#(1^OA*;uWRQc9qLjZ2F(jLkyXGE9ebGMk{SFX0tzGml9a^m0bAF|jjC zn!QxeN}21#TE@C#XTC5@+p;n&xr|mW+a3kFtSRk`?KNq-yhg*S3IK3amB!z0-Lx-Y zptY+oeT#N`68F#5PmgXpJ3V97@UxEiZuda_*rlEB@wznrysP(qZ|&mt=uX%9YH&9` z(2$Po#s}}O)>EH6oZpFGd27??>3bOwd!tq1w)CHbdXF=`v4@L0@hoFK8yLD9-wIZP zje((G&eeu%tF`5N-`T40Q*0k{K{UK*l(4C-U>byTst{8@fDDtOFnlh|zIz8|3MX^^ z{m^VgsIJ20-n4g}AT)Zg&H)Tfz6Cyo_rYfh`DU}`Sk!mM5K@{ztw6(%GvBB}3O7!!k3L?qKJP?SN#3 zav8XgB|xzQz)+pFGETMA5Hz=oqf-!&@^I!fvSO@YCbns`SYe1|8^X?y@=JJ?#2FPW zR~*$^V1OVjZ5l8v8oILPV0&_o^Z_RoCJ81GSSyheE?LkV4bW$-WAZ*@a4K!{oT#kX zY<9#9du)(nOrxz*E?HVZWlm_~9T2@CW1;K^FaeGRPuB`tS04`!KN=jaI-6@7Yq!67 zc%&-qc68qv`Eji(JWrf_oJjwjNN=s~B+hMgRHbJf{f++7>df=L!QbM4^#9ubOMC5e z7Zpd(R@)k3X;a#e9*2)V3LkGsotrZoGYu)eE5$aaewe!B>_~vd&PLzqy*3m{zC^)D zbT5W_;yI39PbxTXwqvcNQ)wEf)zeleEG4bQQWT!aJZJpdhY~4Qj+Fd StorageService: + if self._storage_override is None: + self._storage_override = StorageService() + return self._storage_override + def send( self, conversation_id, diff --git a/apps/core/__pycache__/__init__.cpython-313.pyc b/apps/core/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 461e6fe948f9f694112658e22a255effe501c69f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iQerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIQ%esX?Ms(yTYW?p7Ve7s&kMLI^14(mlnK2qJiBv}hMmAux=))6K-q&iZB|$sG`;*RAfFajhoU?V2zMfTyZ2sUF6 z{jAyd%|@+%QuTCx`+@O3@VW6nv3$l&SS70GB{$bHu4%o!k#d!wD7BDDxHgh7t)n;p)^f}DswhBHz-w_X^~K- zHH!B$%@w8S#vO!hsvPv&=6X6|MJD$WS-9)b{htY}7oID0QWL&#q?%gQ&oq_L z+_aHr)(FSyt##8|?tJ@EJ&DJ7*HZU)YGA{qM+iBG?m6sU1%$jK$M?>5dZ#sk3~H_?%?hMVUn3>;etc(g9}a&p^-}#ns%mlc9wB^tnLZU zR4^0`OwIi_hSFekk(scXTfMVZ@ajEYRZ&&bUavziE^jv{*O>o1@gA)?nQkJvA&fA( zPySG#-^e=oL74ZMFn>q~ep3ft7KE)QCqinMwySDam7_dM8oNO{7t=3DZpe@TWduA% z!Dk)>%!d{Wpq;hCw(aaHkj;#z0L#z5rV~+SDoT%|6P3zBM>~18T^sc~mqmKEB&teB z2{zr4gK)tva$brP$+_)tjtzC;_y^8UYf;RdWzI)AXj9~+EEU@QRE|Vl7%p%wdN|ky zuGp?}u8lBx!i6!AAJ;}|&S3#Jo4Tv)AU@I(bUYS%oQfho1T~R~(edBB)Jnz4SeV%D z7`q*3EUNy2d-Dw3jk;QSbp~pLf>}hFK}bPJ-%soOEiTak=eyx g&AD69N9lg9R}h|kO6eo{{?hj7r>l)uf@#+E22zEG9smFU diff --git a/apps/core/__pycache__/models.cpython-313.pyc b/apps/core/__pycache__/models.cpython-313.pyc deleted file mode 100644 index b367e7a9934ceb7101ed63ce873b32eff4d6d542..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5062 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 diff --git a/apps/gooyal_oauth2/__pycache__/__init__.cpython-313.pyc b/apps/gooyal_oauth2/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 09157ec7115e103a983584655eeacc4e611cc1ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~i8erR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIQ%etLd>WnxZzeqw1!hLL`Jd}dx| mNqoFsLFFwDo80`A(wtPgB37W0AS;VOjE~HWjEqIhKo$Vriztl% diff --git a/apps/gooyal_oauth2/__pycache__/admin.cpython-313.pyc b/apps/gooyal_oauth2/__pycache__/admin.cpython-313.pyc deleted file mode 100644 index be781c94da33110dd6c4758d8b0a7ac043494a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmY+Aze@u#6vvah>kld?E-p@S5eoJK#Zi<(rxuD>q~j5D>0Rpe5?)fF{t<4j?*2;$ zPJ-a36nArXI{1di_x<4WeaS8id&tG(^T}#~5qhhNzwmy=?$n7VG)I8uc61 z+MoK90D@Wv)7GR7ZGzHPzx^=ojaRHl6=BI*7KE!}Dbo!wD^)?33W&`FNtN2Nd;r2& zklYRoS6UdN8NXwxhvzgd94Cs$ zak-z=H$=|e8Qg;JaOKheW>m8yBdstHR11fSZEQA-HK==;2xvB-5UO! zXvR#Iu$*3jS_y6qUC6>HMR~?7Wm+5BJTY#NwDHp0vU|Q($tD*U5IUawcw`P;`t&iz VU!I49?=Hf}ujuR@4PnnsegLcUeXjrj diff --git a/apps/gooyal_oauth2/__pycache__/apps.cpython-313.pyc b/apps/gooyal_oauth2/__pycache__/apps.cpython-313.pyc deleted file mode 100644 index 12ea8e5d7ce176e4eee3fe76a391770509779c32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmY*WK}#D!6rS1LM2!v6prtLAracII*#$xHAc1JHP$4Z0(o5hm$!<0q)}8gu>_M-B zM{j~Bp~wCkk22t?CvSz+duOuo&^f&Kz4_kv=DjzwX0t)exxU+;{xtr#4PH)d0cP6< z+z>_>Jtki%(hhk;J`v`;Bg`GpUAM|ZC-MB+lMQ^TS9(QpDDrWdj4HaabP>$947ec! zf|L<-7)6&k=rI>-%)@$8^Xq#3ixB5L`^HN(sY*S0Ms@K%n({mmK{O0bMHFW;I7pLT zsl-tlXVFEQ7ljOxxfX;K@BAWte@QO`JNEE~WI5eEeH?Xy>il!u~RS8QGQH4}RNuiEn8WOQ2RVA0z+B>lqmR<99 z-G-bvRgo(7P$}0c>IrT+wx_12UV#f}q@HrAZeKsjr4cSCFw$G*nn?yEMj_gWHXUV^__<_S{2cwaR>d)>~jM z&+JLw0n-img}v?!dkoC4heEx3?A=L0RKsnBsI@yge_`XfRF**2C5Y%UMD++LWpyTf zSUhZ_kD|I#j?ZMf$8aR7tK%xfQTKfJxX_L2vGE8bQKIiyiMX($jYlDkG8d1PN#Mw( z?h&Dx99N)M_&kL^Pv3}ya*)+CaIO}~_wdy112?wF3DdL1HI=6tU@w}mY%H*4t})9F z%!2HXVnn6~}ZJTK}M_e3T~_%_oM#+*(iv zasuQKo+g_<1Ap`(BFZE@*T9IgfE|c*#70IPdUpB|x?`h9L9Hoy^=bCdUPkY+z-;xR zLUB!+UW;+fFkEwy83s=p2Buikp?2CZmYSy19_clV$2RzZW4p}ta9A_j8OYx=3_rjO ztQuwzfL&<@%r^`epk?7J@mmGjj$f#oe%&&i!UOQ;SvBwrU)rwkd4+1-3<_qW;TLM2 zw`@9wXEuZS^+K5Kqm5;*(2{xACTI^kafI)r?Ogx&8hn6l_>h2R&!2}uYEufp5W)Kh zJYriwb;}bEAKslT+RU-I(rnrmR|&^>qNLxS4*8gc6Wb0?Ow>&XsYKPWnHv}=pDcR7 z?3z1;nGk<4bAR^piCLa*k9*&`48p|>)7-S8aDkVpMdy-D;`ky>1t+|J~-GDDl0p%-JT!A53mrMR8#+sY1aW`|cN zURtk4HnMkC?r!G>wsIqzxsey;UmpE7_v_sH%%ko@f#E zPPjSV{#R;Iji1TG>9(cNxgVps6P??kLK>&`YmtNr#L;x%SEBMg;=tkwYuL2+!{AN_*|~ P+_i(wGw%%zh*|#yhP-rr diff --git a/apps/gooyal_oauth2/migrations/__pycache__/0001_initial.cpython-313.pyc b/apps/gooyal_oauth2/migrations/__pycache__/0001_initial.cpython-313.pyc deleted file mode 100644 index 35bb56fc898b5386d1682db8a3a9c52f7feea9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5915 zcmcgwOHdoh86J%uNW46f0fWGJ5ExswK^SANVRya8VllABU=7&LE|u{}Ge~2PX0$yc zFv`nSsmd{xOR6}fIBss_6prMSJ*7t4gQ(s^T$K|yHcl$X{rLLt z|Ns6+_vlSiQ#}KJzx_l1bFqzK{y{qXf8I*t&0}c%o)H+q^%;X)^vPD9ZsdkO`~r6?DpfBBeDav_6I5Tqb`urP)iCR8Y!ab6ht#coB>4mBuxZ% zsX5Vod`93vI{5@geV{`K*7L_vz#t3%&W^HxX#q^62BsBIZG@9pKsYCGLoT6x)Lqjn z9jD0xU-TW{CDDI;ObElSoueMmtqXKJ(aV51FLYD=FPwtmg&rY7ecD^o%0A&@j1~HY zOH|tBTDTY^L?5{ha93)?R`djWfa@C8UpWDNRcIBije5cQ0np{zaRl|=AdQb$Ep36H zR$+)*biJk&PH?3B5Rp1uTN7aJ1~A79Bf?GU)mwnAiJ4EblVYH^+ zB=*NBgYQxgKCER^RXzG~YQ{%3En>k39}9PAK74Wt>aH*j8NmzpD*lR}g5@F39ElUP z7yurfiuk@BZFmQdekx3Y9w*k!Q!3_tVTwlPyLkG?@#6b(<$DLNrs*kqa_w&wW@v@^ ztQMQ#RdUWepwaY0RFGNN>BLhPc6sG|j*9GKm|sq6-z+%DjT z@l;AN%?0CyqGPW`AI`RCQT-3HKf8rKl--+R9*GURS@& zE4WU1nNyKsVy~Gpa!S;Ny-7{dU*NhFQY1@}VWd&YTZX6`tD+>!xGtZQD--_x3GB(| zRe3V%LyfR0u9KBzDX&@BugIz;B{c;%CvUEf_=-XqRA$%Gjh(Y zu373~W>J-Y8oL9hn_S!S%Qh8n0f#lQEF$SF?m<72G{tX_3*KWSXl6k_+b( zifQB#uxG653gY)C29lCVh%AI0(*_{oDh8Q_P@H<7uNnhn6NIR)$^)6TBvR!<>l}2a zCqNNh2j}t5Fm9?)Wh$`RDvV4?W(J&T=)54UD1&_5$gT0J#Y05%>N0O-RFjAQ60a+( z;9;_8FzR(2K;qen7UBhmxKIWJibpnyx*U*0^kJmpkoiK*iAT7^0ZB^(?^Y%obweCo z2Em0h4-I~9dLqu7`CQIG7BJ{d2*WpT6+#JNoL>brFHDUO4D&EXCa37+*{Rv__*=8P zlr&65q-CQq zp)5lQ%uqadl4{lHRMTZCt7>ceN>d56_|zd~1*$HTM_P>j2rrZ!*e_CnqKNB75nd?s zngZ=cQT#G5X=E$toe{-l6`7W%>WXf_K%J_qP7=!sgfnD7N`(|9udKKsPK)p?c{fEK zG7?yTQZq@)96n=^uo@O~$XJ0&fN+Q!5U$fkaZb zM{r<9n0r`3#4{3dn)PV~@>Q}7Wa3bz4es18%Q)!ds6aEuS|20w}|!f|27NYcrY7Mn-Lb4YeG_5|YB zFk%p1R!qv}%vjnm)+9}IXo(%Z+{cE7hOWaINNFC-tsx)CrC;PQHU9?r@*C!LbLiFm zJ&&u!_v*o(p9!2T`@2j2?ww%w>tOqOe>r@m6u$CJ_?pcP>;!u@J}LK(7JEm_y$_1L z5A4UE+iBHCD>k%yS8eX)PB6SaS?(Gtbq#&fHEeS?b`FJXwiLs+Z0>_9%$8j2ird^o z^-y22>l2&1yAwRO-d662mO7%FBik*14gV!CqR zPOxMBR=M+Psq^Y)-_}C0^PbJccYD^HrmNfUM)XD7(Uv+N_H#f1dbLI5rJ zjs9|ExD*-QYO$xY#fWZm#!m3sSIgzWJEg%p+Y7d^2n&<01X&mp=)wh9*uCK^^Ft+m z$R7LLUdq{{Ujpn`u5kkExkq7ffL;CSae3h5(!j_6WSIM|ryc+)p0o!*gBj8Zsve?5 ztQ@&rjNC3qW{Qy+`_ZEPOt$r3{D)x-*EEqx9<=w&={+MGXl&9A4+DN_vLiFl>NQC} zXt{TS7dKYQm&Qt$#Pi=0p8h5jJY1-yys$F}Uw-4CfTmaK1 zTvVgytVR@DV+%yh3qPYY{2XYAY)qE>MoN7nTO(hG0P)oIkRUG3QN%nTzE||@oj(Hs z5vdA@i>(k4*Qx@d{dJW{VY{W+F==!6tE}6P_X`_s<(})Mp6lQA+_1Tk_eg-Aja%j3 z8>QYGTYX=%_LI+xyj+620HRq1}As{U;PX=66`;ZE?t zyHFJJw(z9b^VH^kQf0@fCGDU%ZbB-2XmcNZU&>EbTVS8KLcU+mAad2G1wQJ>;kS;- z!NXGxk)N4y+uH!=r(oxR49L$VJ#7riNqQpFL)bY#$O+|aq!20okDLSl4pO1(f{%F# szV_TMm+Os>aYepm&VS1^{GGY{FW*mHF5mC!%UoZP>-#rDdQ{N=02`2m(f|Me diff --git a/apps/gooyal_oauth2/migrations/__pycache__/0002_initial.cpython-313.pyc b/apps/gooyal_oauth2/migrations/__pycache__/0002_initial.cpython-313.pyc deleted file mode 100644 index cedc8f414ff3564d006e0a34c5e52f3f03711b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4655 zcmdT|Pi)gx7`L5&PMXk?6k1>^rIga3DPc%xtAr3)Ynry9>0+k^sp82^UQ!p=&Yqp2 zGO;0T+Hu-t*PY?C9e3PL+fF0h!PS$dA??JisGD}(d$vXfMP3NgK^iz^&{QNabrrWJGq3K`be`Id0a6e8aTQH|L)XpulVp z1&5hIW`q&_CmAuY94H)V0zEG;`p%_#8dY z=8*~CzASsal{|!KKe(FRJl^ZA=Ii0C1@C? zeg|qeT2d9LnLxj*L6r34z=|qscd%cpt11rb8X)NvG$H0pJ?SH<7frW-Ca*&>g+2on z1*&E2uNx5E8#p&E*J?nOSD>0Sz`5~~DjP=9NCr@hFhexoLnMi0a1=pRHeuO@LNx0l zv}!d~DcOk~4v-8_Gn1S>+a6E)ocb|}VJ`?NWyc0yDFfFU$Fyb(!3u)LsxuaITkc@L zq1RCfg1x=R-6mny3iXI2p(im9Y`Os82mnNhx(Z1>3c!bTS*2=_Rxbb*1sSHQXi(Eh zN63{O`Kgip#$95jyh2u%VGU|!sFgMl&3SQerYL1WQ4|W`Mt(}j;ppxR1sa&ol*`wt z)`(`^IC5P_P^oHja03U+YqD0=F;`x}yzMWN8{^PIAukD&5)Msf#L3K*fY0RV7MB1S zSe%(6`(zdtax;?|X(m7K?itH#P}0f6-U<)BxMF4sNclOTIh_{;3CtIBIXv>>%*^DZ zAc}itpM7yoLAYKJ#O$6)5xoYR+5Is943iv)5|B+3DJyjo8UUcvM1URg&)^TzMRM+p z^r~#EmSr`)fb=z3GL7_-q8YlLF0IODnh0*B_XI@x`8S9(35`q5&`8xbP>A5#4;o9x z=frDYFi(!eA53otnec@zK5p^nH~I4qd29SyWBl50d}ce~>kmH2ZAY1K!s1VD@~5^2 zMz@Zh-ii-e@w1!pvkynVlYUtI>DG_8ETPyCik5J@A>6ivN<*kTzGM8uFe*F6J=-l3 z0{1NB4@b5mdl3f?gt*NxAF+9k6cV@05pao9DY#oC*8c>87E|Kv*D^MBl zvqj3wEfR!Xn~#R~@H&9kyIM*RTWIcs_>x{fWjkhUGd}iE`riL@@YnD!VJmyHk-ceU z414BxX7~?g{IB2~%Lc!SSbd|7zR|xK+Okpp1>Rh4 A^8f$< diff --git a/apps/gooyal_oauth2/migrations/__pycache__/0003_alter_application_authorization_grant_type.cpython-313.pyc b/apps/gooyal_oauth2/migrations/__pycache__/0003_alter_application_authorization_grant_type.cpython-313.pyc deleted file mode 100644 index ae77f9216d952418e4ecf66c86e026c22c198ce0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1121 zcmZuv&ubGw6rSBpHrZ{0HMLm8VhBZ8ZMvo6p+O3zMQN*5yNH*-Fxj0ZQ#QMCW@1ea zA_yMEORwI&`LEbZ%U(V8mKw#YZ#E50!G)cD-}|-ioA(WiMH|8M`Rm<-?>a(16&OF+ z3uCwj#u4(6r|qC^jceOF*UM-QRgkCOLY`6A_RMk7<@cd6vboXBIN37=96hnytjURF zaU>G69S1ZN{$&k9)&&?gz&Jv6#5E6b-P5??>8{2z_3U0@vS4JxD2A7*=k})m7ju!9 zeW`h-ms{1n{Hg(cEYIS0({`p3>)CjsGsOaCEH>k~M?xHvu57I&h2`bt70ecEPbnmGDkJ8spF#}GB8g?MLmku6`=u+@(zbIYRZ;l08(4W5oyyTlb+dqM#JD6+J$Z8aT>umu`!0s zZb-o{VEm>_LX{2Z8pivK3mLMAMzIP96b6CWeMSXWx=ZZ!P*VO_HRc)Rur^v`gcBQB zj5Romv5>Gm9}_7#Yjhu8N!Pa>An(_3%5l?D5D&hhjtT87b$VPWF+G$ap1|=54NPR+8yNZx^TX4DjjWlI z{QPl#{`BU;>Gk`krMZ(*<+xP&h0x;r%mAUC?6d4SLNmMB^IXQV2ZmWPKW_6os3 diff --git a/apps/gooyal_oauth2/migrations/__pycache__/__init__.cpython-313.pyc b/apps/gooyal_oauth2/migrations/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 2cf833faac6f16a17dbfb9b751fd3e602a072261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iaerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIQ%etLd>WnxZzeqw1!hLL`5W_nR# xNoIatv3`7fW?p7Ve7s&k5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iAerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIQ%ekoX8e0*kJW=VX!UP0w84x8Nk bl+v73yCPPgQ6Q^|L5z>gjEsy$%s>_ZYg8qA diff --git a/apps/users/__pycache__/admin.cpython-313.pyc b/apps/users/__pycache__/admin.cpython-313.pyc deleted file mode 100644 index ad9d3ce1e9b52458b1e5ad958ef547fabd9d2929..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmey&%ge<81by?=vciD$V-N=hn4yf%K|sb-hG2$ZMsEf$#v(=qhG3>(W^X1h<|1YV zh8V^m4wx1M9mI`b!&ouQri>7_0z*2BChJQON0aduYhp@nX5LGX9FWHnTAW(sr^$AU zFC{B6FFju`IX|zYC^M-Dx%nxnImJb+AP!4$W=ZNTj-u4`%;J*NqLmDvfuanz z%=JM=6zgXs7H6a+=I93$=j$hDB$ntW78Dfgmx9%St=B84yv1Py zG`%z@)vkyaXb#9d#qvPn12ZEd<6Q=Yy9^Q^*cceu+PNCJt}_T!~;msS~Ox|iWkc!9G&gfayFWpR|G68uL23~ox|Bxz$>L0xmh|vH5 diff --git a/apps/users/__pycache__/models.cpython-313.pyc b/apps/users/__pycache__/models.cpython-313.pyc deleted file mode 100644 index 1616f7faf69c106a348a6d2bb21d458e3d685eae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3994 zcmaJEO>h(Ebyr$RE3NFcB>xCwU?E^Cek3Ru=~MK7C{SsE_y*#QkIbQGo~y z7sdjkK@wzmU@SB$5|QD-vG8bwL>L|#lSZQ?%5ZV4Wwe#Z4Clw%NEJ(;!5sd9mF*?P(NrEZx8-7Vu@uml?xDiU3@WGs|z z12q)k0OP)^S^C2Kly@@^`f4xRX+R!uIgaouM|>(z{Hl)#s;COx+$>K5YM`4VK{W_4 zq=txC^rym9YP#rF3^YuRPt`S|Vsw%Of7^co@PNy56Y$)-z-WGz&+_N^tZ$gV#M}Ol z8#*S0z1$oaxvxgd`mLIoIWFs;fDqZc;6xTeyXmTLfLB1`IF}N}sc-H!m?%(jzysfK zsUQt78xj$OsNXK%qY_xx&}Pe~Z4{{B=ywh3*9!TR0566$O<+=iU^Y~l9{EAqLA6IJ=#qd~xygck?j`D*ZQgMYuW zBs>+98)Edc@bAJ8g|EcFic8@Y@hC_wN!y@++uwr(cEE$a2_AWNFO^q)eKntfUH9jK zcxvL|CK^88(FKtZP=%dH0RIHXsc1TyUKZBFi_Pia+0Z zZ+#MYDqeaiC)Qhqv<|qyUf#pOySQ0GC{|pGY3PAn1 zVO^E)tKkNp6($;S?(rg2eX767qWkj*dwA+)b4Ly6sh_0!Z}Ix>TLkKR>=ye;3w4ft zq=WT6kme?WO^4P{@VNL<6ER#}^Jy&KOG3yldDBx*DsTQmQzvk~b9a zG&v0NljI1%g=1kuXY%9hMLdt|Fa6I)xY4sv5;6>bVppp{^dJ(YLL%Tuj)uXSi7G#Z3rak+F zU}IMSY3C0B7P)`PT`%H2)k8yT@hjEnm6uInIs8;S-yD{Z=6x@vu660)igfVd=$dqL z*EsR|vh z1tHM>->49{{3aR=Kr3TH$iJ%*A_3R-mn!a#ro zK^802o^_1Ng|XPx(?boap#dL>XckG!>babMeDS4P@>^q z%YaB)Krh;0&#K+2wJxE`Ov0zO!S9gYDidqS;2H4&KWTd_f1=Kxi%np<>{)6%*dmc@ zZ?Z*)+5v+{r`k!nie0HB6)<16G9WlPk_u31j+iB#%xkxec`6zO)7A5qK|{5UK!X+A zyi+l#Sja=L6^#2VH@6l+9$J5-q~F&p!!Eir1h2F8X8;Q$6ULp2NsK~TIp23qfewu$ z7&LLEOq6Nko8fa46gPzQK(=O+MA{iGPw{#EJVvhbwxUEzn>?`NyO{-io%tw^QC;SITC zT|TlZA9>6_I`wtSx9_aTR~FxUcHsQlfeTfkv$6e53@@Gfv}Gd!q{Op$qS~HYi+{4w z-djzad>L*3La!#TuXPT;^81pJS3yorY_!Dw(;>A57vFo;%_R=3$9q@fy^rrKA6h%v z|J}783$;7MON(P0v99&liPhMN$NF;g>+-jgKME_c4;Du^;>q1&$sc;Y?^%hDFOL1Y z^}wg4#hY&gK5*9i{rJ;UT~s8Htp+3z4C}MHT`Z@k%JwwD7^R1HDA+*K5dAahJbY%c znVMiE((e6uyeXVu_oj#UV`wgwwhHAE4MKp!mkABxjW1oKA^e80%)Hm~nCEv#0~H6o?t6v&1{7hoI2bvv z{5;P;=j2UJ+2jT`xeJ@z^-Zp4lRLV}U3$(*&$*WR|JK*yL4KD1JoB2v=j*{Fe|Bl` K4F?Zq_5T6(lcNIw diff --git a/apps/users/migrations/__pycache__/0001_initial.cpython-313.pyc b/apps/users/migrations/__pycache__/0001_initial.cpython-313.pyc deleted file mode 100644 index b1eb08b14ba40211a0ec5218f4172a057a16c478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3753 zcmaJEOHdohbu=>)lK4sZ3kWf`@keVjf;HZa{7J2C>|MZi)@oqA3FX<5rX|`Q&B#3? zW0Xqbs#NVUmCL5cCGj;kAIT}?v_4A8K~(#&Ta^TI`im>pG$dA;Dq>YTYnX-smggd~U9@X9 zN~4-|TskQsWk^EmQdfRpN9gW)NeT8eRt{ytTO7ETky*S#%GC6U>v$|uaV>0n#a$*z z8tMRVec=C2S`rpf8HK%$y^kyIR)07+fNBumC+b{r_q_53Up^bKqsSfC?oRv(fg>tmyh;q z$zM1Cr|-w1^XP(z-8jgf*ncjp)ln8rph+~2J{GyS_yO7}L3;^(63}M*fb&zx<4<%2 z<(3BXQ~Pz~69?cv-H+Re@stcvzMNB`t5WC+9VuVUTw}4jJ3YF^$HzRht!mc%Wp;XE zV)A3dw0%sCng>56LOtJb%nCLt<}<^_P8rD51vq0p#525F6;n=myZ+@g_DI<=ee7xe zvgyMQ@icy>Et{TZ+O`I?72QAT;g-2nZK!(|HVI z>YY23j~W)U&5oyau@&?zj4LLwxBkoJ^oqS^S{B8g$D-VQ-z=5txjmk*EMqX9at{LE zi>9O5ZdoIa?*<_;tqO58kN8-x_Xr6c_gD->nnj;H#dUn3%$SE6efjAjOm_v67ySZ%RkxLwG)diph0K}2!ArKcSQ@2+2>gGJuR3p3MV zO9weqn0M?Hi&&3Lr|hz>qU-pS6lfF@dbwzLCZp?{T6o$oApjZ(&kA82cp9@ zpV%l8f%x)n`tCXfA? z9DQ-LePXJ0VrqS1TatbjGG$n*@(tyUB%Qpe0FazkHj^W3Puru})@b&nwc$0s#?8@E zBT?Q=rq)XBwBAbVFXuOkjR(bM+G-^5X7c#jnfB26*3kKvV;dJ63s!RoHxi}IJ zdt{OHM9+n8b9D=HQ3iEsivvk4cf?M%(v$0Bf{gN$>>bYIIguH3wE5TRYkw z%(MnGFQ+yRe?Rp1p~m7b8l=)#{WXw(A>ZLrhwcig_du#pKHeG`UqAHfa&u&{k@#v4 z^5yiabB+1m0OxGzI_J47FK|r-1@pyLs(e{he#MtL^}hNazI?5M4!#KJVE{c0AQC_% zfNq2Z<&7{TeombZgOpkI7GLJW5BXWz;6U=5@MbdoBGT5TTH4gQ^@=tgEHxfKYig^F zM7@)Vi>=X%>th@9jR#h9G>Ggj%i`ab{<_q@mTz9mx34WWuPrt(ZE9X4;cq4f*FI?v zPqv09*HzFp6SBFZzm#urpMI`g}oNcGZo2l`3D%VWq{*k)UNL+tassxw~$2q9Yw5(ct<{e+L63);Y5ZVlIhM6!aAD*1!hDg+#9g zWACT*0e~U+JpNSQRzjiB+lUkzd@Y@REu~&d-9Jd@{uLPuMSdS|C&rqIv42Yd2uc3~ DU~T`2 diff --git a/apps/users/migrations/__pycache__/__init__.cpython-313.pyc b/apps/users/migrations/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index d0cbd8bbecf75c84cc7ec80d9dc30d70195877d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iWerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6VnIQ%ekoX8Zf1H>Vo7FxUa@|Bd}dx| mNqoFsLFFwDo80`A(wtPgB37WOAX|$;jE~HWjEqIhKo$Uc>?!d8 diff --git a/main/__pycache__/__init__.cpython-313.pyc b/main/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index fbaf534d8b18124c1ef92c2ae44483a2e0482c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~h}erR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6ZenJhetdjpUS>&ryk0@&Ee@O9{FKt1 YRJ$Tppdlbjib0Hz%#4hTMa)1J0ABbb1ONa4 diff --git a/main/__pycache__/settings.cpython-313.pyc b/main/__pycache__/settings.cpython-313.pyc deleted file mode 100644 index 0f64b4fea1b4481e28aba19d7724dcd876734357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7477 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 diff --git a/main/other_settings/__pycache__/__init__.cpython-313.pyc b/main/other_settings/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index b79ae16b09a404bc0fa80aab9597a5094400564e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmey&%ge<81by?=vOx4>5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~ieerR!OQL%nT zVsS=FVvc@5QGQlxa!Ij%cxGO4e!hNkMq-J6ZenJhett9e0*kJ nW=VX!UP0w84x8Nkl+v73yCPPgnIJohL5z>gjEsy$%s>_Z8vH3V diff --git a/main/other_settings/__pycache__/logging.cpython-313.pyc b/main/other_settings/__pycache__/logging.cpython-313.pyc deleted file mode 100644 index a67518bf6a7bd7312d7f7e6102d78c590cc0ae07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2149 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 Z!z^=rwR@L9w;N>{{@xE>0?%8X{0A!-aFzf7