DIRCWeAsbqeAsbq &1VAXK]+zfn͊ .gitignorecR vwcR vw C#,]&랟+K fݩo\d LICENSE.mdeAsbqeAsbq %&*app-testdb/src/jsMain/resources/index.htmldF>dF> J#1zF'`0PER91app-testdb/src/jsMain/resources/worker.sql-asm.jsf[f[  uυn-}9R򿑝[ build.gradledF>dF>  guЛ"xۓ(door-compiler/README.mdeP:beP:b  l [:ɴ1FoWqS!tXˍdoor-compiler/build.gradlee(8e(8  uxt .cZadoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/AbstractDbProcessor.ktc}7c}7  v3MoB>H!<_D%;hdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/AnnotationProcessorWrapper.ktf[f[  w(.k;c1FD/W'̓Zdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/CodeBlockExt.kt`b%O#`b%O#  zБK| s6?~-ǮlUdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/CoreExt.ktf8f8  ypPQ} Sc^Äjdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/DoorExpectTypeAliasProcessor.ktf1c$Xdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/DoorTarget.ktf8f8 (g<ysǶ6TQgddoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/DoorValidatorProcessor.kte q^Te q^T  ImZEVH o6bdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/DoorWrapperProcessor.ktc}7c}7  hGZpWjXdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/FunSpecExt.ktc}7c}7  rr\#wS^,g&^door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/KSPLoggerWrapper.ktc}7c}7  @eU) ̕l>{W3]door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/PropertySpecExt.kteu.sV)eu.sV)   bQm.I'Mcq˘z ShWdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/StringExt.kteAsveAsv  V6tpÇ θNGͶ]ddoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/SymbolProcessorWrapper.ktf8f8  ")i)J{:ѽs6Ydoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/TypeNameExt.kteAsveAsv  IK䤱H:Ѩ^`Ydoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/TypeSpecExt.kteAsveAsv  ;Z9֭j]door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/IterableExt.ktdF>dF>  ]&P4M_,m|ig`door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSAnnotatedExt.kteAsveAsv  Ϊ~tkEU|QR)Wadoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSAnnotationExt.kteAsveAsv  AЕ+p,}j hѝgdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSClassDeclarationExt.kteAsveAsv  YmY*Nšbdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSDeclarationExt.ktf8f8  #"P- l5ZX0W3jdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSFunctionDeclarationExt.ktc}7c}7  +(՗kgI%`o~;bW?M''_door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSFunctionExt.ktc}7c}7  DtN@@d Vjdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSPropertyDeclarationExt.ktc}7c}7  9*IS]OFطՄ`door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSTypeAliasExt.kteAsveAsv  "Ȉ HUF 5p[door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSTypeExt.ktc}7c}7  p2d9V C7ddoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/KSTypeReferenceExt.ktc}7c}7  {"ĉ"QZ4.O<adoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/PlatformInfoExt.ktcR cR  w6nl=[]WTfdoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/PreparedStatementExt.ktc}7c}7  9~:129XKadoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/PropertySpecExt.ktc}7c}7  "^WGLsnڡ[/cL]door-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/ResolverExt.ktc}7c}7  f ]gsoPJ`odoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/SymbolProcessorEnvironmentExt.ktc}7c}7  6\yb6H)Sddoor-compiler/src/main/kotlin/com/ustadmobile/lib/annotationprocessor/core/ext/TypeSpecBuilderExt.kt`b%X `b%X  R~jb{K1 #Rdoor-compiler/src/main/resources/META-INF/gradle/incremental.annotation.processorsc}7c}7  EaW^Rwc CDAmdoor-compiler/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvidereAsveAsv  EG,gPOR[door-compiler/src/test/kotlin/com/ustadmobile/lib/annotationprocessor/core/StringExtTest.kteP:beP:b  iÒyΝeljbg-Dddoor-runtime/build.gradleeYKeYK  #GdfjN#`door-runtime/proguard-rules.prod6]Ud6]U  )gWg] -0door-runtime/src/androidMain/AndroidManifest.xmle q^Te q^T  jF@{1)Y$r^Kdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/DatabaseBuilder.kt`b%X `b%X  f~Buq\b$Odoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/DoorDatabaseVersion.kt`b%X `b%X  {'n@Q |pEdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/DoorQuery.kt`b%X `b%X  W RB7(/Kdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/DoorSqlDatabase.ktebeb BrruIcc\.8RCdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/DoorUri.ktd6]Ud6]U  d4n.OFf!tvdLdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/MigrationAdapter.ktay: ]Aay: ]A  YC&h 5Kdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/SimpleDoorQuery.ktc}7Qc}7Q  ."!cT*d#TYAMdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/ConnectionExt.kt`ˇ]G@`ˇ]G@ I4zƸFv?i@߀_Rdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/ContentResolverExt.kte$2Ie$2I `iDES; Hm^ Odoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/DoorDatabaseExt.kt`Ի0}I`Ի0}I   G0 p@]袶Rdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/DoorSqlDatabaseExt.kt`ˇ]G@`ˇ]G@  !(3C30da($2r1Jdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/DoorUriExt.kt`b%X `b%X  玚\n ߢ ٽD?VMdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/ext/FileExpectExt.kteAsveAsv  "iFdF>  r3RA+ RI$WoɴO2KVdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/roomjdbc/ResultSetRoomJdbc.ktdF>dF>  r42axYdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/util/DummyInvalidationTracker.kt`vN _`vN _ 7D>s0.3pHdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/util/KmpUuid.ktb]JIb]JI  D𵂰LAĸGdoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/util/NodeId.kt`b%X `b%X  B Uߣ*l[^Odoor-runtime/src/androidMain/kotlin/com/ustadmobile/door/util/ThreadSafeList.ktd6]Ud6]U  oU!@RV%2;5VEdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/DoorQuery.ktc}7Qc}7Q  5 t\o~5Kdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/DoorSqlDatabase.ktcR cR  !,A-d溋*IfYdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/DoorSqlDatabaseConnectionImpl.kteAsveAsv  (L4 xQ;bbFRdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/EntityInsertionAdapter.kteAsveAsv  _}ϩ45Jdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/JdbcArrayProxy.ktay: Jay: J  c)5nkLQ^Wdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/PreparedStatementArrayProxy.ktegF,RegF,R  j0r Oc:4N;]door-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/PreparedStatementArrayProxyCommon.ktay: Jay: J  f+^wtbn' <]door-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/PreparedStatementResultSetWrapper.ktd6]Ud6]U   jl\p34"(MKdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/SimpleDoorQuery.ktc}7Qc}7Q  Vw s |#EBaRdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/ext/ConnectionExtJvmJs.kte q^Te q^T  涤]EºӖ_7CTdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/ext/DoorDatabaseExtJvmJs.ktay: Jay: J  [ 1I. أLdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/ext/DoorQueryExt.ktd6]Ud6]U  #tBEfȹLxNeXSRdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/ext/SimpleDoorQueryExt.kte q^Te q^T ? NYX#Idoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/flow/DoorFlow.ktf8f8  ljή @]edoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/nodeevent/NodeEventJdbcImplListenerSqlite.kteYQ&8eYQ&8  o eķȗ+AC[V^door-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/paging/DoorLimitOffsetPagingSource.kteAsveAsv  oɽvdoCڐTdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/room/InvalidationTracker.ktd6]Ud6]U  r[=l)Ζ\door-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/room/InvalidationTrackerObserver.kte q^Te q^T  pmA>IN/[door-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/room/RoomDatabaseJdbcImplHelper.kte&e ie&e i  q2)n8c"O+ S® 6uadoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/room/RoomDatabaseJdbcImplHelperCommon.ktc}7Qc}7Q  r^qQuUCp~L7Mdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/room/RoomJdbcImpl.kteAsveAsv  r"|WO*Tp`*7Vdoor-runtime/src/commonJvmJs/kotlin/com/ustadmobile/door/triggers/TriggerSetupJvmJs.kt`b%X `b%X  F76PM xӐTMVdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/AbstractDoorUriResponder.kt`b%X `b%X  <^yĢ&>wB9Kdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/NanoHttpdCall.kte q^Te q^T  u `?vNdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/RepositoryConfig.kt`b%X `b%X  V%,LUP1@hHdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/AnyExt.kt`ˇ]G@`ˇ]G@  pݞB%+8'Odoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/FileExpectExt.kt`b%X `b%X  j ~ξ>"5Pdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/InputStreamExt.ktai=sai=s  7vkցI:wIdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/ListExt.kteAsveAsv  Xpɸ\mvHdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/MapExt.kt`Ի0}I`Ի0}I 7u2UWxncG2DM:HQdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/ext/StringExpectExt.ktc}7Qc}7Q  r`J`ݏv;o[ϾHdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/Array.ktc}7Qc}7Q  raTDԷHj A@UtSMdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/Connection.ktc}7Qc}7Q  rbUbH@[-^Mdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/DataSource.ktc}7Qc}7Q  rcaT=*(LĐ%/v Sdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/DatabaseMetadata.ktc}7Qc}7Q  rdb68b̡'n}/Tdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/PreparedStatement.ktc}7Qc}7Q  reRm'˖zW l9Ldoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/ResultSet.ktc}7Qc}7Q  rfcPagWg;v>F0&Tdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/ResultSetMetaData.ktc}7Qc}7Q  rgY #P|jou Odoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/SQLException.ktc}7Qc}7Q  rhRrl6F׏+cJЀLdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/Statement.ktc}7Qc}7Q  rjܴՇg+ބSs5۞Ndoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/ext/ListExt.ktc}7Qc}7Q  rl[tߚBk8YSdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/types/BigDecimal.ktc}7Qc}7Q  rmNŗOWWȏBy I(Mdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/types/Date.ktc}7Qc}7Q  rnNsYXO9Mdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/types/Time.ktc}7Qc}7Q  roX:6ngh-9# Rdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/jdbc/types/TimeStamp.kteAsveAsv   S]XIm}ېP:EdQdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/sse/DoorEventSource.kt`b%X `b%X  =NdC/%eײJ^ZRīSdoor-runtime/src/commonJvmMain/kotlin/com/ustadmobile/door/util/NullOutputStream.kt`b%X `b%X  fdo|zE!<a>!<  l>;gI^B7Ҿ6Odoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/JdbcArrayProxyCommon.ktai=sai=s  D;.ߞlMJ@I6Pdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/NotSupportedException.kteAsveAsv  jʽw8%V<Rdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/PreparedStatementConfig.kte q^Te q^T  +xt/C0Xe /TG.:Xdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/QueryTableModified.kteAsveAsv  Igq+g7:YoQ~Udoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/ReplicateEntity.kteAsveAsv  io-m[_ 8Sdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/ReplicateEtag.kteAsveAsv   &pkńpJq,˃Z0[door-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/ReplicateLastModified.ktai=sai=s  EowlKXZdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/ReplicateReceiveView.ktai=sai=s  GZ<ÛO\2Mubdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/annotation/ReplicationDestinationNodeId.ktai=sai=s  U?bI;r2Wj<,ImPӡKdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/ext/ResultSetExt.kteAsveAsv  u/$!LWwr -MVdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/ext/RoomDatabaseInternalExt.kt`Ի0R `Ի0R  ~|+UkOqNdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/ext/StringExpectExt.ktb]JIb]JI  3ivfRYGc:F6THdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/ext/StringExt.kteAsveAsv  r#969ZZZуPdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/flow/FlowLoadingState.kteAsveAsv  r$O"n"HQdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/http/RepoDaoFlowHelper.ktfp fp  嘶˧w㎀uVu Odoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/http/RepoHttpRequest.kteAsveAsv  r5{9P砰dP  [door-runtime/src/commonMain/kotlin/com/ustadmobile/door/http/RepositoryDaoWithFlowHelper.kteAsveAsv  r6! {`@"+&Tdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/http/ValueAndLoadingState.ktc}7c}7  rq"21 L]| Edoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/Array.ktc}7c}7  rr6cZAKD-$P%Jdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/Connection.kteAsveAsv  r7y;8k.{=5Lw&V\)Odoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ConnectionAsync.ktc}7c}7  rsh| 39Y*blBJdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/DataSource.ktc}7c}7  rtHT)e$k MG;2Pdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/DatabaseMetadata.ktcR cR  ruD"`/Yg$Qdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/PreparedStatement.ktc}7c}7  rv 6Go;Idoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ResultSet.ktc}7c}7  rwpʎS*P{ʨQdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ResultSetMetaData.ktegF,RegF,R  rxm5;t T.l ;Ldoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/SQLException.ktc}7c}7  ry }g7=Z<[6^hRqIdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/Statement.ktc}7c}7  rz`ݎ{@E?^qUdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/StatementConstantsKmp.ktc}7c}7  r{Fxeh G.YYIFHdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/TypesKmp.kteAsveAsv  r81"Qog8mV)!ZQdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/ConnectionExt.ktc}7c}7  r}lB]rQ2y4T-`)Kdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/ListExt.ktcR cR  vz ӏT hLP^door-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/PreparedStatementCommonExt.ktc}7c}7  r~F;M{P蠟ir Xdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/PreparedStatementExt.ktf[f[  ) cv< Pdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/ResultSetExt.ktc}7c}7  rp15sv"~gylVdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/StatementCommonExt.ktc}7c}7  rܞBWVy 8xlPdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/ext/StatementExt.ktc}7c}7  r@Z-7C_Ks2lPdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/types/BigDecimal.ktc}7c}7  r::57 {lό8Jdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/types/Date.ktc}7c}7  r:t-h$TObRJdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/jdbc/types/Time.ktc}7c}7  r?2Ez!Ǻ;[!<a>!<  n َj3)VnRdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/migration/DoorMigration.kta>!<a>!<  o-E >9ζ7L MPwWdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/migration/DoorMigrationAsync.kta>d6\_a>d6\_  K UwH֞_door-runtime/src/commonMain/kotlin/com/ustadmobile/door/migration/DoorMigrationStatementList.kta>!<a>!<  qE7FMd{:BVdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/migration/DoorMigrationSync.ktf8f8  swl xS *v}9Ndoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEvent.kteAsveAsv  rR$4t蜡c;[door-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventConnectionExt.ktf8f8  do@v1vo9N/D.Wdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventConstants.kte q^Te q^T  rX86'/KEԟUdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventManager.kte\b be\b b  0 39R}aw" *[door-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventManagerCommon.kteAsveAsv  r\ DXl07{4/7?JM8Wdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventSseClient.ktf8f8  mp&L-!&0 543cdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DelegatedInvalidationPagingSource.ktff  "m6,q!aT_door-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DoorOffsetLimitRemoteMediator.ktfp fp   z*#llxл< Pdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DoorPagingUtil.kteAsveAsv  r]"ooe#S*J\liQgdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DoorRepositoryHttpRequestPagingSource.kteAsveAsv  r55?0|S4Z\door-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DoorRepositoryPagingSource.ktf8f8   (K„sC s]m8idoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/DoorRepositoryReplicatePullPagingSource.ktf8f8  \zc!fPer*y>MTdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/FilterPagingSource.ktfp fp  T WT~ENGxb7YbWdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/HttpResponsePagingExt.ktfp fp  3 EvC4f^0Qdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/PagingSourceExt.ktf8f8  _8KvsLd- `xۗYdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/PagingSourceInterceptor.kteAsveAsv  r+DȑE@=D:*cWdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/PagingSourceLoadState.ktfp fp  Av3J ?xn^mdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/PagingSourceReplicatePullHttpResponseResult.ktf8֦f8֦  yF,/\door-runtime/src/commonMain/kotlin/com/ustadmobile/door/paging/PagingSourceWithHttpLoader.ktf8֦f8֦  @;վ` YEǞbadoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/DoorDatabaseReplicationExt.kteAsveAsv  ۺr>=O u\door-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/DoorReplicationEntity.kte(8e(8  NxI'UgAn"'fdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/DoorRepositoryReplicationClient.ktf8֦f8֦ @CS%L sqhA˶ Vdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/JsonDbFieldInfo.kteAsveAsv  !/\G{$螷-[door-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ReplicationConstants.ktf8֦f8֦  "o=WU-NJ BgW `door-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ReplicationEntityMetaData.ktf8֦f8֦ @qshWẍc_door-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ReplicationFieldMetaData.kteAsveAsv  $h&%}pii h]door-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ReplicationReceivedAck.ktai=sai=s H Be)qL~XsΉxIvbdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ReplicationSubscriptionMode.kteAsveAsv  ' .!gDD6ǤG,j#wEyhdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/replication/ServerSentEventsReplicationClient.ktd6]Uϣd6]Uϣ  o">fy3STdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/requests/DoorJsonResponse.ktc}7c}7  r4qtJ;uAqSdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/room/InvalidationTracker.ktd6]Uϣd6]Uϣ  rǜ&і#;l[door-runtime/src/commonMain/kotlin/com/ustadmobile/door/room/InvalidationTrackerObserver.kteAsveAsv  r\ze,%Kפ!A^\(ֿ%w`,Ndoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/util/ThreadSafeList.ktai=sai=s HF)_<>.[NWdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/util/TransactionDepthCounter.ktb]JIb]JI l[0ijCձ N4Odoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/util/TransactionMode.kt`b&9a`b&9a  ?`ǪϞ$miG"^eHdoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/util/WaitUtil.kteAsveAsv  +YL3kNtYO2x>P_Idoor-runtime/src/commonMain/kotlin/com/ustadmobile/door/util/WeakRefOf.kte q^Te q^T  0) p ?& &/AFdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/DatabaseBuilder.kte q^Te q^T  28>2%޹нMdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/DatabaseBuilderOptions.ktc}7c}7   V׉$euU JCdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/DoorDatabase.ktebeb  FokRj= ^>door-runtime/src/jsMain/kotlin/com/ustadmobile/door/DoorUri.kta>!<a>!<  j~$412-:0WEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/JdbcArrayProxy.ktegF,RegF,R  u0z~駦Rdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/PreparedStatementArrayProxy.kte q^Te q^T  4PE. qP?PH;YGdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/RepositoryConfig.ktd6]Uϣd6]Uϣ   1+vKw Tdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/SaveToIndexedDbChangeListener.ktbZYbZY  ͋&-*Bf lAdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/AnyExt.ktc}7c}7  TgO>FF NHdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/ConnectionExt.ktegF,RegF,R  C 4d]TI˥;S 6_Jdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/DoorDatabaseExt.ktc}7c}7  =G:1g /ܢ.T_8"Ndoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/DoorDatabaseJdbcExt.kta>!<a>!<  4A` n96,QU 1Mdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/DoorSqlDatabaseExt.ktbZYbZY  ?89[Ю}dBdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/FileExt.kta>!<a>!<  Cv^jpEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/ext/JsClassExt.ktai=sai=s H (X:{_#MMܒ Fdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/DataSource.ktc}7c}7  rk{G)1}Ldoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/DatabaseMetadata.ktcR cR  rWav3+"L>zˆ0* %1Mdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/PreparedStatement.ktc}7c}7  rao LQ\{3FKEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/ResultSet.ktc}7˲c}7˲  rQ!$~GL갍Mdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/ResultSetMetaData.ktc}7˲c}7˲  rfR*2 #ZHdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/SQLException.ktc}7˲c}7˲  rnA&j@/hO Edoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/Statement.ktc}7˲c}7˲  r~l+M$eH+>Gdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/ext/ListExt.ktc}7˲c}7˲  rC/]2|Tdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/ext/PreparedStatementExt.ktc}7˲c}7˲  rJU7W|xs<uSLdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/types/BigDecimal.ktc}7˲c}7˲  rO>֩}OWxp]YFdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/types/Date.ktc}7˲c}7˲  rD޾R_`؃ DpVFdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/types/Time.ktc}7˲c}7˲  rIEWKKBcUKdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/jdbc/types/TimeStamp.kte q^Te q^T  rpQnY]y7zt$Sdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/nodeevent/NodeEventManagerJs.kteAs|eAs|  rɔj,8AĐXHdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/room/RoomDatabase.kte q^Te q^T  r6O/1DxeVdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/room/RoomDatabaseJdbcImplHelper.ktc}7˲c}7˲  rrL4zT( Osҳk#Jdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/IndexedDb.ktegF,RegF,R  r W$O͛w.6?bSdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLiteConnectionJs.kteAs|eAs|  r Wk+$Sl< Ydoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLiteDatabaseMetadataJs.kte q^Te q^T  r)V"I3FV8yAM!&Sdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLiteDatasourceJs.ktegF,RegF,R  rl1AZdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLitePreparedStatementJs.ktc}7˲c}7˲  r~B zG$ R]X|Pdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLiteResultSet.ktegF,RegF,R  roj}<-87Rdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/SQLiteStatementJs.ktc}7˲c}7˲  rilxs%y³mMdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/UpdateResult.kteAs|eAs|  r!P̎i*fMdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sqljsjdbc/WorkerResult.kteAs|eAs|  ARuX ~~zJdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/sse/DoorEventSource.ktc}7˲c}7˲  !㑋ruLUé~d0Mdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/DoorJsImplClasses.ktbZYbZY  oa_wn(\Ƹ" KEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/EncodeUri.kta>!<a>!<  y9C=HCdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/KmpUuid.kta>!<a>!<  OУ{2׀>TfOwBdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/NodeId.kta>!<a>!<  |d7nxgGV94!<a>!<  DauBB;Jdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/ThreadSafeList.kta>!<a>!<  vTtGiy>^Mj;Ddoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/WaitUtil.ktfp fp  ϘY'}H4/hOOCpEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/WeakMapJs.ktfp fp  Ȓ14fm L>AnX0Edoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/WeakRefJs.kteAs|eAs|  nɧ3ب誋bKuEdoor-runtime/src/jsMain/kotlin/com/ustadmobile/door/util/WeakRefOf.kteAs eAs  h~)Bg~9k}8u\/door-runtime/src/jsMain/resources/sql-wasm.wasmeAs eAs  Ja+S5ʢj Z &4door-runtime/src/jsMain/resources/worker.sql-wasm.jsfp fp  Ĭ}U"d11{@(/+door-runtime/src/jsTest/kotlin/JsWeakMap.kta>!<a>!<   8Hxv n`D-door-runtime/src/jsTest/kotlin/TestKmpUuid.kte q^Te q^T  F.WX'M?nmyE4Gdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/DatabaseBuilder.ktebeb  `ϵ{'ܨ]?door-runtime/src/jvmMain/kotlin/com/ustadmobile/door/DoorUri.kteAs eAs  HZ k3S.u"Fdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/JdbcArrayProxy.ktb]JRb]JR  b'o\ Д3 NSdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/PreparedStatementArrayProxy.ktc}7˲c}7˲  #A E-j[nNdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/RoomDatabaseImplHelper.ktc}7˲c}7˲  ~pvt1n97K(/P Idoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/ConnectionExt.kteAs eAs  I BX @ӯW\Ndoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/DoorDatabaseExtJvm.ktc}7˲c}7˲  nV m`xI$Vl5%Ndoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/DoorSqlDatabaseExt.kt`ˇ]G@`ˇ]G@  oK ?KN<+up9T'Fdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/DoorUriExt.kt`b&9a`b&9a  pzH&xD FIdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/FileExpectExt.kteAs eAs  J >VKFmX䬽Ndoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/PipelineContextExt.kteAs eAs  K/q@ v{/QT`Hdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/ext/StringExtJvm.ktc}7˲c}7˲  xSfOdB#I[aUdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/jdbc/ext/PreparedStatementExt.ktc}7˲c}7˲  #z=vi)wgzRMdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/jdbc/ext/StatementExt.ktbZYbZY  t쾹Ias0.3pDdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/util/KmpUuid.kt`b&9a`b&9a  xS@_2Cdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/util/NodeId.kteAs eAs  WZga4ގS(I!Rdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/util/PostgresChangeTracker.kt`b&9a`b&9a  yB Uߣ*l[^Kdoor-runtime/src/jvmMain/kotlin/com/ustadmobile/door/util/ThreadSafeList.ktbZYbZY  Al2݇;FH!1AKdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/DoorEventSourceTest.kt`b&9a`b&9a  ʦN` DDQdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/DoorPrimaryKeyManagerTest.kteAs eAs  X (@t2\Bdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/FlowDesign.ktai=sai=s H$p vP)t="/2M+Wdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/PreparedStatementArrayProxyTest.ktai=Z|ai=Z| H%J@>&P.Hdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/VirtualHostScope.ktfp fp >0 ϴ(L2fgš񄴯;ȸ`door-runtime/src/jvmTest/kotlin/com/ustadmobile/door/paging/DoorOffsetLimitRemoteMediatorTest.ktf8֦f8֦  ?*R%xZWEgdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/replication/DoorRepositoryReplicationClientTest.kteAs eAs  s:{75fPg釘R!Sdoor-runtime/src/jvmTest/kotlin/com/ustadmobile/door/triggers/SqliteTriggersTest.kt`b&9a`b&9a  nΨPU%O Sdoor-runtime/src/jvmTest/resources/mockito-extensions/org.mockito.plugins.MockMaker`b&9a`b&9a  4nL^Ao8p0ym>door-runtime/src/jvmTest/resources/test-resources/cat-pic0.jpgd6]Uϣd6]Uϣ .Mtٗz~door-shallowcopy/README.mdeP:beP:b /[آBZHVdoor-shallowcopy/build.gradled6]Uϣd6]Uϣ 0 t;WD$2 D32^Ydoor-shallowcopy/src/main/kotlin/com/ustadmobile/door/shallowcopy/ShallowCopyProcessor.ktd6]Uϣd6]Uϣ 1mO*| cϝadoor-shallowcopy/src/main/kotlin/com/ustadmobile/door/shallowcopy/ShallowCopyProcessorProvider.ktd6]Uϣd6]Uϣ 2>j\q%NtGYGdpdoor-shallowcopy/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProviderai=Z|ai=Z| =RΎ΀G.:#door-testdb-server/RepDb.propertiesai=Z|ai=Z| >3ż-"ioZE7 Q$H#door-testdb-server/application.confeP:beP:b ?PʒpYVM?wDdoor-testdb-server/build.gradleai=Z|ai=Z| @Y3$^ aY%door-testdb-server/run-test-server.shai=Z|ai=Z| A;ɛ}KB\door-testdb-server/src/main/kotlin/com/ustadmobile/door/doortestdbserver/VirtualHostScope.ktfp fp  S"O't=B̵I P7Adoor-testdb-server/src/main/kotlin/repdb/DoorTestDbApplication.ktai=Z|ai=Z| Ch )'h.B# 89door-testdb-server/src/main/kotlin/repdb/ServerAppMain.ktai=Z|ai=Z| DAv}h#e@7d5door-testdb-server/src/main/resources/jndi.propertiesai=Z|ai=Z| EG?—1door-testdb-server/src/main/resources/logback.xmleP:beP:b  Z+f)n ;door-testdb/build.gradle`b&9a`b&9a  +mNCf. 8door-testdb/jndi-config/jdbc/ExampleDatabase2.propertiesai=Z|ai=Z| H(RΎ΀G.:-door-testdb/jndi-config/jdbc/RepDb.propertiesai=Z|ai=Z| H);N#;P޳Ă2door-testdb/jndi-config/jdbc/RepDbLocal.propertiesai=Z|ai=Z| H*}$x8-"S'3door-testdb/jndi-config/jdbc/RepDbLocal2.propertiesai=Z|ai=Z| H+"]@t$ws33door-testdb/jndi-config/jdbc/RepDbRemote.properties`b&9a`b&9a  ;i]zԣk+door-testdb/jndi-config/jdbc/db1.properties`b&9a`b&9a  Yxe Yf!+door-testdb/jndi-config/jdbc/db2.properties`b&9a`b&9a  ԧ6y޽n*door-testdb/jndi-config/jdbc/ds.properties`b&9a`b&9a  ƈ岹 rm#E<;door-testdb/jndi-config/jdbc/testbuilderoncreate.properties`b&9a`b&9a   i$\ǧ;'9door-testdb/jndi-config/jdbc/testbuilderonopen.propertieseAs eAs  ^L$>7?f>*door-testdb/karma.config.d/karma.config.jseAs eAs  q'^JԈҀ!+\door-testdb/src/androidInstrumentedTest/kotlin/com/ustadmobile/door/roomjdbc/RoomJdbcTest.kteAs eAs  P?ylݎ,{3 ^door-testdb/src/androidInstrumentedTest/kotlin/com/ustadmobile/door/test/AbstractCommonTest.kteAs eAs  D ㇉,L@dsWdoor-testdb/src/androidInstrumentedTest/kotlin/com/ustadmobile/door/test/TestDbMaker.ktd6]Uϣd6]Uϣ  r)gWg] -/door-testdb/src/androidMain/AndroidManifest.xmleAs eAs  XvɅXv8dLdoor-testdb/src/androidMain/kotlin/com/ustadmobile/door/log/NapierAntilog.kteAs eAs  X Vyn~q"؋ΰ'mȅVdoor-testdb/src/androidUnitTest/kotlin/com/ustadmobile/door/test/AbstractCommonTest.kteAs eAs  XD ㇉,L@dsOdoor-testdb/src/androidUnitTest/kotlin/com/ustadmobile/door/test/TestDbMaker.kteAs eAs  X^kM 1,٣8,T!Sdoor-testdb/src/commonMain/kotlin/com/ustadmobile/door/log/AbstractNapierAntilog.kteAs eAs  X|CzY},:KrqGp:[xGKdoor-testdb/src/commonMain/kotlin/com/ustadmobile/door/log/NapierAntilog.ktai=Z|ai=Z|  ,h PUS>nգv4door-testdb/src/commonMain/kotlin/db2/AccessGrant.kteAs eAs  _(gm8́7door-testdb/src/commonMain/kotlin/db2/AccessGrantDao.ktf8֦f8֦  aw zG2:/b4door-testdb/src/commonMain/kotlin/db2/ExampleDao2.kt`b&9a`b&9a  Pc8M3^d[N{vdF>  l& PڣޙTu7door-testdb/src/commonMain/kotlin/db2/ExampleEntity2.kt`b&9a`b&9a  \P/֘9Ldoor-testdb/src/commonMain/kotlin/db2/ExampleEntity2WithExampleLinkEntity.kt`b&9a`b&9a  aId}8h4.;door-testdb/src/commonMain/kotlin/db2/ExampleEntityPkInt.kteAs eAs  gނL jX?k>door-testdb/src/commonMain/kotlin/db2/ExampleEntityPkIntDao.kt`b&9a`b&9a  =`p;S~-w #lwH:door-testdb/src/commonMain/kotlin/db2/ExampleLinkEntity.kteAs eAs  h&J {Cq=door-testdb/src/commonMain/kotlin/db2/ExampleLinkEntityDao.kteAs eAs  i eЁa]+N;ZZ=5.;door-testdb/src/commonMain/kotlin/db2/ExampleSyncableDao.ktai=Z|ai=Z|  |8.aX{[?A>door-testdb/src/commonMain/kotlin/db2/ExampleSyncableEntity.kt`b&9a`b&9a  AbҐ{e|u>xP5Udoor-testdb/src/commonMain/kotlin/db2/ExampleSyncableEntityWithOtherSyncableEntity.ktai=Z|ai=Z|  3E#ҪvNUHǾ@ 1door-testdb/src/commonMain/kotlin/db3/BadgeDao.kteAs eAs  X%[ZI9 ƕv7door-testdb/src/commonMain/kotlin/db3/BadgeWithTotal.kteAs eAs  X)sf zN8door-testdb/src/commonMain/kotlin/db3/DiscussionBoard.ktf8֦f8֦  /Ufx7door-testdb/src/commonMain/kotlin/db3/DiscussionPost.kteAs eAs  XIUn\door-testdb/src/commonTest/kotlin/com/ustadmobile/door/nodeevent/NodeEventIntegrationTest.kteAs eAs  XQ]h!X*0Qdoor-testdb/src/commonTest/kotlin/com/ustadmobile/door/test/AbstractCommonTest.ktf8֦f8֦  5<+:>Z8 [gmWdoor-testdb/src/commonTest/kotlin/com/ustadmobile/door/test/BasicCrudIntegrationTest.kteAs eAs  XP}[3=G`Ldoor-testdb/src/commonTest/kotlin/com/ustadmobile/door/test/NapierLogInit.kteAs eAs  XsgdC? )Sdoor-testdb/src/commonTest/kotlin/com/ustadmobile/door/test/RunTestWithRealClock.kteAs eAs  X%?4әa-Jdoor-testdb/src/commonTest/kotlin/com/ustadmobile/door/test/TestDbMaker.kteAs eAs  XlN7,F^i?E+UΗl>Gdoor-testdb/src/jsMain/kotlin/com/ustadmobile/door/log/NapierAntilog.kteAs eAs  {#!6zbFEEEdoor-testdb/src/jsTest/kotlin/com/ustadmobile/door/TestBigIntUsage.kteAs eAs  !P?ylݎ,{3 Mdoor-testdb/src/jsTest/kotlin/com/ustadmobile/door/test/AbstractCommonTest.kteAs eAs  X$*j9~BF\fؙZFdoor-testdb/src/jsTest/kotlin/com/ustadmobile/door/test/TestDbMaker.kte q^:]e q^:]  X oȎ-itX~Hdoor-testdb/src/jvmMain/kotlin/com/ustadmobile/door/log/NapierAntilog.kteAs eAs  X>CϩIpTkaRdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/BasicCrudIntegrationTestJvm.ktfpVfpV   QNmهLryDPb_door-testdb/src/jvmTest/kotlin/com/ustadmobile/door/ktor/routes/GeneratedHttpDaoEndpointTest.ktfpVfpV  ,4 .K#pgWdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/ktor/routes/ReplicationRouteTest.ktf8֦f8֦  q: tuӲסZGE9Vdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/replication/PullIntegrationTest.ktf8֦f8֦  , W+ IcVdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/replication/PushIntegrationTest.kteAsWeAsW  XP?ylݎ,{3 Ndoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/test/AbstractCommonTest.kteAsWeAsW  XP=e,g=]*Gdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/door/test/TestDbMaker.kt`b&9a`b&9a  *8cUIJ2Didoor-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/ExampleDatabase2MockServer.kteAsWeAsW  ;20bnRjdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/TestDatabaseBuilderCallback.kteAsWeAsW  |{2+-z *8iF`door-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/TestDbBuilderKtKt.ktai=Z|ai=Z| H7=ܞ\Ph`(]~Jܤf_door-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/VirtualHostScope.kteAsWeAsW  dwqO4caidoor-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/primarykeys/PrimaryKeyTest.kteAsWeAsW  x^O:];& nyrdoor-testdb/src/jvmTest/kotlin/com/ustadmobile/lib/annotationprocessor/core/transaction/TestWithDoorTransaction.kt`b&9a`b&9a  qs(BKFU2door-testdb/src/jvmTest/resources/application.conf`b&9a`b&9a  4nL^Ao8p0ym.door-testdb/src/jvmTest/resources/cat-pic0.jpgb]JRb]JR {v)=[žT-door-testdb/src/jvmTest/resources/flatted.jpg`b&9a`b&9a  Av}h#e@7d1door-testdb/src/jvmTest/resources/jndi.properties`b&9a`b&9a  G?—-door-testdb/src/jvmTest/resources/logback.xml`b&9a`b&9a  nΨPU%O Rdoor-testdb/src/jvmTest/resources/mockito-extensions/org.mockito.plugins.MockMakerb]JRb]JR |'W 670~k!?Zp=door-testdb/src/jvmTest/resources/pexels-lilartsy-3335621.jpg`b&9a`b&9a  @hs}-kH&/door-testdb/src/jvmTest/resources/testfile1.pngc}7˲c}7˲ _2$OnpmNj3gradle.propertiesfpVfpV .8\}zg)9 t\|GM;#gradle/libs.versions.toml`b&vj`b&vj =C# |[w!gradle/wrapper/gradle-wrapper.jardF>dF> ۚk]D$&o3u(gradle/wrapper/gradle-wrapper.propertiesf[f[ *On 0DPb&gradlew`b&vj`b&vj 9 rz2- gradlew.batfpVfpV 3Y-3 Lw5JGc3vkotlin-js-store/yarn.lockd6]U d6]U OEw|GqPx|[room-annotations/README.mdd}c^gd}c^g , vt+_^̀8Q \Įroom-annotations/build.gradled6]U d6]U  tC,QũbKtnDroom-annotations/src/commonMain/kotlin/androidx/annotation/IntDef.ktd6]U d6]U A#Е.<Rw Froom-annotations/src/commonMain/kotlin/androidx/annotation/IntRange.ktd6]U d6]U X~-s%͋ Eroom-annotations/src/commonMain/kotlin/androidx/annotation/NonNull.ktd6]U d6]U "Zzi)x䛁zIroom-annotations/src/commonMain/kotlin/androidx/annotation/RequiresApi.ktd6]U d6]U  :`ץ-\''Broom-annotations/src/commonMain/kotlin/androidx/room/ColumnInfo.ktd6]U d6]U de2P.:2ͱ>room-annotations/src/commonMain/kotlin/androidx/room/Delete.ktd6]U d6]U  cBy7Ps$K3ك1@room-annotations/src/commonMain/kotlin/androidx/room/Embedded.ktdF{dF{ ;5׭Z!'!jŘ>room-annotations/src/commonMain/kotlin/androidx/room/Entity.ktd6]U d6]U -nGmLLe"'*Broom-annotations/src/commonMain/kotlin/androidx/room/ForeignKey.ktd6]U d6]U ̪07`7"E>room-annotations/src/commonMain/kotlin/androidx/room/Ignore.ktd6]U d6]U  š]3CP =room-annotations/src/commonMain/kotlin/androidx/room/Index.kteAsWeAsW  OE5zhI'XOnhGh|>room-annotations/src/commonMain/kotlin/androidx/room/Insert.ktd6]U d6]U  1i`Ȕq*x$iJroom-annotations/src/commonMain/kotlin/androidx/room/OnConflictStrategy.ktd6]U d6]U  lb^\Z,7MNR*HBroom-annotations/src/commonMain/kotlin/androidx/room/PrimaryKey.ktd6]U d6]U  ܑ[Ol=room-annotations/src/commonMain/kotlin/androidx/room/Query.ktd6]U d6]U 1|^zRA+I1Ml}@room-annotations/src/commonMain/kotlin/androidx/room/RawQuery.ktd6]U d6]U  #,dfmT,͍Croom-annotations/src/commonMain/kotlin/androidx/room/Transaction.ktd6]U d6]U Nq*ސ8.ҶvL>room-annotations/src/commonMain/kotlin/androidx/room/Update.ktf +{'f +{' 4ZGTCE*ttT settings.gradleai=Z|ai=Z| GB*18LyqzK}test-app-android/.gitignoreeP:beP:b 5 GF6DҲ]test-app-android/build.gradleai=Z|ai=Z| IH4Ayף gm4K #test-app-android/proguard-rules.proe q^:]e q^:] 6 ltP $0õh\Ytest-app-android/src/androidTest/java/com/ustadmobile/door/testandroid/ReplicationTest.ktai=Z|ai=Z| K4nL^Ao8p0ym7test-app-android/src/androidTest/resources/cat-pic0.jpgd6]U d6]U 7kU#$`-test-app-android/src/main/AndroidManifest.xmlai=Z|ai=Z| M9'SOW#,%ff9x;Otest-app-android/src/main/java/com/ustadmobile/door/testandroid/MainActivity.ktai=Z|ai=Z| NI8w)4{FlㇳEtest-app-android/src/main/res/drawable-v24/ic_launcher_foreground.xmlai=Z|ai=Z| Ok4MZ5م7MsK+AAtest-app-android/src/main/res/drawable/ic_launcher_background.xmlai=Z|ai=Z| PB3Gk ɦenb6test-app-android/src/main/res/layout/activity_main.xmlai=Z|ai=Z| Q!#XGM,υ ?test-app-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xmlai=Z|ai=Z| R!#XGM,υ Etest-app-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xmlai=Z|ai=Z| S q,+b򒜿R9test-app-android/src/main/res/mipmap-hdpi/ic_launcher.pngai=Z|ai=Z| TaUUa=,֑F?test-app-android/src/main/res/mipmap-hdpi/ic_launcher_round.pngai=Z|ai=Z| U L҅1,#whKv^9test-app-android/src/main/res/mipmap-mdpi/ic_launcher.pngai=Z|ai=Z| V mFڱBG]. -栾:test-app-android/src/main/res/mipmap-xhdpi/ic_launcher.pngai=Z|ai=Z| X01qFQ @0{ @test-app-android/src/main/res/mipmap-xhdpi/ic_launcher_round.pngai=Z|ai=Z| Yh CG 4;test-app-android/src/main/res/mipmap-xxhdpi/ic_launcher.pngai=Z|ai=Z| Z.ag=MtRy\Atest-app-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.pngai=Z|ai=Z| [)ZADrKA7ƣb Q$3[`test5 0 esja>|p*Ínodeevent1 0 0Cl[hRandroidMain2 1 F0,p,qYkotlin1 1 3YUqB=6&Ofocom1 1 ,G,A=+'Eustadmobile1 1 `glwSO7door1 1 -QtmX>GOulog1 0 / dy~Ƚ\jf\QandroidUnitTest2 1 E/ppNzK Xakotlin2 1 s]كs'URԗ̨iF] com2 1 Plkd̞!ЙŲustadmobile2 1 eb͗T4]`n-rE/1door2 1 ခl6ڮg–test2 0 %Q֙UйandroidInstrumentedTest3 1 [U#WA jߊVkotlin3 1 T,40׀x2 U 0com3 1  T,Ls{-*ustadmobile3 1 .x~@1E߮4m®GLdoor3 2 hqh{]аK y?test2 0 L8dtreM1~Q"]roomjdbc1 0 U_ GlGcSjndi-config10 1 ?H#金ݼjdbc10 0 /mť'it1 dkarma.config.d1 0 PDp fڎMdoor-runtime381 1 5^׾wfB 3r^src379 8 %@Sd&^QjsMain58 2 &1ؿ>r,kotlin56 1 ++뗏icom56 1 ;+C=8N6|*C2w ustadmobile56 1 vФZD⇴door56 7 AcE|'V|Waext10 0 c>#qxB0 sse1 0 /'˱Ԡ~jdbc15 2 cʐ\T0 qTX3ext2 0 ._Il84> types4 0 Al)٩*&P>%'w.room2 0 xuVChsmqutil10 0 6,DgO<;SWnodeevent1 0 hCPw Osqljsjdbc9 0 f,P8T^S fresources2 0 dA'^Q3'@!"jsTest2 1 Mm`ɓnу„kotlin2 0 ڢ!7'̻ 6jvmMain32 1 t Q@޿hN)g>kotlin32 1 N{O1A^wthWcom32 1 ^w`y2Jfͮ%ustadmobile32 1 |Κd3me_I`door32 7 E\ MjhB}C ext7 0 qfʰ'^ō2^Kmjdbc2 1 &aykotlin192 1 xbagzKwcom192 1 j k醪u?ustadmobile192 1 ܰVjyF8&Kdoor192 18 qLNe[)/bpext25 0 J~*log4 0 $50]Rvi sse5 0 ڕ%#b/n?ϐflow2 0 a*agD>9W http8 0 ?2('k# jdbc23 2 2ih(I.1^2ext7 0 d,A~,Zt&yz# td%Ytriggers1 0 &<)֌V.\M%nodeevent1 0 ҒZ|ҡ!pXʟcommonJvmJs22 1 =@h1lÔkotlin22 1 b]I8`com22 1 SF̃7}Tkf(ustadmobile22 1 +}p*˕*"door22 6 C;0q?]g0(v. ext4 0 C]y ^M#= ^flow1 0 Ɛarzroom5 0 8[Z%+-IbTpaging1 0 yPLz5#(;Rtriggers1 0 }m+3Pl|@nodeevent1 0 0͎c[[ɵ!commonJvmMain31 1 KNډE+1;4nkotlin31 1 ujN^1vutil6 0 }Ӷ_`< Q %door-compiler41 1 t=>9^Awsrc39 2 ;~qv|IZW0i  Tmain38 2 p8MzJS!)n8kotlin36 1 &W*$,䞠wlcicom36 1 }MMt{j3O|mJΣustadmobile36 1 =4W\@lib36 1 e[~_W+pannotationprocessor36 1 )]OSDwR7GQcore36 1 [6 *ɧ?FIext17 0 [6L5uňs"lresources2 1 F<{UAj#WMETA-INF2 2 x9j/ha6eUgradle1 0 $NRJ|6$Q=փservices1 0 4˓* ?btest1 1 oe P2QEkotlin1 1 Jk9\HLPwrcom1 1 GzveTQBtQAdustadmobile1 1 Z c ϡDlib1 1 J^y.C51bannotationprocessor1 1 .oovKd/#KFcore1 0 ! [Τȭ?^-kotlin-js-store1 0 MLFJxFb3IDdCdoor-shallowcopy5 1 5ץNwϿL8psrc3 1 8 $main3 2 ~JP}n6kotlin2 1 U[Tޓ+com2 1 v{tf?Yustadmobile2 1 V13VdrDkdoor2 1 ̃6M&{)shallowcopy2 0 O!܀C<Ӭ8Dwresources1 1 T:QR!T {,'1EMETA-INF1 1 ^I?ìƛMservices1 0 fYJ0w+v`A߁/src5 1 i؁"ScN Ymain5 2 z7脈4nvkotlin3 2 a[6&,ǿWcom1 1 6b/u:,e6|g)Ġ2ustadmobile1 1 H+G5' door1 1 |]7M2L0Bdoortestdbserver1 0 tFChk-fLMrepdb2 0 NV(nK/wKresources2 0 [> #JkP= ^ZN2M