DIRCi9(4 i9(4 mIL%ʹh ,.fleet/receipt.jsoni9(4 i9(4 h |*X0h?$׿e}$.github/ISSUE_TEMPLATE/bug_report.mdi9(4 i9(4 S˾}aU zc|'m0).github/ISSUE_TEMPLATE/feature_request.mdi9(4 i9(4 W_>f9L3l>5)%#.github/ISSUE_TEMPLATE/task_card.mdi9(4 i9(4 6vȟ"=t(B .gitignorei9(4 i9(4 'JU(r;).maestro/README.mdi9(4 i9(4 rex?]66ǁ0=.maestro/flow-passkey/006_user_signup_using_passkey_test.yamli9(4 i9(4  {kbn N,.maestro/flow-passkey/scripts/school_init.jsi9(4 i9(4 P"B(VQ(.maestro/flow-passkey/scripts/setDate.jsi9(4 i9(4 P21AUKq†).maestro/flow-passkey/scripts/teardown.jsi9(4 i9(4 hg Ah>pH'ZO9.maestro/flow-passkey/subflows/choose_passkey_prompt.yamli9(4 i9(4 em{eSv@.maestro/flow-passkey/subflows/choose_passkey_prompt_cancel.yamli9(CDi9(CD wոg?0-oB.maestro/flow-passkey/subflows/create_passkey_to_sign_in_flow.yamli9(CDi9(CD  aiFu;?DE.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yamli9(CDi9(CD  {kbn N%.maestro/flows/scripts/school_init.jsi9(CDi9(CD P"B(VQ!.maestro/flows/scripts/setDate.jsi9(CDi9(CD P21AUKq†".maestro/flows/scripts/teardown.jsi9(CDi9(CD  O dH>]]w`>)6.maestro/flows/subflows/admin_add_app_and_teacher.yamli9(CDi9(CD  aiF.maestro/flows/subflows/get_started_select_school_by_name.yamli9(CDi9(CD s d8q5a-IYs5.maestro/flows/subflows/launch_clear_and_set_dir.yamli9(CDi9(CD ]˵ }3da8.maestro/flows/subflows/save_password_prompt_cancel.yamli9(CDi9(CD z?7_4.maestro/flows/subflows/school_admin_login_flow.yamli9(CDi9(CD v|zrB!,/yd(.maestro/flows/subflows/school_init.yamli9(CDi9(CD  VHn OޕARCHITECTURE.mdi9(CDi9(CD |5E%\qㅷDESIGN_GUIDELINES.mdi9(CDi9(CD  ]R?rCRLICENSEi9(CDi9(CD  z J*xoM9 README.mdi9(CDi9(CD Hae@YYbuild.gradle.ktsi9(CDi9(CD /Z'}'z&H6ci-run-maestro.shi9(CDi9(CD !t%SN,^[#Aci-run-test-server.shi9(S9~i9(S9~ 7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pngi9(S9~i9(S9~ 5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pngi9(S9~i9(S9~ S2;Vȱ/vZBgradle.propertiesi9(S9~i9(S9~ +;J~1RKEtkm޴gradle/libs.versions.tomli9(S9~i9(S9~ ,5!}|EC %!gradle/wrapper/gradle-wrapper.jari9(S9~i9(S9~ Gv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertiesi %96i %96 ":mkkZ&BGtgradlewi9(S9~i9(S9~  8!4\'{[*n gradlew.bati9(S9~i9(S9~ }rs_h\@"respect-app-compose/README.mdi9(S9~i9(S9~  pX[RS3}YwJ$respect-app-compose/build.gradle.ktsi9(S9~i9(S9~ HV/$"s{WIlI&respect-app-compose/proguard-rules.proi9(S9~i9(S9~  ^BzoSìUQO!7respect-app-compose/src/androidMain/AndroidManifest.xmli9(S9~i9(S9~ vTuԽ _#YOrespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kti9(S9~i9(S9~ (R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kti9(b{i9(b{ \߈[ez__jzIrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kti9(b{i9(b{ Lҏi:[Mr!Hrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kti9(b{i9(b{  pfW36n7Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kti9(b{i9(b{  bq<$0mp-59Krespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kti9(b{i9(b{ ~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kti9(b{i9(b{ dQg4lCA&k2_respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kti9(b{i9(b{ EZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kti9(b{i9(b{ ? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kti9(b{i9(b{ s :_Tmfrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kti9(b{i9(b{ Z2L ;u,˞y`respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kti9(b{i9(b{ YDrR K;~F7::s_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kti9(b{i9(b{ œC߬'|:urespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kti9(b{i9(b{  LmuZ.sva;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmli9(qi9(q 4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webpi9(qi9(q x}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webpi9(qi9(q rMOĹUPBrespect-app-compose/src/androidMain/res/drawable/works_offline.pngi9(qi9(q lVm^y)iW^hDrespect-app-compose/src/androidMain/res/layout/activity_web_view.xmli9(qi9(q mO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmli9(qi9(q  Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmli9(qi9(q aUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngi9(qi9(q  respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kti9(-i9(- 5 vy*/`:=98respect-app-compose/src/commonMain/kotlin/theme/Theme.kti9(-i9(- 8̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kti9(-i9(- ;"Bނ1x\ۨXQ Frespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kti9(-i9(- <#[sGe35 )\OIrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kti9(-i9(- =l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kti9(Bgi9(Bg >UѫXT" XZ9OMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kti9(Bgi9(Bg ?kAv bxr>$6QTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kti9(Bgi9(Bg @>G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kti9(Bgi9(Bg B`:7q=-QjVrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kti9(Bgi9(Bg C ZX3-m-Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kti9(Bgi9(Bg D4':o'Ln[`respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kti9(Bgi9(Bg E ܭ8-{2@0GA0arespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kti9(Bgi9(Bg FAF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kti9(Bgi9(Bg GA詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kti9(Bgi9(Bg HEfZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kti9(Bgi9(Bg M\&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kti9(Bgi9(Bg N R,.Dn`S,crespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kti9(Bgi9(Bg OO@?`} "(_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kti9(Bgi9(Bg P KKFx)F2{\Adrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kti9(Bgi9(Bg Q,)v8l5&4frespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kti9(Bgi9(Bg R0nG xPCY?zZ-\respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kti9(Bgi9(Bg S c&$1X^.ʍudhrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kti9(Bgi9(Bg T ;)a|>^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kti9(Bgi9(Bg UtSBɘFa%Wn]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kti9(Bgi9(Bg Vכּ:@ 秐]zerespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kti9(Bgi9(Bg W- 9}dA^qR_Kbrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kti9(Bgi9(Bg XHH%׀4hJ٩s_^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kti9(i9( Y07"nZޟ4erespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kti9(i9( Z^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kti9(i9( [6(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kti9(i9( \Eu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kti9(i9( ] ΂(_{[.*$%xgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kti9(i9( _EGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kti9(i9( `oj]X"vWE]respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kti9(i9( cݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kti9(i9( e)|^a.Lltܷfrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kti9(i9( fco hrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kti9(i9( {rt䒯\ENhhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kti9(i9( ~Hjd`()}F>B=brespect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kti9(i9(  f SJ3{p^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kti9(i9(  'O'8z=Pdk^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kti9(i9( ѺD)*Uu=0-%ƭ,zprespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kti9(i9( %) \>m"ٜlrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kti9(i9(  (ٞfD .BۭVijrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kti9(i9( Fuy|2+_']7 lrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kti9(i9(  q,e ObIfY1Snrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/confirmation/ConfirmationScreen.kti9(i9( e9|s#$iE^Dprespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kti9(i9(  o6avZ{n(e|respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kti9(i9( V0TiGFdijrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kti9(i9( 2%uv#q90 srespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kti9(i9(  ,0 yޙÁ@xrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kti9( i9(  ˋjkQc^uwG`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kti9( i9(   `9NAh[$ ęc?mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kti9( i9(   Ju lĈSHkxoyrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kti9( i9(  m4 H D,8c,pQbrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kti9( i9(  9۞`tNGt}Щxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kti9( i9(   W`!7N`^nzrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kti9( i9(  C:'OЧI 5:n_respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kti9( i9(   #=^47,#g>nrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kti)zi)z x '"D{E{ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kti9(KQi9(KQ [O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kti9(KQi9(KQ .{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kti9(KQi9(KQ (-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kti9(KQi9(KQ %i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kti9(KQi9(KQ  >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kti9(KQi9(KQ  i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kti9(KQi9(KQ  ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kti9(KQi9(KQ "WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kti9(KQi9(KQ  $ |OPݺ3F|bhQrrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kti9(KQi9(KQ  s$eoz4rrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kti9(KQi9(KQ  (ܘo@ q@"NSwNrespect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kti9(KQi9(KQ ۤo4^ۮIGlVrespect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kti9(KQi9(KQ ^HDetI+\{YSrespect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kti9(܍i9(܍ T_0 ? Q4!_respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kti9(܍i9(܍ 0A i/VvI3Qkrespect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kti9(܍i9(܍ A >E.ԥVP$-4.frespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kti9(܍i9(܍ Z2L ;u,˞y`respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kti9(܍i9(܍ dl%'f+QWrespect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kti9(܍i9(܍ k״YU:K.SA@respect-app-compose/src/desktopMain/kotlin/world/respect/main.kti9(܍i9(܍ ;D-tstoB>respect-app-compose/src/desktopMain/resources/sample-feed.jsoni9(܍i9(܍ B*18LyqzK}respect-cli/.gitignorei9(܍i9(܍ Rz$oG]%Frespect-cli/build.gradle.ktsi9(܍i9(܍ K я}z Hcr2>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kti9(܍i9(܍ B*18LyqzK}respect-credentials/.gitignorei9(܍i9(܍ ) o{r0{Ö$respect-credentials/build.gradle.ktsi9(܍i9(܍ H4Ayף gm4K &respect-credentials/proguard-rules.proi9(܍i9(܍ HDQi2O ~QͯHirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kti9(܍i9(܍ ~"qP;Bu͍crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kti9(܍i9(܍ ߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kti9(܍i9(܍ ʿ=\Ӱ Q/p%Fa`respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kti9(܍i9(܍ m^`x۶޿ `respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kti9(܍i9(܍ XJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kti9(܍i9(܍ 37<(glOgrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kti9(܍i9(܍ 76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kti9(܍i9(܍ ⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kti9(܍i9(܍ 'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kti9(܍i9(܍ j;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kti9(i9( 9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kti9(i9( Of6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kti9(i9(  ȱc'x"[hrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kti9(i9(  RH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kti9(i9(  1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kti9(i9(  _ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kti9(i9(  oRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kti9(i9( MKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kti9(i9( +@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kti9(i9( FǚUV`;Gnkrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kti9(i9(  Ҵ {\!W0p$z{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kti9(i9( Rs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kti9(i9( VXA;DҔ#nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kti9(i9( g\r}ft$9nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kti9(i9( oޚ bi=?trespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kti9(i9( ]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kti9(i9( r0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmli9(i9( j(>i;F6?[brespect-datalayer-db/README.mdi9(i9( q./,CB4B|y!%respect-datalayer-db/build.gradle.ktsi9(i9( !nAr) BnWwێQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsoni9(i9( "f"%|7ws6A<@Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.jsoni9(i9( $;uP,T~v0~a-Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsoni9(i9( %%Cx?OSrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.jsoni9(i9( 'PMxPD/KTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsoni9(i9( (PǾ0ۧ\i4&F7rqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kti9(i9( @p_e>^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kti9(i9( Bב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kti9(i9( CRlQ`>1I၎Tsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kti9(i9( EǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kti9(i9( F ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kti9) T:i9) T: H iHoD&$ Rg%u՝ALrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kti9) T:i9) T: Jym7w^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kti9) T:i9) T: OY'xW\respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsParentType.kti9) T:i9) T: PQhTdy@Q`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsTypeConverters.kti9) T:i9) T: Rrˀmt@ L`S͋_grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFacetAdapter.kti9) T:i9) T: SFRke3>frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kti9) T:i9) T: T 2dTYKǫtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedMetadataEntityAdapter.kti9) T:i9) T: Ua*-ftz}{,@grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kti9) T:i9) T: VЊ4cIiqW$Lsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kti9) T:i9) T: WdzdB!nPәjqorespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumLinkEntityAdapter.kti9) T:i9) T: X VA;$8 "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kti9) T:i9) T: a2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kti9) T:i9) T: bԊu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kti9) T:i9) T: c*ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kti9) T:i9) T: ds%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kti9) T:i9) T: e;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kti9) T:i9) T: f ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kti9) T:i9) T: g? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kti9) T:i9) T: iPd?!7r frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kti9)ti9)t jRPbd[r?A=ڍarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kti9)ti9)t k*97G Hfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kti9)ti9)t l YXN>v{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kti)zi)z m!sZmwo^brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kti9)ti9)t n N﹎b-irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kti9)ti9)t o -O gvKq4tjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kti9)ti9)t p ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kti9)ti9)t q |ivl`}BQtBerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kti9)ti9)t r .>[6 ip,˕drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kti9)ti9)t t V;.-p6 ~,I*,jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kti9)ti9)t u+}FHT\I7J҃irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kti9)ti9)t v{fabe0lerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kti9)ti9)t wuGR8Ƽi;lxjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kti9)ti9)t x 1Ãr)%O(QHfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kti9)ti9)t yߌFCZ)Q4xmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kti9)ti9)t zDM3b;~.tnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kti9)ti9)t {$oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kti9)ti9)t |"JeSp'~U*m5irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kti9)ti9)t }DW\Fg2EOv{nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kti9)ti9)t I'!ߔf-,^]esrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentAssigneeRefEntityDao.kti9)ti9)t O0tڲٞ3hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentEntityDao.kti9)ti9)t iottk L?{respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kti9)ti9)t &(Us;# ξǕVGgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kti9)ti9)t  "d6B.agbg{crespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kti9)ti9)t u1e*1*;!s(Rhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kti9)ti9)t [ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kti)i)  ӗ[j(i  [drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kti9)ti9)t gA!5Alrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kti9)ti9)t W%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kti9)ti9)t =fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kti9)ti9)t >%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kti9)ti9)t {n~ci&]j Rgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kti9)ti9)t n-%`na+V{_flrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kti9)ti9)t orPJrqtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentAssigneeRefEntity.kti9)(خi9)(خ ~`KS!n rZirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.kti9)(خi9)(خ  tD{R=h|respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kti9)(خi9)(خ Y7Lgu/'hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kti9)(خi9)(خ 554#ZDdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kti9)(خi9)(خ Iv;pE;J AVRܵmirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kti9)(خi9)(خ 9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kti9)(خi9)(خ I>?Nerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kti9)(خi9)(خ KDDo+POT:v/+nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kti9)(خi9)(خ 9KHVWS1L Qlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kti9)(خi9)(خ , fAvڱבmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kti9)(خi9)(خ FT$ļեPcw3rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kti9)(خi9)(خ cdGh>E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kti9)(خi9)(خ $lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kti9)(خi9)(خ ȫZ:/At(Mhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kti9)(خi9)(خ 0Y™ږOp+mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kti9)(خi9)(خ Sji?-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kti9)(خi9)(خ  UǟzΆFgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kti9)(خi9)(خ k#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kti9)8i9)8 K+CVYєQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kti9)8i9)8 >[>+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kti9)G]#i9)G]# /VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kti9)G]#i9)G]# 2HXv?oϏ/ ߄drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kti9)G]#i9)G]# #0jv 3m~0ާVTSlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kti9)G]#i9)G]# $ Xh=fJTgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kti9)G]#i9)G]# ˈ7 ~ 绷C/\lrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kti)i) sk!AEq!mb hrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kti9)G]#i9)G]#  _9Fporespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kti9)G]#i9)G]#  `s|Dn.s+Ɏ`%prespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kti9)G]#i9)G]# zp ru3iӰtPkrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kti9)G]#i9)G]# $In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kti9)G]#i9)G]#  m_?%J,R&Kmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kti9)G]#i9)G]# f>kڥߏtBvrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kti9)G]#i9)G]# sjűG3s.wKZ&respect-datalayer-repository/README.mdi9)G]#i9)G]#  ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktsi9)V]i9)V] y<Ʊ?<\rerespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kti9)V]i9)V] M9;FpU/respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kti9)V]i9)V] CBŜ{ضdx3>]_wrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kti9)V]i9)V] ⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kti9)V]i9)V] c2g-2!Zŏsrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kti9)V]i9)V]  -HhKp' D1ɬ>Irespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kti9)V]i9)V] Is+.j#NJGWUvrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kti9)V]i9)V]  SU)mqCsUd~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kti9)V]i9)V]  Ԫncka6xϸ]0yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kti9)V]i9)V]  TBlq՝9~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kti)i) g+~MϦzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kti9)V]i9)V] V?5A9[i48 6Xrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kti9)V]i9)V]  Nb~)h(ng1wy&e respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kti9)V]i9)V] />P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kti9)V]i9)V]  1 _S2qCM { }respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kti9)V]i9)V]  mkɪ ^?A1nK-respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kti9)V]i9)V] "x=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kti9)ei9)e %'`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kti9)ei9)e &9Swbl5: vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kti9)ei9)e '%[{a2_yܒ&vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kti9)ei9)e (q/2\{s respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kti9)ei9)e )5^RuTzm*crespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kti9)ei9)e 0 t]*SYV$U xrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kti9)ei9)e 2=VV{s*fG:Frespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kti)i) 4,(K]Y@]YU|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kti9)ei9)e 6vO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmli9)ei9)e <Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsoni9)ei9)e =0^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsoni9)ei9)e ?B*18LyqzK}respect-datalayer/.gitignorei9)ei9)e @̹5I=xGV$ߺrIrespect-datalayer/README.mdi9)ei9)e A}8M"q_^X"respect-datalayer/build.gradle.ktsi9)ei9)e Dyha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmli9)ei9)e JB MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kti9)ei9)e KTݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kti9)ei9)e LۉEhoUF[O%qSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kti9)ei9)e MH$/7DRrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kti9)u#i9)u# Nj Ncʤ%ҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kti9)u#i9)u# Z yVNrhmufk(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kti9)u#i9)u# \u;\Y h1lWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kti9)u#i9)u# ]F,qWz|}$KY:[ Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kti9)u#i9)u# ^~Nm`i)wTrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kti9)u#i9)u# _w>'1dBC^8 Urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kti9)u#i9)u# `ZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kti9)u#i9)u# a`p]:Vw1Y8>^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kti9)u#i9)u# c''MyL*n3<srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kti9)u#i9)u# d@qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kti9)u#i9)u# e?+%>~r?pE>¦jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kti9)u#i9)u# hUcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kti9)u#i9)u# j6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kti9)u#i9)u# knÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kti9)u#i9)u# leQЋ5X}١x˜carespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kti9)u#i9)u# mK!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kti9)u#i9)u# nhS]2GFrZfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kti9)u#i9)u# o^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kti9)u#i9)u# pwŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kti9)u#i9)u# qׄ:ZǔjnŌ*frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kti9)u#i9)u# rˀ񫒣?`$4krespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kti9)u#i9)u# sp\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kti9)u#i9)u# tn̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kti9)u#i9)u# u_we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kti9)u#i9)u# v:w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kti9)u#i9)u# wN K%u\h'#+Ca`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kti9)f i9)f xK-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kti9)f i9)f yv8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kti9)f i9)f zCV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kti9)f i9)f |=]K2jVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kti9)f i9)f }^^^$q~mvИrN[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kti9)f i9)f SiBͨ.mUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kti9)Gi9)G  ́̾Z\qZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kti9)Gi9)G 1{"&/1E Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kti9)Gi9)G hi+Yz]tdbbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kti9)Gi9)G Q݆mLBxזb{Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kti9)Gi9)G f~ ujEVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kti9)Gi9)G xԿCz'Y/>`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kti9)Gi9)G /2ku`q]Y{aq\]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kti9)Gi9)G tR%[ Jhq3g#eӏ^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kti9)Gi9)G .45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kti9)Gi9)G x?e҆Y5^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kti9)Gi9)G  [bᕌ.`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kti9)Gi9)G Jw"+zT%Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kti9)Gi9)G Լ ܕY}Z CvrgYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kti9)Gi9)G XS^2. W9~W2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kti9)Gi9)G re ga~6q@0lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kti9)Gi9)G yB D;.+P(lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kti9)Gi9)G EU}imqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kti9)Gi9)G ½NZo49Zr`I ?qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kti9)Gi9)G )4x1y'{qvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kti9)Gi9)G Va qe^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kti9)Gi9)G # >#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kti9)Gi9)G DGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kti9)Gi9)G Qd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kti9)Gi9)G w-bt=lxA20Su)\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kti9)Gi9)G )g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kti9)i9) rCq 䢴" jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kti9)i9) cʥjr<drespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kti9)i9) qJ![Ԏh?-rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kti9)i9) ƿcjщUObrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kti9)i9) Lw\Fieirespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kti9)i9) w#Y(!?ul;]A,crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kti9)i9) jG _Dq?ncbPerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kti9)i9) Lp:RYμ0eIG^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kti9)i9) _!14oߖ%"xu`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kti9)i9) 3OR'K5=ތWjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kti)i) ]8;8V]&"Ldrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kti9)i9) B*18LyqzK}respect-lib-cache/.gitignorei9)i9)  X'i&RI@DUrespect-lib-cache/README.mdi9)i9)  L"^ 8b/"respect-lib-cache/build.gradle.ktsi9)i9) >gҎkJi-&)L8S&UJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsoni9)i9) J=A w]!.?5respect-lib-cache/src/androidMain/AndroidManifest.xmli9)i9) vOCW o.dɗVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti9)i9) _j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti9)i9) .6Mr_΋V*Y7Bsrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kti9)i9) %1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kti9)i9) ĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kti9)i9) U)تux=Mo!9brespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kti9)i9) an_y?c"_zrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kti9)i9) OSdnJ[& sP܅srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kti9)i9) (1EUHV`'5$rrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kti9)i9) *Lxv`Puz~,krespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kti9),i9), 9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kti9),i9), j7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti9),i9), Iz^=v#1Yم`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kti9),i9), ${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kti9),i9), <ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kti9),i9), oz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kti9),i9), L ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kti9),i9), :,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kti9),i9), m۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kti9),i9), \ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kti9),i9), `vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kti9),i9), f]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kti9),i9), 1A$Ac#5Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kti9),i9), K*DZ& ,)Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kti9),i9),   9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kti9),i9),  F)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kti9),i9),  W¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti9),i9), ;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kti9),i9), TU|gB{1ۑd]g\\c]Apkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kti9)ni9)n  M[x_ܫ`Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kti9)ni9)n >t?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kti9)ni9)n f0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kti9)ni9)n _Yz񚛦b#Wrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kti9)ni9)n  xN4DHiGntZGSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kti9)ni9)n  YPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kti9)ni9)n "Mt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kti9)ni9)n $ aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kti9)ni9)n %c) )Iӽ=o=UzLYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kti9)ni9)n & "T~+?M]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kti9)ni9)n ' i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kti9)ni9)n (jׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kti9)ni9)n )(y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kti9)ni9)n *hz: E ˜s ș_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kti9)ni9)n +ᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kti9)ni9)n ,[pSU㶭5[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kti9)ni9)n .3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kti9)ni9)n /X +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kti9)ni9)n 08Nt-tg)espect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kti9)ni9)n 1uRc|Pc#Q5_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kti9)ni9)n 2%d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kti9)ni9)n 3XG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kti9)ni9)n 4=9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kti9)ni9)n 54w~ 6&ƕarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kti9)ni9)n 6R+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kti9)ni9)n 7(ȳo_wch+TM]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kti9)ni9)n 8[r°ZؤC]n?erespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kti9)ni9)n :~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kti9)ni9)n ;D͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kti9)ni9)n <7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kti9)ni9)n =qOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kti9)ni9)n ?n3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kti9)ni9)n AclA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kti9)ni9)n B$^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kti9)б0i9)б0 CbVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kti9)б0i9)б0 DTtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kti9)б0i9)б0 EJd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kti9)б0i9)б0 F%W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kti9)б0i9)б0 H~rdu -ñ{Ószrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kti9)б0i9)б0 I ɮ^8.pkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kti9)б0i9)б0 JQ@렽 oC8.Serespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kti9)б0i9)б0 KWCmV0Ao:crespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kti9)б0i9)б0 LQW","S+=rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kti9)б0i9)б0 MŜT\{+Rxudkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kti9)б0i9)б0 N󈻄ԙj.l<^_=krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kti9)б0i9)б0 Om%фPOV< drespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kti9)б0i9)б0 P}:0P3$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kti9)ji9)j mڙBQsTo#Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kti9)ji9)j nJh3"n=?N`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kti9)ji9)j p`0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kti9)ji9)j qy UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kti9)ji9)j sWԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kti9)ji9)j tZnb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kti9)ji9)j u:,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kti9)ji9)j v =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kti9)ji9)j w&(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kti9)ji9)j x䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kti9)ji9)j z[aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kti9)ji9)j { ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kti9)ji9)j |$ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kti9)ji9)j } Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kti9)ji9)j ^B ==N=RdRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti9)ji9)j 7qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti9)ji9)j \xraBȪ6LSkrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kti9)ji9)j :`q.5rrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kti9)ji9)j fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti9)ji9)j 5c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kti9)ji9)j pln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kti9)ji9)j Dc>n'|(t*x]xRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kti9)ji9)j  3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kti9)5i9)5  g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kti9)5i9)5 ̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kti9)5i9)5 /'lj;6LWurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kti9)5i9)5 >$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kti9)5i9)5 Dh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kti9)5i9)5 [6[k>Э<crespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kti9)5i9)5 ,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kti9)5i9)5 d24iyBA|drespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kti9)5i9)5 ;ģ&M pwbarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kti9)5i9)5  ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kti9)5i9)5 ]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kti9)5i9)5 ֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kti9)5i9)5 q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kti9)5i9)5  (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdi9*Ti9*T CDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsi9*Ti9*T w-4OmSrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kti9*Ti9*T o;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kti9*Ti9*T ` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kti9*Ti9*T ɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kti9*Ti9*T #h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kti9*Ti9*T TP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kti9*Ti9*T AX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kti9*Ti9*T œ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kti9*Ti9*T ?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kti9*Ti9*T =b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kti9*Ti9*T A4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kti9*Ti9*T  Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kti9*Ti9*T 9EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kti9*Ti9*T ( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kti9*Ti9*T _&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kti9*Ti9*T E2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kti9*Ti9*T %^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kti9*Ti9*T S=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kti9*Ti9*T M&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kti9*,>i9*,> $ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kti9*,>i9*,> YW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kti9*,>i9*,> >-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kti9*,>i9*,> s0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kti9*,>i9*,>  {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kti9*,>i9*,> 2.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kti9*,>i9*,> B*18LyqzK}&respect-lib-ihttp-iostreams/.gitignorei9*,>i9*,> Z% -blzmm%respect-lib-ihttp-iostreams/README.mdi9*,>i9*,> a5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsi9*,>i9*,> 恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kti9*,>i9*,> HAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kti9*,>i9*,> B*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignorei9*,>i9*,> 5JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsi9*,>i9*,>  7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kti9*,>i9*,> zi9*,> B*18LyqzK}#respect-lib-ihttp-okhttp/.gitignorei9*,>i9*,> [ C(я?)respect-lib-ihttp-okhttp/build.gradle.ktsi9*,>i9*,> ⛲CK)wZS+respect-lib-ihttp-okhttp/consumer-rules.proi9*,>i9*,> H4Ayף gm4K +respect-lib-ihttp-okhttp/proguard-rules.proi9*;i9*; yha̮O Ԉ[vEs;respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xmli9*;i9*; B )0UcYZpsyrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kti9*;i9*;  "rQ&TS2}pkrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kti9*;i9*; " ꄆ䑅Porespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kti9*;i9*; #{QcNcM`|U&30R؊krespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kti9*;i9*; %XdrDirrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kti9*;i9*; &ƯIDC zT% mrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kti9*;i9*; (ƪ"An똼~zE respect-lib-opds-model/README.mdi9*;i9*; )x%[2fVm'respect-lib-opds-model/build.gradle.ktsi9*;i9*; 2ĂO0T]PWEMTrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kti9*;i9*; 3iC87 m|W:⬠Wrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kti9*;i9*; 4ҽ޸\/;ĦW\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kti9*;i9*; 5ndgNCݮ NQ[R|Zrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kti9*;i9*; 6G9<=Ü'lVrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kti9*;i9*; 73#A.Jllt_%Urespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kti9*;i9*; 8pF{ޣ^ϸq %$1]respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kti9*;i9*; 9?W| 8ڋ b|Vrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kti9*;i9*; :k8o?K;$Vrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kti9*;i9*; ;0iZz@Xż\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kti9*;i9*; <qC$}KdM1d_respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kti9*;i9*; =%m#`_pNBs:Wrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kti9*;i9*; >orPHFfkberespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kti9*;i9*; ?2xb򫟙N̈́ʦ֌ZXrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kti9*;i9*; @÷;ua3>:&KObrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kti9*;i9*; A\#c$rw*krespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kti9*Ji9*J B %:9~ww/"zI0\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kti9*Ji9*J Cr4sH'0zG 88[respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kti9*Ji9*J E_;>40OC*respect-lib-primarykeygen/build.gradle.ktsi9*Ji9*J M 9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kti9*Ji9*J T].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kti9*Ji9*J U2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kti9*Ji9*J W,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kti9*Ji9*J ^> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kti9*Ji9*J ebނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kti9*Ji9*J g59c(-G$]kv!respect-lib-serializers/README.mdi9*Ji9*J h FZ)@ ,\=K(respect-lib-serializers/build.gradle.ktsi9*Ji9*J pӮס K;}5ܘw6/grespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kti9*Z>i9*Z> q ]ٳp|Rn'?brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kti9*Z>i9*Z> r|Xfk"U υtrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kti9*Z>i9*Z> s"rx^RE6]A_VNlcrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kti9*Z>i9*Z> tr[u{zղgrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kti9*Z>i9*Z> ui:v'M8Dϙ?Zrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kti9*Z>i9*Z> v[C&ZNo1/brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kti9*Z>i9*Z> x#X`E23 o#respect-lib-shared-se/README.mdi9*Z>i9*Z> y`_;63*5^ &respect-lib-shared-se/build.gradle.ktsi9*Z>i9*Z> ",TSfd\l֔2respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kti9*Z>i9*Z> HeR߲v'-:7#respect-lib-shared/build.gradle.ktsi9*iGwi9*iGw *H+=XQܢ35respect-lib-shared/src/androidMain/assets/aaguid.jsoni9*iGwi9*iGw n(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kti9*iGwi9*iGw _^-Ea G.urespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kti9*iGwi9*iGw ?jM{gV)<*F"wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kti9*iGwi9*iGw =I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kti9*iGwi9*iGw S3ArfElU jirrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kti9*iGwi9*iGw h `A u}\v&nrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kti9*iGwi9*iGw  J#rK1jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kti9*iGwi9*iGw vECJu{# Uvrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kti9*iGwi9*iGw AVED*-&elrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kti9*iGwi9*iGw q_ N;7<".#gurespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kti9*iGwi9*iGw H>s5p(߼)1l%mrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kti9*iGwi9*iGw l 2 IIϲ'grespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kti9*iGwi9*iGw xE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kti9*iGwi9*iGw OMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kti9*iGwi9*iGw L4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kti9*iGwi9*iGw  Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kti9*iGwi9*iGw ԙٿY4p7U~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kti9*iGwi9*iGw ׻_!^)FH'~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kti9*iGwi9*iGw YɪlEPK' ;+L2erespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kti9*iGwi9*iGw {>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kti9*iGwi9*iGw ֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kti9*iGwi9*iGw GH!M3G}'`%i`Krespect-lib-shared/src/androidMain/resources/directories/default.propertiesi9*xi9*x (˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmli9*xi9*x (yT{(Jwu> 4;),Erespect-lib-shared/src/commonMain/composeResources/drawable/empty.pngi9*xi9*x Uu"LNg ѷ!%: 95Erespect-lib-shared/src/commonMain/composeResources/values/strings.xmli9*xi9*x 3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kti9*xi9*x FjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kti9*xi9*x f뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kti9*xi9*x qq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kti9*xi9*x mq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kti9*xi9*x CB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kti9*xi9*x Z)pq*Ƅ^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kti9*xi9*x u̯`6~r1grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kti9*i9* "4.G~VY̤erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kti9*i9* *q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kti9*i9* Jȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kti9*i9* ]v9:&K)=SL?respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kti9*i9* ]ghƓ$d*}hlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kti9*i9*  tY ~ O{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kti9*i9* %@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kti9*i9* Ԇ' ㋢|qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kti9*i9* F7om!mooLjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kti9*i9* X! S6ͯg`prespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kti9*i9* lhnawoYJ.qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kti9*i9* ⛲CK)wZSwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kti9*i9* g:xfaxQX7Qsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kti9*i9* ynrjRsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kti9*i9* 7 ~"ǚvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kti9*i9* VsrO1GG|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kti9*i9*  wBc|eu 5yz[yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kti9*i9* y6H/TώtFոPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kti9*i9* [M23S5Alrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kti9*i9*  vX"tyrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kti9*i9* GFƳlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kti9*i9* UJr= XQ$xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kti9*i9*  =OĢGj;|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kti9*i9* ߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kti9*i9* .9LjdU’ Mdrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kti9*i9* αJP!Jxn )A.xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kti9*i9* nZĕqr A, rcl>>}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kti9*i9* |?:'-9<gYrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kti9*i9* pDŵ)ޱZ1.yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kti9*&i9*& y \Ju&ګxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kti9*&i9*& 2Br~I2)xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kti9*&i9*&  @,;K8@[0KJfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kti9*&i9*& hc^=d`.19탡tbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kti9*&i9*&  rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kti9*&i9*& u)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kti9*&i9*&  29; 4\=ar>>nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kti9*&i9*&  6~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kti9*&i9*& ]譢^Mc40etgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kti9*&i9*& O1H⽀ńxn`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kti9*&i9*& 8']Zxdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kti9*&i9*& -EE 6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kti9*&i9*&  Ţ[L0D;jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kti9*&i9*& S4< 0Ylrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kti9*&i9*& H[e[Wgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kti9*&i9*& 065p!lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kti9*&i9*&  Y;=+,BNl*/trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kti9*&i9*& Ĵ2Zkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kti9*&i9*& >OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kti9*&i9*& ib~.#n=+na:mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kti9*&i9*& "=r}Nh6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kti9*&i9*& z!sQ+Tg mqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kti9*&i9*& ! rތ[Iݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kti9*Pai9*Pa =k]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kti9*Pai9*Pa >= ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kti9*Pai9*Pa ?8.|zN6fa0P9 [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kti9*Pai9*Pa @lvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kti9*Pai9*Pa B: &qgeky Κt'Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kti9*Pai9*Pa Cel8w?$s^brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kti9*Pai9*Pa Drt/GDCPhRVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kti9*Pai9*Pa ECCoo1 [ѡԼUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kti9*Pai9*Pa FeIx^g݃0hʃ ]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kti9*Pai9*Pa GXKrC(x?x'C4Q`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kti9*Pai9*Pa H2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kti9*Pai9*Pa I vDz9࡭e8 XUr?grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kti9*i9* J\g`Җm4 /_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kti9*i9* Lnp@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kti9*i9* N#{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kti9*i9* O<U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kti9*i9* P=WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kti9*i9* Q6)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kti9*i9* R@p 0nb1&ž*Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kti9*i9* Slq CY%`S-8qY\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kti9*i9* TM^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kti9*i9* U]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kti9*i9* cnbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kti9*i9* dz jK n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kti9*i9* enwd"$nM-X<*Xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kti9*i9* fY"\"”gX4p]]>[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kti9*i9* gYg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kti9*i9* hL!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kti9*i9* ibg=S$>o;`UNrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kti9*i9* kl&uܬX/=د: [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kti9*i9* mq,B'srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kti9*i9* pO`:3-ڑ'֗]nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kti9*i9* q-PJ[k|U{aց+grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kti9*i9* r_[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kti9*i9* sINjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kti9*i9* tk\\܋rA fTdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kti9*i9* u 4(q}.Γ7]ac)e#erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.kti9*i9* w~9!f4FU0Xbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kti9*i9* x=ˇ~]SD Tfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kti9*i9* yɅ\?+6]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kti9*i9* z~"\ǸWG?SMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kti9*i9* {) tL 0G~`nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kti9*i9* ~x#`:jQ`s7jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kti9*i9*  u@en}T5AɽZlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kti9*i9* \Gذ PPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kti9*i9*  ~T R.|㗺r%Q erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kti9*i9* q5<ˌxdQ,/S^vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kti9*i9* ,@,:HҤ:9nU rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kti9*i9* ~"w ~rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kti9*i9* +0~^Hk~lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kti9*i9* h%tV+m@r^h7Uhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kti9*i9* #@h&t؏1P.Ҫ^-W.I<hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kti9*i9* &5;blamrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kti9*i9* ˖~{'YgG1zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kti9*i9* l;d%Mcvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kti9*i9* +,"Pt3_=vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kti9*i9* y5A,.$xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kti9*i9* jutI˄aB[earespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kti9*i9* DMOlhb.tOD;gtrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kti9*i9* ٹwU)?}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kti9*i9*  ʈ Jh~zb1respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kti9*i9* "!!R8nPʻGn jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kti9*i9*  0_-&Ϩoirespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kti9+ݿi9+ݿ oh/A\ kZsT-$rrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysDbImpl.kti9+ݿi9+ݿ +yļȈ]5c]nmrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseJvm.kti9+ݿi9+ݿ 3h-yfKFMOurespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/RevokePersonPasskeyUseCaseDbImpl.kti9+ݿi9+ݿ eaY%] D\ܛIsrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kti9+ݿi9+ݿ =*etRTA.nrqY|respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kti9+ݿi9+ݿ `:|MnBJMgrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconsUseCaseImpl.kti9+ݿi9+ݿ ^"\QWݦn*Horespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/AbstractJsonSchemaValidator.kti9+ݿi9+ݿ ѾnC##˥E~erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kti9+ݿi9+ݿ B$yeCOz&lrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kti9+ݿi9+ݿ   bwzo {(J%r|krespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kti9+ݿi9+ݿ  +B"sC$]yYrrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kti9+ݿi9+ݿ  iSok\}*>|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kti9+ݿi9+ݿ  TW.oϪhk'qKfrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/AsYouTypeFormatterJvm.kti9+ݿi9+ݿ _Է lK9Bq.O`jrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCaseJvm.kti9+ݿi9+ݿ u;e`&erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorJvm.kti9+ݿi9+ݿ _ N9;_respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberJvm.kti9+ݿi9+ݿ &uhrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/invite/RedeemInviteIntegrationTest.kti9+ b4i9+ b4 .z.)JOBdk=i orespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/passkey/EncodeDecodeUserHandleUseCaseTest.kti9+ b4i9+ b4 02̋dJKհ%L Wdrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validateemail/ValidateEmailUseCaseTest.kti9+ b4i9+ b4 2<`~QBv!u.JZrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/HttpLinkHeaderTest.kti9+ b4i9+ b4 307p<#n0|Yx_respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/TestValidationScenarios.kti9+ b4i9+ b4 7||p3?r> 2cTNlrespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kti9+ b4i9+ b4 :8=zx0'6Y-^_respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/RespectAccountScopeIdTest.kti9+ b4i9+ b4 ;sz9VF(L\erespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeIdTest.kti9+ b4i9+ b4 =ГζviWI<y(hEγZi\HRrespect-lib-shared/src/jvmTest/kotlin/world/respect/testutil/TemporaryFolderExt.kti9+ b4i9+ b4 DD(vz*sf¦hrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.htmli9+ b4i9+ b4 E K}}hL4K+Nprespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/appmanifest.jsoni9+/ni9+/n G/WAw4_9rrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/grade1.jsoni9+/ni9+/n IY9WZ{[E==Åzrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.oggi9+/ni9+/n JL7_\ulh=Nzrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.pngi9+/ni9+/n KN0 zDafgrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/lesson001.htmli9+/ni9+/n L0^9a%Sڂrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/lesson001.jsoni9+/ni9+/n M}q^:63#zrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.jsi9+>i9+> N پElBflW{zrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4i9+>i9+> OŞ5b_ݹƯEb;jrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/index.jsoni9+>i9+> QD(vz*sf¦nrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/app.htmli9+>i9+> R K}}hL4K+Nvrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/appmanifest.jsoni9+>i9+> T/WAw4_9xrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/grade1.jsoni9+N(i9+N( V]M ~7Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.kti %Hxi %Hx %s9nϿ| Ϲ<Brespect-server/src/main/kotlin/world/respect/server/Application.kti9+1i9+1 9䐪D89S,Grespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kti9+1i9+1 x&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.kti %Hxi %Hx , q~no>ݸ[Grespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kti9+1i9+1 bp+6W`=x`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kti9+ti9+t faM\e#v?nrespect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kti9+ti9+t  !,s?Lk\2M\Yrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kti9+ti9+t vkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kti9+ti9+t :onPubjC{|oGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kti9+ti9+t  Ñѭ^UQCYrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kti9+ti9+t ?q_respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kti9+ti9+t ,|[l$FNK\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AssignmentRoute.kti9+ti9+t _5:Z}9讹{Wrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kti9+ti9+t D ACRp2t06\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kti9+ti9+t o \KrZW\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kti9+ti9+t )ak ?R9ܤi_respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kti9+ti9+t صu1^`respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kti9+ti9+t "D |Ϫ4MXYwXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kti9+ti9+t (MdxXQT, T^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kti9+ti9+t d [ҙV"\RFr, [respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kti9+ti9+t rCan%0k&^respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kti9+ti9+t s7hpt [ 3?JWgRrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kti9+ti9+t S)  W|Urespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kti9+ti9+t o@Ij0pjVrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kti9+ti9+t i)ge8pwy\Mrespect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kti9+ti9+t *MS 1 rD &2respect-server/src/main/resources/application.confi9+ti9+t wp" nm(>-respect-server/src/main/resources/logback.xmli9+ti9+t \D va޸6respect-server/src/main/resources/openapi/openapi.yamli9+ti9+t O@KzhJ'Ig8)respect-server/well-known/assetlinks.jsoni9+Ai9+A 2ֿa{M8:G!respect-test-end-to-end/README.mdi9+Ai9+A (m 8}rʵ/]respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.mdi9+Ai9+A l{Z-Db8s?Trespect-test-end-to-end/test-description/001_002_add_user_direct_test_description.mdi9+Ai9+A  ?#I;w,d?\respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.mdi9+Ai9+A 29m7rC|eG70c{Orespect-test-end-to-end/test-description/002_browse_lessons_test_description.mdi9+Ai9+A L$Jų<@Bqkrespect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.mdi9+Ai9+A wDj`iG- Zrespect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.mdi9+Ai9+A ݄I?-}ͫsGbru`settings.gradle.ktsi9+Ai9+A W>KǙ,j#E+POJ0write-jenkins-build-info.shTREE_1168 27 mÌy`)>NKɪ.fleet1 0 G;ܼ,yʙHe)Tgradle3 1 =f575SRn|d:wrapper2 0 oꙭۆzWy5Zo.github3 1 M0A94t|ISSUE_TEMPLATE3 0 Ruj Ar[]?q.maestro27 2 @bCU7b{iflows15 2 3\&)X>xscripts3 0 At J\m!subflows6 0 )=9Vc(flow-passkey11 2 s361Uo\Ywscripts3 0 At J\m!subflows7 0 GlwqVb܃Mu3PWzcomposeApp2 1 %w8Ud osrc2 1 J] k07Nܕ9desktopMain2 1 +,6ZJcxHgLresources2 1 4:hF#t@$8 ҁGimg2 0 'df$(respect-cli3 1 Hɽ 2ՠ]^src1 1 HW wnO>(M2main1 1 :KamOQ,6java1 1 k;+uT0k@world1 1 IACVSw`N=fۺrespect1 1 9YY%zm8clitools1 0 "Ʋl~ G"V2`\/$r$ 1Csrc33 1 [ږHObPimain33 2 Dea,N7Mkotlin30 1 tHUa 6(PPworld30 1 }o~NgKe&%Vw7respect30 1 Icltt6^zZPserver30 4  5I;Y݈=%util4 1 C8X=Hh@ext4 0 '|ZgC\W"|domain2 1 i&4ŏSschool2 1 |j3N A~cꞼMadd2 0 o3+wmE/W&."nroutes17 3 cgY$eAmschool10 1 \ZBm6.hѢrespect-lib-test3 1 f? rtjn">src1 1 ǛV{]Ծ 2jvmMain1 1 ,HhZbgܓ#9nkotlin1 1 pV@=2Hworld1 1 _L`v]respect1 1 9J?ۑ^ylib1 1 -$= | B,utest1 1 9$vw $$gclientservertest1 0 GKwmcHm9)respect-lib-util19 1 sjE|?N@pz_libutil4 1 KlU@{iI t>„Nutil3 1 ]cض5+0L!*:4util3 1 U ?&Dtime1 0 mY B;FUrespect-datalayer125 1 WlobCEYRؚ94O dustadmobile107 1 *mV܃rulibcache107 16 n 7;Ϸdb26 3 /aZnf b\sdao9 0 K-!3y)entities11 0 ̂,P[CAnCcomposites1 0 BkŠ&t:an io6 0 A$8.w'3md53 0 )53RbnҼdate1 0 :''ϩ'LAutil4 0 6oOܭfػXbase641 0 !yT}mbroLokhttp6 0 \R^P@;f mheaders6 0 0ɒ盫cCwկH logging2 0 l.Y]H0cfCpartial2 0 '§ {VD~response6 0 Wa_"$\]integrity1 0 ٫#*ӧdownloader9 0 H~MY :٠Kdistributed11 2 WqE> /I'!(@http1 0 ٓj}IartGFTmodel6 0 cۯf`~cachecontrol9 0 u3{t7sconnectivitymonitor1 0 ȵ!& 4[>q|androidMain14 1 hl8tH#Zq kotlin13 1 V1RmZŒ&0mcom13 1 OOѻ, ustadmobile13 1 - ~bV libcache13 6 xuJ3Qr) md52 0 oA6h,sdkTAbase641 0 Ԗp?9El] webview1 0 [˴%uw4#3\downloader5 0 .xlMzZx"+pdistributed2 0 0Ya9Iv%C+݈connectivitymonitor1 0 v$&Jw.@schemas1 1 kjqu jԼFcom.ustadmobile.libcache.db.UstadCacheDb1 0 n,h&Λrespect-lib-shared299 1 !CΚTM8src298 5 Q 5G0jvmMain30 2 ->=%NO(/>/ kotlin27 1 Roc?!(world27 1 _UK̯Wָ"JKrespect27 1 ŨzvΥLVshared26 3 -F<67*}q`%a$qdi1 0 G E +[^ futil2 0 6y< ƗS]'Hdomain23 6 I/RJ5Ս`5cQopds6 1 yNA1p9(B{svalidator6 0 ܔOKI Bqaccount7 4 2,#Bʓ֛vҜinvite1 0 P~$[4zNQV͊b1passkey4 0 ƕ"=]Kiӳvalidateauth1 0 `D$#?BWaauthwithpassword1 0 [z}:q7}miLvalidator3 0 `MR,~hh"getfavicons1 0 ~1+*bgi!rphonenumber5 0 SN\JvB+󟺲respectappmanifest1 1 ?s;Yz& rvalidator1 0 pn{\We,\ݔresources3 1 B|u2@+Lworld2 1 ZHe)*i a⛁respect2 1 —jHEtdomain2 1 %FUyyr\validator2 0 8Ox[1RjvmTest47 2 <:<,/.Y*)kotlin11 1 2= F*l<_5qworld11 1 rn=gJq*!DϦ;IWrespect11 3 ;yI֏?domain5 3 2f'_u zaccount2 2 )0/cN-owinvite1 0 k8ِˏ%x)passkey1 0 vuH tm[Yvalidator2 0 ʌa&h^Evalidateemail1 0 ~lFAҩfPshared3 2 m<%|XݵWtjtGutil2 1 Cn qq5di2 0 +<}uf2n RKwZdomain1 1 c5P>5*d$nJaccount1 0 3ц8Datestutil2 0 o%bŔ]a]resources36 1 ǑꯔyNE7fʡworld36 1 U­!TG2^YlbLrespect36 1 }(mQiXE']Nvalidator36 4 ;N؏t,(̥Ycase_valid10 1 r݅E5OTograde17 1 Ut򃀉NmYJlesson0016 0 -p6<``S/rHcase_no_resources_in_manifest10 1 ҆ ^g}*COgrade17 1 Nr h2i󐫸r2lesson0016 0 YG;ildcase_manifest_not_discoverable10 1 ?\)pK;|;grade17 1 O{ x 'lesson0016 0 G)›aJ1çRmcase_manifest_resources_do_not_exist6 1 "1ycfL*hgrade13 1 < -IDMElesson0012 0 Ws^*:uQLԬdcommonMain191 3 ڄIV`GUT|?kotlin186 1 !bZM_}Y+Pd!world186 1 w^aQF5shared183 7 /AܭHbʜI>5ext4 0 [% hh&u"Akutil25 3 ks(bz4di3 0 Ө]T ~ext11 0 b#lWQ exception1 0 g &fFCbdomain82 18 )6XV[PA%HW opds1 1 s9Jh:Nvalidator1 0 3/h"鋵j< report12 4 ؇mRr{j|ext1 0 Stֆ>,u6imodel1 0 !*]"^query4 0 :醼èfפyZ8Zaformatter6 0 fu~h\t1 Asschool3 0 71}|I f$account37 10 Sd6@ Zchild2 0 Mx!ޑ= gVhwinvite7 0 =:8`<"signup1 0 k߶e|lu5B passkey9 0 tS >J^8_username4 2 /F.;yWQfilterusername1 0 ӷ`wbqk϶validateusername1 0 LZvT92:hٙ,^Fvalidatepassword1 0 P#!2 ǎauthenticatepassword1 0 aBf*sstorage3 0 q}`})C6ۙB-licenses2 1 _@k/>w,wwGmodel2 0 /T@c}%0vpihclipboard1 0 ^>d>Ըj :@Alaunchapp1 0 D,bLiQM!nvalidator6 0 j,VVUQponboarding1 0 a,ESy4eəWV@getfavicons1 0 px؉h|I'getwarnings1 0 ξj7݂(WljOphonenumber6 0 9U JqDfuqDgetdeviceinfo2 0 eC!#窛 +ۨϸvalidateemail1 0 Yu_9$Ufappversioninfo1 0 |?׆|aI۶usagereporting2 0 ]B0+mR?respectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 Ńh_!ig resources1 0 D 2pviewmodel61 12 #s[&a:Dw QAapp12 1 m˼O@c p{appstate12 0 ET`4ZaXzfapps4 4 k,JgOn0list1 0 ]ܭ\ >~I6aV^detail1 0 >Md'/E;launcher1 0 L9-hzwenterlink1 0 Ћ6w 9clazz3 3 VMp8cHCedit1 0 \YU?Xh<list1 0 Ceqrp6detail1 0 SBԏw2Lnperson7 7 L!#F 7T$5w墝edit1 0 jA&mں%Цlist1 0 ` %wŒa;kMPeqdetail1 0 V4NJ)%x ˖ xpasskeylist1 0 -}"%pdgs manageaccount1 0 R4)m**^?changepassword1 0 u l'X lwnsetusernameandpassword1 0 o#XGBE pwreport9 5 nlcd ޵̜p#.edit1 0 `AȒPelist2 0 pʫnl&CXdetail1 0 c wUindictor3 3 C8yhapcV.edit1 0 G(L 2}aIX)dyKlist1 0 T=@? n9i`CR*detail1 0 lk5H?P"ukfilteredit1 0 F"Xm2;-@8^}assignment3 3 dubS(,>edit1 0 Q Ѝ/\Y/ L glist1 0 ña+Rodetail1 0 IGDGu9hmanageuser14 13 ʁ)hza|ɭ8 ޖlogin1 0 y)NA,signup1 0 X4#2list1 0 > Xٷacknowledgement1 0 R=W/Ņ1hnschooldirectory2 2  T̽œ0zxkSedit1 0 ά!P &"IIvŧlist1 0 .T1;c{navigation9 0 D,zKCsIߙstorage3 0 5=>ˍN\C'ܭ.clipboard1 0  }Hc(launchapp1 0 5_D9wU`< ;getwarnings1 0 '@jqGPphonenumber5 0 ͗+5( getdeviceinfo1 0 1GP+۪+CfFyq(appversioninfo1 0 2͌>xbUjusagereporting2 0 1NwHH5Vresources1 1 }q VR directories1 0 \Z"?@gJZ{L\Rؿrespect-lib-xxhash7 1 N-rsYhKsrc6 1 }cAѵdgIy JcommonMain6 1 AB? a![c1kotlin6 1 %>z~ 4I7Dworld6 1 \.PpoHrespect6 1 ϓٙ+7Ced"Ȭlibxxhash6 1 ŃD Ҿ*Hclazz3 3 C*O=pA۫tSBedit1 0 ȶ$9 *\%list1 0 ?%[`detail1 0 fm0uϚAxD{person7 7 R&H[HU̗ ?edit1 0 z>`ԝ׫|list1 0 - (uF$jchangepassword1 0 Q䉟84n'$setusernameandpassword1 0 g%opԸ q:b report9 6 QC@"˜edit1 0 _iRp_)list2 0 uՂߪ}ːӨ8"graph1 0 `MA,D[ddetail1 0 Qk(B| ͖indicator3 3 g7TtRp."edit1 0 M*xxi?e%detail1 0 >AT+*vca]filteredit1 0 j5<~/a8[:assignment3 3 Oz8'g%Hqedit1 0 :`OU/G_Flist1 0 Ƶ,U=Z detail1 0 l$ۥ7c"[r\XiPmanageuser14 13 +ـHlmQ 8F'1Jlogin1 0 LJP9!signup1 0 1tY=.˧鳻/getstarted1 0 3wUZ%+0+accountlist2 0 \э̨{ʡ,otheroption1 0 a"app6 3 ^QSE|NzLy6r[app1 0 eV tn{§util2 1 ۄfG3V=zphonenum2 0 G հ͜components3 1 A%{ӑseŸwebview1 0 `GOD \#"Zimages1 0 ٔ`Ȗl'C~callback1 0 hte?Yocredentials9 2 군)l'g5passkey7 0 VGHZeys password2 0 b8 Zu2ߗ|desktopMain8 2 _ % U-(iDkotlin7 1 I0dFwW#t N78(world7 1 z]D6respect7 2 hp-&>~ˣapp5 3 NB{=RşF:Qapp1 0 [pO= XNRutil2 1 ž 8@OFphonenum2 0 y9_*8L~%components2 0 % 9Jd`𗭪I.images1 0 n`[z-zresources1 0 ɾ`EK:#ke=respect-credentials31 1 J(1 gp2k鐒asrc28 2 @^WT u 9:;main1 0 VrhSseN9Q lcommonMain27 1 S{/_Bkotlin27 1 V~'B~ZQ@my֌?world27 1 2 *8=1r9*respect27 1 nkˎ.ڧWBdtcredentials27 1 <%ZI+ school51 4 Lv.6%1UYdaos14 0 jݸaz_,madapters10 0 Mֆ(p8jQ}dW?Zentities16 0 s7WmM.k3qx/writequeue1 0 ƃ" WYG`xshared12 4 hؾy@dmext3 0 Xey;#ytdaos1 0 ZP9tZQeyJJadapters3 0 -r]AFR< entities3 0 GԍUB[rUo"Hscompatibleapps6 3 vHY =|lmedaos2 0 X8 nHlqcW?"adapters1 0 #]>Lzumentities2 0 XdX j5䤴xschooldirectory13 4 t n˱Qi)ext1 0 %ok' %daos4 0 vih$h"uHadapters2 0 wE{j @0tC@\xentities4 0 Z#c`>?networkvalidation3 2 `.Z9[񷏉daos1 0 ,hK ]V[w2[&entities1 0 %Lu"gT9src18 1 >XC68P[\ 5commonMain18 1 RfX& Pv2kotlin18 1 $XH [ދ,pmfworld18 1 px =څ>#>Wrespect18 1 bT"2?V2Rdatalayer18 1 YA&YލmIn*]ehttp18 7 U̦Bw{#Zext3 0 !)8QZǀf&opds1 0 P78lri?7KYschool8 0 4Y4̵|+k%ݢ~shared1 1 -x&8oaj\mxpaging1 0 Mf$!Y[vheaders1 1 )Rk^.<\F:"directives1 0 {,Z!qK compatibleapps1 0 EX4&<#0:ustadmobile1 1 X;}g;By(ihttp1 1 #dYVy@,sJiext1 0 3OR)nge?$GL jvmMain1 1 mQuA(䯭#94e1ۨm鬳^Austadmobile26 1 ?1IV_X%Bihttp26 4 SZou.Cext4 0 yHi4Io/0]cs>headers13 1 %̯'ڑGCG䂳directives1 0 ysn! 1TM Eꆯrequest6 0 [Pkotlin1 1 MEg:潰fKKqcom1 1 =P`Vu6ustadmobile1 1 HY wv~ihttp1 1 '-[=ݫ@jext1 0 c^lvI ށrespect-lib-opds-model20 1 dILβHHsrc18 1 ;7a+commonMain18 1 (. ^ Lm8Jkotlin18 1 'Ee.PsBIm`world18 1 *z>h73;respect18 1 ?,#'GKC`2lib18 1 $ RHIm>)ցopds18 1 d+6krqv& model18 0 #!}D' [Crespect-lib-serializers9 1 6W_@^ 1 Ssrc7 1 0l?;.?g!0D>commonMain7 1 3veĥ_M7##S?kotlin7 1 вXTB#zworld7 1 Ǽpz{Z2WfOrespect7 1 tQgQb鍩s"Cclib7 1 t`x}uL .[serializers7 0 @/fǁX>q{respect-test-end-to-end7 1 oG Hٻt#"{test-description6 0 JINOsv.Λ respect-lib-ihttp-okhttp11 1 5ƀմpqi7bsrc7 1 ox5x v7QmcommonMain7 1 ٴakuhiw72?kotlin6 1 q1{]I8}com6 1 %;n4x*ɍustadmobile6 1 =V@}lbJG7\i ihttp6 1 ב[H%3mDokhttp6 3 iǟqe6_Q)headers2 0 L)9:o Z request2 0 D)YLresponse2 0 I20]":=jfarespect-lib-primarykeygen7 1 ؗʡ񔍈.dg isrc6 4 kܭ2L_ՄjvmMain1 1 ] w,U%,5*Ikotlin1 1 ׼->[jGhzkkworld1 1 2v x8u2urespect1 1 H>DAȉK#M9/,_jvmTest1 1 ; xKC[?[kotlin1 1 n8J _oKpworld1 1 cvMprespect1 1 ͠V\-w_Tn-])lib1 1 Kmnڭ?L_]primarykeygen1 0 nYc/9u commonMain3 1 LN_ʺ"K^H{lkotlin3 1 ԛnAE9|4xmworld3 1 uGq)UAHrespect3 1 ׇpH5j'-<~Tlib3 1 #bNZ" primarykeygen3 1 V{r5vMlext1 0 í&~M$^3WandroidMain1 1 ߶nt7GFD•gkotlin1 1 Sߏ2world1 1 q*W ?MFԄrespect1 1 E7nc_'u3zd>alib1 1 ~7g!1v< H:primarykeygen1 0 NV?sv}respect-lib-ihttp-iostreams5 1 ߣAY8bGsrc2 1 >VnS,Xg tvcommonMain2 1 ]IPA`%=`kotlin2 1 h{MhEDO;)eg䏵com2 1 Q,Pʾ]9ustadmobile2 1 Z 3#+afžfUihttp2 1 ܦ7ҸC z2N#uiostreams2 0 OHr^&m6respect-lib-ihttp-nanohttpd4 1 X)1 l_ڷ%8src2 1 L3v 둄qcommonMain2 1 R ce? kotlin2 1 B0Ee! }com2 1 L0 yc΄FOustadmobile2 1 VٽI*t95ihttp2 1 QF7a}å2E nanohttpd2 0 !n($ȋӪH 45]S>respect-datalayer-repository30 1 T+r؛whƏ%+src28 3 /wT 'Ҍd%VjvmTest6 2 R#J(aeӀ/Rkotlin3 1 /9djAuJP?world3 1 زHr!nk!Swritequeue1 0 J[>51ra|Rlshared5 1 i MAJBpaging5 0 (nPhWǴPOqcompatibleapps1 0 Aeo5 dRschooldirectory1 0 7l舨\?IIU֌dandroidMain2 1 O>u!)ALkotlin2 1 29|pN0/9world2 1 90o h܏?ӜgVXrespect2 1 ^'A9k8!datalayer2 1 72ה=ڦvWrepository2 1 J+> 8L=z ӂ@Ҕschool2 1 i\A H]٭򰾈zngwritequeue2 0 =o{\X!k_qFzjc֔=|* G h