DIRCi0~hi0~h  mIL%ʹh ,.fleet/receipt.jsoni0~hi0~h  h |*X0h?$׿e}$.github/ISSUE_TEMPLATE/bug_report.mdi0~hi0~h  S˾}aU zc|'m0).github/ISSUE_TEMPLATE/feature_request.mdi0~hi0~h  W_>f9L3l>5)%#.github/ISSUE_TEMPLATE/task_card.mdi0~hi0~h  6vȟ"=t(B .gitignorei0~hi0~h  'JU(r;).maestro/README.mdipA(-5ipA(-5 rex?]66ǁ0=.maestro/flow-passkey/006_user_signup_using_passkey_test.yamli0~hi0~h   {kbn N,.maestro/flow-passkey/scripts/school_init.jsipA(-5ipA(-5 P"B(VQ(.maestro/flow-passkey/scripts/setDate.jsi0~hi0~h  P21AUKq†).maestro/flow-passkey/scripts/teardown.jsi0~hi0~h  !hg Ah>pH'ZO9.maestro/flow-passkey/subflows/choose_passkey_prompt.yamli0~hi0~h  "em{eSv@.maestro/flow-passkey/subflows/choose_passkey_prompt_cancel.yamli0~hi0~h  #wոg?0-oB.maestro/flow-passkey/subflows/create_passkey_to_sign_in_flow.yamli0~hi0~h  $ aiFu;?DE.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yamli0?i0?  1 {kbn N%.maestro/flows/scripts/school_init.jsi0?i0?  2P"B(VQ!.maestro/flows/scripts/setDate.jsi0?i0?  3P21AUKq†".maestro/flows/scripts/teardown.jsipA(-5ipA(-5  O dH>]]w`>)6.maestro/flows/subflows/admin_add_app_and_teacher.yamli0?i0?  6 aiF.maestro/flows/subflows/get_started_select_school_by_name.yamli0?i0?  7s d8q5a-IYs5.maestro/flows/subflows/launch_clear_and_set_dir.yamli0?i0?  8]˵ }3da8.maestro/flows/subflows/save_password_prompt_cancel.yamli0?i0?  9z?7_4.maestro/flows/subflows/school_admin_login_flow.yamli0?i0?  :v|zrB!,/yd(.maestro/flows/subflows/school_init.yamli0?i0?  ; VHn OޕARCHITECTURE.mdi0?i0?  <|5E%\qㅷDESIGN_GUIDELINES.mdi0?i0?  = ]R?rCRLICENSEi0?i0?  > z J*xoM9 README.mdi0?i0?  ?Hae@YYbuild.gradle.ktsi0?i0?  @/Z'}'z&H6ci-run-maestro.shi0?i0?  A!t%SN,^[#Aci-run-test-server.shi0?i0?  G7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pngi0yi0y  H5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pngi0yi0y  IS2;Vȱ/vZBgradle.propertiesi0yi0y  K+;k/@jdfzJgradle/libs.versions.tomli0yi0y  M,5!}|EC %!gradle/wrapper/gradle-wrapper.jari0yi0y  NGv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertiesipA(-5ipA(-5 ":mkkZ&BGtgradlewi0yi0y  P 8!4\'{[*n gradlew.bati0yi0y  R}rs_h\@"respect-app-compose/README.mdi0yi0y  S pX[RS3}YwJ$respect-app-compose/build.gradle.ktsi0yi0y  THV/$"s{WIlI&respect-app-compose/proguard-rules.proi0yi0y  W ^BzoSìUQO!7respect-app-compose/src/androidMain/AndroidManifest.xmli0yi0y  [vTuԽ _#YOrespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kti0yi0y  \(R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.ktipA(-5ipA(-5  {rD)|Ж7$Irespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kti0yi0y  ^Lҏi:[Mr!Hrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kti0yi0y  _ pfW36n7Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kti0yi0y  ` bq<$0mp-59Krespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kti0yi0y  c~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kti0yi0y  edQg4lCA&k2_respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kti0yi0y  fEZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kti0yi0y  h? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kti0.i0.  ks :_Tmfrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kti0.i0.  lZ2L ;u,˞y`respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kti0.i0.  nYDrR K;~F7::s_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kti0.i0.  qœC߬'|:urespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kti0.i0.  r LmuZ.sva;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmli0pi0p  4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webpi0pi0p  x}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webpi0pi0p  rMOĹUPBrespect-app-compose/src/androidMain/res/drawable/works_offline.pngi0pi0p  lVm^y)iW^hDrespect-app-compose/src/androidMain/res/layout/activity_web_view.xmli0pi0p  mO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmli0pi0p   Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmli0pi0p  aUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngi0pi0p   respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kti0ʳ'i0ʳ'   vy*/`:=98respect-app-compose/src/commonMain/kotlin/theme/Theme.kti0ʳ'i0ʳ'  ̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kti0ʳ'i0ʳ'  "Bނ1x\ۨXQ Frespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kti0ʳ'i0ʳ'  #[sGe35 )\OIrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kti0ʳ'i0ʳ'  l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.ktipA(-5ipA(-5 !Y֦PgڷMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kti0bi0b  kAv bxr>$6QTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kti0bi0b  >G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kti0bi0b  `:7q=-QjVrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kti0bi0b   ZX3-m-Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kti0bi0b  4':o'Ln[`respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kti0bi0b   ܭ8-{2@0GA0arespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kti0bi0b  AF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kti0bi0b  A詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kti0bi0b  EfZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kti0bi0b  \&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.ktipA(^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kti0bi0b  tSBɘFa%Wn]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kti0bi0b  כּ:@ 秐]zerespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kti0bi0b  - 9}dA^qR_Kbrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kti0bi0b  HH%׀4hJ٩s_^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kti0bi0b  07"nZޟ4erespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kti07i07  ^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kti07i07  6(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kti07i07  Eu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kti07i07   ΂(_{[.*$%xgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kti07i07  EGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kti07i07  oj]X"vWE]respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kti07i07  ݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kti07i07  )|^a.Lltܷfrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kti07i07  co hrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kti07i07 rt䒯\ENhhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.ktipA(m"ٜlrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kti0yi0y  (ٞfD .BۭVijrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.ktipA(nrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.ktipA({ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kti1i1 D[O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kti1i1 F.{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kti1Ji1J H(-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kti1Ji1J K%i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kti1Ji1J M >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kti1Ji1J O i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kti1Ji1J Q ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kti1Ji1J R"WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kti1Ji1J U $ |OPݺ3F|bhQrrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kti1Ji1J W s$eoz4rrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kti1Ji1J Y (ܘo@ q@"NSwNrespect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kti1Ji1J ]ۤo4^ۮIGlVrespect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kti1Ji1J d^HDetI+\{YSrespect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kti1Ji1J fT_0 ? Q4!_respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kti1Ji1J g0A i/VvI3Qkrespect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kti1Ji1J jA >E.ԥVP$-4.frespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kti1Ji1J kZ2L ;u,˞y`respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kti1Ji1J mdl%'f+QWrespect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kti1Ji1J nk״YU:K.SA@respect-app-compose/src/desktopMain/kotlin/world/respect/main.kti1Ji1J p;D-tstoB>respect-app-compose/src/desktopMain/resources/sample-feed.jsoni1&@i1&@ rB*18LyqzK}respect-cli/.gitignorei1&@i1&@ sRz$oG]%Frespect-cli/build.gradle.ktsi1&@i1&@ zK я}z Hcr2>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kti1&@i1&@ |B*18LyqzK}respect-credentials/.gitignorei1&@i1&@ }) o{r0{Ö$respect-credentials/build.gradle.ktsi1&@i1&@ ~H4Ayף gm4K &respect-credentials/proguard-rules.proi1&@i1&@ HDQi2O ~QͯHirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kti1&@i1&@ ~"qP;Bu͍crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kti1&@i1&@ ߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kti1&@i1&@ ʿ=\Ӱ Q/p%Fa`respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kti1&@i1&@ m^`x۶޿ `respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kti1&@i1&@ XJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kti1&@i1&@ 37<(glOgrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kti1&@i1&@ 76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kti1&@i1&@ ⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kti1&@i1&@ 'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kti1&@i1&@ j;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kti1&@i1&@ 9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kti1&@i1&@ Of6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kti1&@i1&@ ȱc'x"[hrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kti1&@i1&@ RH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kti1&@i1&@ 1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kti1&@i1&@ _ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kti1&@i1&@ oRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kti1&@i1&@ MKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kti1&@i1&@ +@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kti1&@i1&@ FǚUV`;Gnkrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kti1&@i1&@  Ҵ {\!W0p$z{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kti1&@i1&@ Rs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kti1&@i1&@ VXA;DҔ#nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kti1&@i1&@ g\r}ft$9nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kti15i15 oޚ bi=?trespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kti15i15 ]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kti15i15 r0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmli15i15 j(>i;F6?[brespect-datalayer-db/README.mdi15i15 q./,CB4B|y!%respect-datalayer-db/build.gradle.ktsi15i15 nAr) BnWwێQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsoni15i15 f"%|7ws6A<@Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.jsoni15i15 ;uP,T~v0~a-Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsoni15i15 %Cx?OSrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.jsoni15i15 PMxPD/KTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsoni15i15 PǾ0ۧ^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kti1Di1D ב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kti1Di1D RlQ`>1I၎Tsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kti1Di1D ǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kti1Di1D  ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kti1Di1D  iHoD&$ Rg%u՝ALrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kti1Di1D ym7w^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kti1Di1D Y'xW\respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsParentType.kti1Di1D QhTdy@Q`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsTypeConverters.kti1Di1D rˀmt@ L`S͋_grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFacetAdapter.kti1Di1D FRke3>frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kti1Di1D  2dTYKǫtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedMetadataEntityAdapter.kti1Di1D a*-ftz}{,@grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kti1Di1D Њ4cIiqW$Lsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kti1Di1D dzdB!nPәjqorespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumLinkEntityAdapter.kti1Di1D  VA;$8 "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kti1T3i1T3 2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kti1T3i1T3 Ԋu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kti1T3i1T3 *ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kti1T3i1T3 s%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kti1T3i1T3 ;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kti1T3i1T3  ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kti1T3i1T3 ? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kti1T3i1T3 Pd?!7r frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kti1T3i1T3 RPbd[r?A=ڍarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.ktipA(KipA(K 1\u5έ:LIӡ&ʕfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kti1T3i1T3  YXN>v{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.ktipA(KipA(K 2wD2l+Tﯥbrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kti1T3i1T3  N﹎b-irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kti1T3i1T3  -O gvKq4tjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kti1T3i1T3  ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kti1T3i1T3  |ivl`}BQtBerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kti1T3i1T3  .>[6 ip,˕drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kti1T3i1T3  V;.-p6 ~,I*,jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kti1T3i1T3 +}FHT\I7J҃irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kti1T3i1T3 {fabe0lerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.ktipA(KipA(K 3uGR8Ƽi;lxjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kti1T3i1T3  1Ãr)%O(QHfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kti1T3i1T3 ߌFCZ)Q4xmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kti1T3i1T3 DM3b;~.tnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kti1T3i1T3 $oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kti1T3i1T3 "JeSp'~U*m5irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kti1T3i1T3 DW\Fg2EOv{nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kti1T3i1T3  I'!ߔf-,^]esrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentAssigneeRefEntityDao.kti1T3i1T3  O0tڲٞ3hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentEntityDao.kti1T3i1T3  iottk L?{respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kti1T3i1T3  &(Us;# ξǕVGgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kti1T3i1T3   "d6B.agbg{crespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.ktipA(KipA(K 4u1e*1*;!s(Rhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kti1cImi1cIm [ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kti1cImi1cIm ߇ɋS 2YEdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kti1cImi1cIm gA!5Alrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kti1cImi1cIm W%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kti1cImi1cIm =fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kti1cImi1cIm >%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kti1cImi1cIm {n~ci&]j Rgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kti1cImi1cIm n-%`na+V{_flrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kti1cImi1cIm orPJrqtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentAssigneeRefEntity.kti1cImi1cIm ~`KS!n rZirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.kti1cImi1cIm  tD{R=h|respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kti1cImi1cIm Y7Lgu/'hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kti1cImi1cIm 554#ZDdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.ktipA(KipA(K 5Iv;pE;J AVRܵmirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kti1cImi1cIm 9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kti1cImi1cIm I>?Nerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kti1cImi1cIm  KDDo+POT:v/+nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kti1cImi1cIm !9KHVWS1L Qlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kti1cImi1cIm ", fAvڱבmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kti1cImi1cIm #FT$ļեPcw3rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kti1cImi1cIm $cdGh>E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kti1cImi1cIm %$lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kti1cImi1cIm &ȫZ:/At(Mhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kti1cImi1cIm '0Y™ږOp+mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kti1cImi1cIm )Sji?-ǁ*;;L[["V`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kti1ri1r @>-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kti1ri1r A UǟzΆFgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kti1ri1r Bk#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kti1ri1r DK+CVYєQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kti1ri1r F>[>+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kti1i1 t/VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kti1i1 v2HXv?oϏ/ ߄drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kti1i1 x#0jv 3m~0ާVTSlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kti1i1 y$ Xh=fJTgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.ktipA(KipA(K 6:[ E=Mq Ur!lrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.ktipA(KipA(K 73arÅq{V3lhrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kti1i1 | _9Fporespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kti1i1 } `s|Dn.s+Ɏ`%prespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kti1i1 ~zp ru3iӰtPkrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kti1i1 $In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kti1i1  m_?%J,R&Kmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.ktipA(KipA(K 80[뺂>m>e]1مvrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kti1i1 sjűG3s.wKZ&respect-datalayer-repository/README.mdi1i1  ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktsi1i1 y<Ʊ?<\rerespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kti1i1 M9;FpU/respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kti1i1 CBŜ{ضdx3>]_wrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kti1i1 ⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kti1i1 c2g-2!Zŏsrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kti1i1  -HhKp' D1ɬ>Irespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kti1i1 Is+.j#NJGWUvrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.ktipA(KipA(K 9 W^{~zp5 1~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.ktipA(KipA(K : jO,[&yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.ktipA(KipA(K ; de&SkIoz ~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.ktipA(KipA(K <vYX I:l! zrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kti1i1 V?5A9[i48 6Xrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kti1i1  Nb~)h(ng1wy&e respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kti1i1 />P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.ktipA(KipA(K = !礫a; IX-O}respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kti1i1 mkɪ ^?A1nK-respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kti1i1 x=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kti1i1 '`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kti1i1 9Swbl5: vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kti1i1 %[{a2_yܒ&vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.ktipA(KipA(K >` lyeq jrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.ktipA(KipA(K ?i۟w\|3!\!respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kti1RVi1RV  t]*SYV$U xrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kti1RVi1RV =VV{s*fG:Frespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kti1RVi1RV *-暲J,/Υ|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kti1RVi1RV vO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmli1RVi1RV Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsoni1RVi1RV 0^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsoni1RVi1RV B*18LyqzK}respect-datalayer/.gitignorei1RVi1RV ̹5I=xGV$ߺrIrespect-datalayer/README.mdi1RVi1RV }8M"q_^X"respect-datalayer/build.gradle.ktsi1RVi1RV yha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmli1RVi1RV B MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kti1RVi1RV TݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kti1RVi1RV ۉEhoUF[O%qSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kti1RVi1RV ܾMkPzqNURrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kti1RVi1RV j Ncʤ%ҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kti1i1  yVNrhmufk(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kti1i1 u;\Y h1lWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kti1i1 F,qWz|}$KY:[ Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kti1i1 ~Nm`i)wTrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kti1i1 w>'1dBC^8 Urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kti1i1 ZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kti1i1 `p]:Vw1Y8>^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kti1i1 ''MyL*n3<srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kti1i1 @qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kti1i1 ?+%>~r?pE>¦jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kti1i1 UcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kti1i1 6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kti1i1 nÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kti1i1 eQЋ5X}١x˜carespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kti1i1 K!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kti1i1 hS]2GFrZfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kti1i1 ^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kti1i1 wŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kti1i1 ׄ:ZǔjnŌ*frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kti1i1 ˀ񫒣?`$4krespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kti1i1 p\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kti1i1 n̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kti1i1 _we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kti1i1 :w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kti1i1 N K%u\h'#+Ca`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kti1i1 K-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kti1i1 v8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kti1i1 CV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kti1i1 =]K2jVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kti1i1 ^^^$q~mvИrN[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kti1i1  SiBͨXk2(xKtb p(Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kti1i1 ((iܡ䧞_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kti1i1  ތ(fnxn*,&arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kti1i1 ` 阚㹛@ufrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kti1i1 Ĵp#MF _brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kti1i1 \*rjn(ZawHqerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kti1i1 uwglGaMϔ|grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kti1i1  ])9hV/oO&8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kti1i1 !7u?1^0ZR_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kti1i1 "< {GcqTաq1;]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kti1i1 #Kk}k@-^V4]fbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kti1i1 %8i|%xGܟarespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kti1i1 &F?~]D'#JBT\grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kti1i1 (*#aRK\.#Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.kti1i1 )a *v"F.mUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kti1i1 . ́̾Z\qZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kti1i1 /1{"&/1E Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kti1i1 0hi+Yz]tdbbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kti1i1 1Q݆mLBxזb{Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kti1i1 2f~ ujEVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kti1i1 3xԿCz'Y/>`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kti1i1 4/2ku`q]Y{aq\]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kti1i1 5tR%[ Jhq3g#eӏ^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kti1i1 6.45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kti1i1 7x?e҆Y5^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kti1i1 8 [bᕌ.`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kti1i1 9Jw"+zT%Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kti1i1 :Լ ܕY}Z CvrgYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kti1i1 ;XS^2. W9~W2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kti1i1 =re ga~6q@0lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kti1i1 ?yB D;.+P(lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kti1i1 KEU}imqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kti1i1 L½NZo49Zr`I ?qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kti1i1 M)4x1y'{qvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.ktipA(KipA(K @vЉ+\ߘgQ Z^VWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kti1i1 OVa qe^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kti1i1 P# >#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kti1[?i1[? QDGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kti1[?i1[? RQd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kti1[?i1[? Sw-bt=lxA20Su)\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kti1[?i1[? T)g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kti1[?i1[? VrCq 䢴" jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kti1[?i1[? Wcʥjr<drespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.ktipA(ZLipA(ZL APjzE_D)rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kti1[?i1[? YƿcjщUObrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kti1[?i1[? ZLw\Fieirespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.ktipA(ZLipA(ZL B/͢azmcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kti1[?i1[? \jG _Dq?ncbPerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kti1[?i1[? ]Lp:RYμ0eIG^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.ktipA(ZLipA(ZL Co/s=J**|ۿbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.ktipA(ZLipA(ZL D" G,4^n %k`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kti1[?i1[? _3OR'K5=ތWjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kti1[?i1[? a]8;8V]&"Ldrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kti1[?i1[? cB*18LyqzK}respect-lib-cache/.gitignorei1[?i1[? d X'i&RI@DUrespect-lib-cache/README.mdi1[?i1[? e L"^ 8b/"respect-lib-cache/build.gradle.ktsi1[?i1[? h>gҎkJi-&)L8S&UJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsoni1[?i1[? kJ=A w]!.?5respect-lib-cache/src/androidMain/AndroidManifest.xmli1[?i1[? pvOCW o.dɗVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti1[?i1[? r_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti1[?i1[? t.6Mr_΋V*Y7Bsrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kti1[?i1[? v%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kti1[?i1[? wĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kti1[?i1[? yU)تux=Mo!9brespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kti1[?i1[? zan_y?c"_zrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kti1[?i1[? {OSdnJ[& sP܅srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kti1[?i1[? |(1EUHV`'5$rrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kti1yi1y }*Lxv`Puz~,krespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kti1yi1y 9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kti1yi1y j7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti1yi1y Iz^=v#1Yم`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kti1yi1y ${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kti1yi1y <ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kti1yi1y oz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kti1yi1y L ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kti1yi1y :,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kti1yi1y m۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kti1yi1y \ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kti1yi1y `vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kti1yi1y f]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kti1yi1y 1A$Ac#5Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kti1yi1y K*DZ& ,)Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kti1yi1y  9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kti1yi1y F)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kti1yi1y W¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti1yi1y ;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kti1yi1y TU|gB{1ۑd]g\\c]Apkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kti1yi1y  M[x_ܫ`Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kti1yi1y >t?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kti1߳i1߳ f0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kti1߳i1߳ _Yz񚛦b#Wrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kti1߳i1߳  xN4DHiGntZGSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kti1߳i1߳ YPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kti1߳i1߳ Mt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kti1߳i1߳  aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kti1߳i1߳ c) )Iӽ=o=UzLYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kti1߳i1߳  "T~+?M]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kti1߳i1߳  i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kti1߳i1߳ jׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kti1߳i1߳ (y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kti1߳i1߳ hz: E ˜s ș_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kti1߳i1߳ ᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kti1߳i1߳ [pSU㶭5[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kti1߳i1߳ 3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kti1߳i1߳ X +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kti1߳i1߳ 8Nt-tg)espect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kti1߳i1߳ uRc|Pc#Q5_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kti1߳i1߳ %d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kti1߳i1߳ XG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kti1߳i1߳ =9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kti1߳i1߳ 4w~ 6&ƕarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kti1߳i1߳ R+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kti1߳i1߳ (ȳo_wch+TM]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kti1߳i1߳ [r°ZؤC]n?erespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kti1߳i1߳ ~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kti1߳i1߳ D͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kti1߳i1߳ 7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kti1߳i1߳ qOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kti1߳i1߳ n3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kti1߳i1߳ clA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kti1߳i1߳ $^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kti1߳i1߳ bVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kti1߳i1߳ TtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kti1߳i1߳ Jd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kti1߳i1߳ %W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kti1߳i1߳ ~rdu -ñ{Ószrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kti1߳i1߳  ɮ^8.pkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kti2 !i2 ! Q@렽 oC8.Serespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kti2 !i2 ! WCmV0Ao:crespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kti2 !i2 ! QW","S+=rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kti2 !i2 ! ŜT\{+Rxudkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kti2 !i2 ! 󈻄ԙj.l<^_=krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kti2 !i2 ! m%фPOV< drespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kti2 !i2 ! }:0P3$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kti2 !i2 ! ڙBQsTo#Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kti2 !i2 ! Jh3"n=?N`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kti2 !i2 ! `0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kti2 !i2 ! y UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kti2 !i2 ! WԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kti2 !i2 ! Znb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kti2 !i2 ! :,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kti2 !i2 !  =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kti2d(i2d( &(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kti2d(i2d( 䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kti2d(i2d(  [aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kti2d(i2d(   ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kti2d(i2d(  $ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kti2d(i2d(   Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kti2d(i2d( ^B ==N=RdRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti2d(i2d( 7qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti2d(i2d( \xraBȪ6LSkrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kti2d(i2d( :`q.5rrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kti2d(i2d( fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti2d(i2d( 5c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kti2d(i2d( !pln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kti2d(i2d( "Dc>n'|(t*x]xRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kti2d(i2d( # 3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kti2d(i2d( % g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kti2d(i2d( &̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kti2d(i2d( (/'lj;6LWurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kti2d(i2d( *>$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kti2d(i2d( ,Dh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kti2d(i2d( .[6[k>Э<crespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kti2d(i2d( 0,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kti2d(i2d( 2d24iyBA|drespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kti2)bi2)b 3;ģ&M pwbarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kti2)bi2)b 5 ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kti2)bi2)b 7]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kti2)bi2)b 8֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kti2)bi2)b 9q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kti2)bi2)b : (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdi2H*i2H* LCDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsi2H*i2H* Tw-4OmSrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kti2H*i2H* `o;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kti2H*i2H* a` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kti2H*i2H* bɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kti2H*i2H* c#h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kti2H*i2H* dTP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kti2H*i2H* eAX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kti2H*i2H* fœ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kti2H*i2H* g?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kti2H*i2H* h=b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kti2H*i2H* iA4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kti2H*i2H* j Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kti2H*i2H* k9EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kti2Wmi2Wm m( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kti2Wmi2Wm o_&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kti2Wmi2Wm pE2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kti2Wmi2Wm q%^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kti2Wmi2Wm rS=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kti2Wmi2Wm sM&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kti2Wmi2Wm t$ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kti2Wmi2Wm vYW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kti2Wmi2Wm w>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kti2Wmi2Wm xs0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kti2Wmi2Wm  {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kti2Wmi2Wm 2.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kti2Wmi2Wm B*18LyqzK}&respect-lib-ihttp-iostreams/.gitignorei2Wmi2Wm Z% -blzmm%respect-lib-ihttp-iostreams/README.mdi2Wmi2Wm a5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsi2Wmi2Wm 恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kti2Wmi2Wm HAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kti2Wmi2Wm B*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignorei2Wmi2Wm 5JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsi2Wmi2Wm  7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kti2Wmi2Wm z:&KObrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kti2fKi2fK \#c$rw*krespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kti2fKi2fK  %:9~ww/"zI0\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kti2fKi2fK r4sH'0zG 88[respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kti2ui2u _;>40OC*respect-lib-primarykeygen/build.gradle.ktsi2ui2u  9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kti2ui2u ].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kti2ui2u 2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kti2ui2u ,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kti2ui2u > O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kti2ui2u bނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kti2ui2u 59c(-G$]kv!respect-lib-serializers/README.mdi2ui2u  FZ)@ ,\=K(respect-lib-serializers/build.gradle.ktsi23i23 Ӯס K;}5ܘw6/grespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kti23i23  ]ٳp|Rn'?brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kti23i23 |Xfk"U υtrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kti23i23 "rx^RE6]A_VNlcrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kti23i23 r[u{zղgrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kti23i23 i:v'M8Dϙ?Zrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kti23i23 [C&ZNo1/brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kti23i23 #X`E23 o#respect-lib-shared-se/README.mdi23i23 `_;63*5^ &respect-lib-shared-se/build.gradle.ktsi23i23 ",TSfd\l֔2respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kti23i23 HeR߲v'-:7#respect-lib-shared/build.gradle.ktsi2ui2u *H+=XQܢ35respect-lib-shared/src/androidMain/assets/aaguid.jsoni2ui2u n(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kti2ui2u !_^-Ea G.urespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kti2ui2u #?jM{gV)<*F"wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kti2ui2u %=I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kti2ui2u 'S3ArfElU jirrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kti2ui2u )h `A u}\v&nrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kti2ui2u + J#rK1jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kti2ui2u -vECJu{# Uvrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kti2ui2u .AVED*-&elrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kti24i24 /q_ N;7<".#gurespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kti24i24 0H>s5p(߼)1l%mrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kti24i24 1l 2 IIϲ'grespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kti24i24 3xE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kti24i24 5OMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kti24i24 6L4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kti24i24 7 Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kti24i24 9ԙٿY4p7U~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kti24i24 :׻_!^)FH'~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kti24i24 <YɪlEPK' ;+L2erespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kti24i24 ={>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kti24i24 ?֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kti24i24 BGH!M3G}'`%i`Krespect-lib-shared/src/androidMain/resources/directories/default.propertiesi24i24 F(˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmli24i24 G(yT{(Jwu> 4;),Erespect-lib-shared/src/commonMain/composeResources/drawable/empty.pngipA(ZLipA(ZL EUp%l3GqGErespect-lib-shared/src/commonMain/composeResources/values/strings.xmli2ni2n M3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kti2ni2n NFjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kti2ni2n Of뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kti2ni2n Rqq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kti2ni2n Umq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kti2ni2n VCB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kti2ni2n WZ)pq*Ƅ^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kti2ni2n Xu̯`6~r1grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kti2ni2n Y"4.G~VY̤erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kti2ni2n Z*q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kti2ni2n [Jȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kti2ni2n ]]v9:&K)=SL?respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.ktipA(ZLipA(ZL G]ghƓ$d*}hlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.ktipA(ZLipA(ZL H tY ~ O{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kti2ni2n c%@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kti2ni2n dԆ' ㋢|qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kti2ni2n eF7om!mooLjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kti2ni2n fX! S6ͯg`prespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kti2ni2n glhnawoYJ.qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kti2ni2n h⛲CK)wZSwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kti2ni2n jg:xfaxQX7Qsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kti2ni2n kynrjRsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kti2ni2n l7 ~"ǚvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kti2ni2n mVsrO1GG|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kti2ni2n n wBc|eu 5yz[yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kti2ni2n oy6H/TώtFոPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kti2ni2n p[M23S5Alrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kti2ni2n q vX"tyrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kti2ni2n rGFƳlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kti2ni2n tUJr= XQ$xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kti2ni2n u =OĢGj;|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kti2ni2n w߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kti2ni2n y.9LjdU’ Mdrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kti2ni2n zαJP!Jxn )A.xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kti2>}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kti2xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kti2>nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kti2OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kti2ݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.ktipA(ZLipA(ZL ISЁq]'|NYb8(Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kti2~i2~ k]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kti2~i2~ = ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kti2~i2~ 8.|zN6fa0P9 [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kti2~i2~ lvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.ktipA(ZLipA(ZL J= ةzw)Lv&+jX Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kti2~i2~ el8w?$s^brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kti2~i2~ rt/GDCPhRVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kti2~i2~ CCoo1 [ѡԼUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kti2~i2~ eIx^g݃0hʃ ]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kti2~i2~ XKrC(x?x'C4Q`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kti2~i2~ 2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kti2~i2~  vDz9࡭e8 XUr?grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kti2~i2~ \g`Җm4 /_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kti2~i2~ np@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kti2~i2~ #{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kti2~i2~ <U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kti2i2 =WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kti2i2 6)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kti2i2 @p 0nb1&ž*Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kti2i2 lq CY%`S-8qY\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kti2i2 M^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kti2i2 ]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kti2i2 nbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kti2i2 z jK n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kti2i2 nwd"$nM-X<*Xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kti2i2 Y"\"”gX4p]]>[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kti2i2 Yg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kti2i2 L!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.ktipA(ZLipA(ZL Kbg=S$>o;`UNrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kti2i2 l&uܬX/=د: [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kti2i2 q,B'srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kti2i2 O`:3-ڑ'֗]nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kti2i2 -PJ[k|U{aց+grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kti2i2 _[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kti2i2 INjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kti2i2 k\\܋rA fTdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kti2i2  4(q}.Γ7]ac)e#erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.kti2i2 ~9!f4FU0Xbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kti2i2 =ˇ~]SD Tfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kti2i2 Ʌ\?+6]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kti2i2 ~"\ǸWG?SMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kti2i2  ) tL 0G~`nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kti2i2  x#`:jQ`s7jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kti2Wi2W  u@en}T5AɽZlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kti2Wi2W \Gذ PPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kti2Wi2W  ~T R.|㗺r%Q erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kti2Wi2W q5<ˌxdQ,/S^vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kti2Wi2W ,@,:HҤ:9nU rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kti2Wi2W ~"w ~rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.ktipA(ZLipA(ZL L,< xDDF2Nq޴lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.ktipA(ZLipA(ZL Mh%tV+m@r^h7Uhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kti2Wi2W  #@h&t؏1P.Ҫ^-W.I<hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.ktipA(ZLipA(ZL N{# x H=rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.ktipA(ZLipA(ZL Od(@0TY]韭QcYrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kti2Wi2W '&5;blamrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kti2Wi2W )˖~{'YgG1zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kti2Wi2W +l;d%Mcvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kti2Wi2W .+,"Pt3_=vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kti2Ei2E 0y5A,.$xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.ktipA(j>ipA(j> PjutI˄aB[earespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kti2Ei2E >DMOlhb.tOD;gtrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kti2Ei2E @ٹwU)?}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kti2Ei2E B ʈ Jh~zb1respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kti2Ei2E E"!!R8nPʻGn jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kti2Ei2E G 0_ipA(j> Q#{1/ wmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.ktipA(j>ipA(j> R,L@57?;-Olsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kti2Ei2E P:WR5y+respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kti2Ei2E R 6zͅ+b٬kNȔrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kti2Ei2E T) =˷Fډo[irespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kti2Ei2E Wc,2d~?6xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kti2Ei2E Y5Z_9ڱaynrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kti2Ei2E [-bXܯXwT2MCjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kti3i3 ]س [_Պnjjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kti3i3 _9:ߜqŽzIjtvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kti3i3 aFL=!p%f(f3.rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kti3i3 c* u03gT respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/SetUsernameAndPasswordViewModel.kti3i3 eM GQ7&g"arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kti3i3 gȩ/4ˠUf#nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kti3i3 i8"GZ cA]a8x|jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kti3i3 kAK*)m}<_ajvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kti3i3 n Sc9!ᨼp'6zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kti3i3 p7,Nöu/ Wurespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kti3i3 r ,)Sa2|Dcvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kti3i3 tg {lN#R7jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kti3i3 u  2V!rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kti3i3 xã &h#RÍ`vzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kti3i3 { [riQ(bjL|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kti3i3 } zu9M,؟w=|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kti3i3  }GS]Erespect-lib-shared/src/commonMain/resources/about-credits-common.htmli3i3 ,}ygp/83pJrespect-lib-shared/src/commonMain/resources/directories/default.propertiesi3i3 ګlLc :d)9@respect-lib-shared/src/commonTest/resources/invalid-catalog.jsoni3i3 BvhPǕe)d{w~=respect-lib-shared/src/commonTest/resources/opds-io-home.jsoni3i3 @ߓˉ](iv#T@=Arespect-lib-shared/src/commonTest/resources/respect-manifest.jsoni3i3 `1rd9"Q5?respect-lib-shared/src/commonTest/resources/sample-catalog.jsoni3i3 ȸ-vn\uʥb \ipA(j> Suln>-&Ϩoirespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kti3i3 oh/A\ kZsT-$rrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysDbImpl.kti3i3 +yļȈ]5c]nmrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseJvm.kti3i3 3h-yfKFMOurespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/RevokePersonPasskeyUseCaseDbImpl.kti3i3 eaY%] D\ܛIsrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kti3i3 =*etRTA.nrqY|respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kti3i3 `:|MnBJMgrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconsUseCaseImpl.kti3i3 ^"\QWݦn*Horespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/AbstractJsonSchemaValidator.kti3i3 ѾnC##˥E~erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kti3i3 B$yeCOz&lrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kti3i3  bwzo {(J%r|krespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kti3i3 +B"sC$]yYrrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kti3i3 iSok\}*>|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kti3i3 TW.oϪhk'qKfrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/AsYouTypeFormatterJvm.kti3i3 _Է lK9Bq.O`jrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCaseJvm.kti3i3 u;e`&erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorJvm.kti3i3 _ N9;_respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberJvm.kti3- @i3- @ &uhrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/invite/RedeemInviteIntegrationTest.kti3 2cTNlrespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kti3ipA(j> T/KbLD A Dbrespect-server/.gitignorei3i3 `L?m[8Ɨwrespect-server/README.mdi3i3 a z|qЌ%7 #respect-server/build.gradle.ktsi3i3 h +I>~7Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.ktipA(j>ipA(j> U">+vv@I@)_x&-n Brespect-server/src/main/kotlin/world/respect/server/Application.kti3i3 j9䐪D89S,Grespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.ktipA(j>ipA(j> V?lO{$kt=SߎPrespect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kti3i3 kx&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.ktipA(j>ipA(j> W-`={fB2?:8>Grespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kti3i3 obp+6W`=x`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kti3i3 qfaM\e#v?nrespect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kti3i3 u !,s?Lk\2M\Yrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kti3i3 vvkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.ktipA(j>ipA(j> m YpM ueQF1Mrespect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kti3i3 x:onPubjC{|oGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kti3i3 y Ñѭ^UQCYrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kti3i3 z?q_respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kti3i3 },|[lipA(j> XY?dv9e\5Qarespect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kti3`Ki3`K 7)>$FNK\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AssignmentRoute.kti3`Ki3`K _5:Z}9讹{Wrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kti3`Ki3`K D ACRp2t06\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kti3`Ki3`K o \KrZW\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kti3`Ki3`K )ak ?R9ܤi_respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kti3`Ki3`K صu1^`respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kti3`Ki3`K "D |Ϫ4MXYwXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kti3`Ki3`K (MdxXQT, T^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kti3`Ki3`K d [ҙV"\RFr, [respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kti3`Ki3`K rCan%0k&^respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kti3`Ki3`K s7hpt [ 3?JWgRrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kti3`Ki3`K S)  W|Urespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kti3`Ki3`K o@Ij0pjVrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kti3`Ki3`K i)ge8pwy\Mrespect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kti3`Ki3`K *MS 1 rD &2respect-server/src/main/resources/application.confi3`Ki3`K wp" nm(>-respect-server/src/main/resources/logback.xmli3`Ki3`K \D va޸6respect-server/src/main/resources/openapi/openapi.yamli3`Ki3`K O@KzhJ'Ig8)respect-server/well-known/assetlinks.jsoni3`Ki3`K 2ֿa{M8:G!respect-test-end-to-end/README.mdi3`Ki3`K (m 8}rʵ/]respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.mdi3`Ki3`K l{Z-Db8s?Trespect-test-end-to-end/test-description/001_002_add_user_direct_test_description.mdi3`Ki3`K  ?#I;w,d?\respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.mdi3`Ki3`K 29m7rC|eG70c{Orespect-test-end-to-end/test-description/002_browse_lessons_test_description.mdi3`Ki3`K L$Jų<@Bqkrespect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.mdi3`Ki3`K wDj`iG- Zrespect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.mdi3`Ki3`K ݄I?-}ͫsGbru`settings.gradle.ktsi3`Ki3`K W>KǙ,j#E+POJ0write-jenkins-build-info.shTREE`1177 27 -Y =ڼA=Z.fleet1 0 G;ܼ,yʙHe)Tgradle3 1 gZFCܳ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`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-datalayer127 1 x_' I" ssrc124 2 >]tk[6B8commonMain123 1 kUMs8nkotlin123 1 \P3зn.world123 1 X BXןp;respect123 1 {80nvrYwQe}=datalayer123 9 ţJ,q6޳uxext6 0 )Q9(gHl(opds2 0 9|k)Af.0school50 3 W_O:F?Z[model27 2 x s[iGIT@jreport6 0 ÷ K1tqHXd Yscomposites1 0 sE׀_e۫ 4xadapters2 0 [O)R8b]xlwritequeue3 0 r 7~mv&Vshared19 2 F9P~9b}% paging11 0 0+4O)[rparams1 0 W9̕.3Jrespect6 1 +%Ms j9"o7OCmodel5 1 %bPk]`invite2 0 6FiFFoneroster18 2 {IzZT+Simodel17 0 3{iGꢐW! composites1 0 Xj쯛n^1Z"#compatibleapps3 1 +r2Cr@e&Kmodel1 0 9i&w9'~$Hschooldirectory4 0 {pEC-pԔWQVm|networkvalidation3 0 J]jfliWHandroidMain1 0 I./RH+yXIrespect-lib-cache159 2 y/(p@Mߜ@+"src155 4 ~5MH`R[^HjvmMain6 1 "Weϛp6՛WRkotlin6 1 zv!jscom6 1 D;t :4Rlsd)ustadmobile6 1 xr;8RVػlibcache6 4 v!&챰3md52 0 JĜ;U\u\]base641 0 ۡʸ8oHGdownloader1 0 nh[]s{4$@)s'connectivitymonitor1 0 (,/mLnjvmTest28 2 z훯4^޼5Lkotlin18 1 d`zehn/[#a com18 1 R*fvИU'v;ustadmobile18 1 Grv7`üMk_(m9libcache18 7 _c48aQIT= io1 0 G]inlœm }_{util5 0 6Ddm큦HWokhttp2 0 b XfĂpartial1 0 <͵FŰ_ `ǀqdownloader1 0 NQPTl7ԡ*hdistributed3 2 HuWr',ѯ 16$e0http1 0 ?̳Gmodel1 0 pjKT1Mcachecontrol2 0 jyresources10 1 VIN o抚,_publication6 1 PAm WCCA#glesson0016 0 D^%d9l*&commonMain107 1 !H$PU'kotlin107 1 n S XrĤcom107 1 'l>YRؚ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-shared302 1 lZ>`a _Mp}src301 5 >hb].ԓ^ jvmMain30 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ԬdcommonMain194 3 04+b".kotlin189 1 H6)~njKworld189 1 M+k>A.Dt+respect189 1 $~Mdp2=P$S.dshared186 7 /eZ4\x4/'qext5 0 U;fi쇟xɗ= Zutil25 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 2pviewmodel63 13 XUnL ߋfHN['app12 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 ]m⿈h{7Hhaedit1 0 \YU?Xh<list1 0 Ceqrp6detail1 0 /qd$\n7rB{$Bperson7 7 ל?,3*RKEedit1 0 HLK#Ylist1 0 >DB= HRGdetail1 0 / ;a<}Zf<passkeylist1 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 IGDGu9henrollment2 2 ,IۓFw9w!edit1 0 J lA@ǧf#ulist1 0 ) @zx/WEmanageuser14 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 KtLj'pyresources2 1 *J]38F.Ѯdirectories1 0 ~67\x~uVt9composeResources3 2 q&#"*_I׽@iZ!mvalues1 0 Zu},׊i=@drawable2 0 s5V|QMcommonTest7 1 a6D(B" resources7 0 ECsIߙ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 Ҿ*mtcommonMain96 1 m{~ҥ&MTPkotlin96 2 VMV CǰZ6ktheme3 0 c6:WQ|cworld93 1 'b#fI^Jrespect93 3 [Ǻ50y5 wHclazz3 3 Mt~[=Etedit1 0 ȶ$9 *\%list1 0 ?%[`detail1 0 *53hVperson7 7 K.-KUB}L&4edit1 0 WUm:<|b&list1 0 - (ՇN5uZpasskeyList1 0 U,@dl啿VJmanageaccount1 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\XiPenrollment2 2 \`?nOxi=aedit1 0 _S`Ip8(@fd򚖨sxlist1 0 ^<<4V8Y`Qmanageuser14 13 +ـHlmQ 8F'1Jlogin1 0 LJP9!signup1 0 1tY=.˧鳻/getstarted1 0 3wUZ%+0+accountlist2 0 \э̨{ʡ,otheroption1 0 a"~ˣ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+xAsrc118 2 9c 6P)jvmTest3 2 S-hC 2$/jb;Nԋkotlin2 1 k40)/V}޳Cworld2 1 ŵeOϴ3respect2 1 'M1\MlX# P\Hdatalayer2 1 ?Ý|Iwl"tKdb2 2 F3fSutN׵topds1 1 ZLkKlneadapters1 0 C8 0iJCYschool1 0 3yC`-5z\resources1 1 4Mt(WAU@&XE]world1 1 ~f7䀵|Q5respect1 1 ;k6+Wi-datalayer1 1 r6rtti6kdb1 1 cD^vaxL{opds1 1 ϰ6z px1C,o.adapters1 0 O]ϴ BmUVr(commonMain115 1 lQ#?ykotlin115 1 85ZT8|$·$Cwworld115 1 nv-5|> Llrrespect115 1 Y*<c8PPy-e[datalayer115 1 0A{q;6db115 6 %"(!bmn=uopds23 3 GՉVnJ#֣ZKdaos6 0 B8eMYceMMadapters7 0 ҽ3rJܥentities7 0 bFlF> school51 4 Iv is6=gdaos14 0 ʏ a!j^lӗ.adapters10 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"gT9#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 0'u)'XXg>;-src28 3 -T֨_qT\PjvmTest6 2 fȳcmafkotlin3 1 =k}IߺO˜cworld3 1 2B _ӑ37=respect3 1 (^wv՚datalayer3 1 ;6ܥ;ॅ YX FKrepository3 2 c zT mm\ 5opds1 0 񗸿)nf8Fn5T /school1 0 `}z4C ?resources3 1 OѺ=QAzpworld2 1 NE0{*}respect2 1 }[6 datalayer2 1 _xpa/M g;repository2 1 mriքJ'ڮn-9opds2 0 @R0qBJ~kcommonMain20 1 ٖ! WWYE- hpkotlin20 1 K4壐1aRP6&world20 1 M 9ߺkijvrespect20 1 f"o(28cdatalayer20 1 FWZ޹{yK(repository20 5 qI_(k@opds1 0 Ԕ h< !\school9 1 R}sZ@M[c{writequeue1 0 J[>51ra|Rlshared5 1 0 CT<2!Tpaging5 0 \#-ZUǭfxcompatibleapps1 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_qFzjcl-KPy=<б=--