64 lines
394 KiB
HTML
64 lines
394 KiB
HTML
<!DOCTYPE html>
|
|
<head><meta charset="utf-8"></meta>
|
|
<meta content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no" name="viewport"></meta>
|
|
<link type="text/css" href="static/css/tabler-icons.min.css" rel="stylesheet"></link>
|
|
<link type="text/css" href="static/css/style.css" rel="stylesheet"></link>
|
|
<link type="text/css" href="static/css/custom.css" rel="stylesheet"></link>
|
|
<link type="text/css" href="static/css/export.css" rel="stylesheet"></link>
|
|
<link href="static/img/logo.png" type="image/png" rel="shortcut icon"></link>
|
|
<link href="static/img/logo.png" sizes="192x192" rel="shortcut icon"></link>
|
|
<link href="static/img/logo.png" rel="apple-touch-icon"></link>
|
|
<meta name="apple-mobile-web-app-title"></meta>
|
|
<meta name="apple-mobile-web-app-capable" content="yes"></meta>
|
|
<meta name="apple-touch-fullscreen" content="yes"></meta>
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"></meta>
|
|
<meta name="mobile-web-app-capable" content="yes"></meta>
|
|
<meta property="og:title"></meta>
|
|
<meta content="site" property="og:type"></meta>
|
|
<meta content="static/img/logo.png" property="og:image"></meta>
|
|
<meta property="og:description"></meta>
|
|
<title></title>
|
|
<meta property="og:site_name"></meta>
|
|
<meta></meta>
|
|
</head>
|
|
<body><div id="root"></div>
|
|
<script>window.logseq_db="[logseq____"~#datascript/DBlogseq____",[logseq____"^ logseq____",logseq____"~:schemalogseq____",[logseq____"^ logseq____",logseq____"~:ast/versionlogseq____",[logseq____"^ logseq____"],logseq____"~:file/contentlogseq____",[logseq____"^ logseq____"],logseq____"~:block/properties-text-valueslogseq____",[logseq____"^ logseq____"],logseq____"~:block/aliaslogseq____",[logseq____"^ logseq____",logseq____"~:db/valueTypelogseq____",logseq____"~:db.type/reflogseq____",logseq____"~:db/cardinalitylogseq____",logseq____"~:db.cardinality/manylogseq____"],logseq____"~:block/pre-block?logseq____",[logseq____"^ logseq____"],logseq____"~:block/uuidlogseq____",[logseq____"^ logseq____",logseq____"~:db/uniquelogseq____",logseq____"~:db.unique/identitylogseq____"],logseq____"~:block/prioritylogseq____",[logseq____"^ logseq____"],logseq____"~:block/propertieslogseq____",[logseq____"^ logseq____"],logseq____"~:block/journal?logseq____",[logseq____"^ logseq____"],logseq____"~:block/namespacelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____"],logseq____"~:block/updated-atlogseq____",[logseq____"^ logseq____"],logseq____"~:block/repeated?logseq____",[logseq____"^ logseq____"],logseq____"~:db/typelogseq____",[logseq____"^ logseq____"],logseq____"~:file/handlelogseq____",[logseq____"^ logseq____"],logseq____"~:block/leftlogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"~:db/indexlogseq____",true],logseq____"~:block/refslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/scheduledlogseq____",[logseq____"^ logseq____"],logseq____"~:block/properties-orderlogseq____",[logseq____"^ logseq____"],logseq____"~:block/created-atlogseq____",[logseq____"^ logseq____"],logseq____"~:block/deadlinelogseq____",[logseq____"^ logseq____"],logseq____"~:block/collapsed?logseq____",[logseq____"^ logseq____",logseq____"^Glogseq____",true],logseq____"~:block/journal-daylogseq____",[logseq____"^ logseq____"],logseq____"~:block/formatlogseq____",[logseq____"^ logseq____"],logseq____"~:block/tagslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/contentlogseq____",[logseq____"^ logseq____"],logseq____"~:recent/pageslogseq____",[logseq____"^ logseq____"],logseq____"~:block/macroslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:db/identlogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:block/path-refslogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^8logseq____",logseq____"^9logseq____"],logseq____"~:block/parentlogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^Glogseq____",true],logseq____"~:block/typelogseq____",[logseq____"^ logseq____"],logseq____"~:block/pagelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____",logseq____"^Glogseq____",true],logseq____"~:block/namelogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:file/pathlogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:block/filelogseq____",[logseq____"^ logseq____",logseq____"^6logseq____",logseq____"^7logseq____"],logseq____"~:block/markerlogseq____",[logseq____"^ logseq____"],logseq____"~:block/original-namelogseq____",[logseq____"^ logseq____",logseq____"^logseq____<logseq____",logseq____"^=logseq____"],logseq____"~:schema/versionlogseq____",[logseq____"^ logseq____"]],logseq____"~:datomslogseq____",[logseq____"~#listlogseq____",[[logseq____"~#datascript/Datomlogseq____",[1,logseq____"^12logseq____",2,536870913]],[logseq____"^15logseq____",[2,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[2,logseq____"^Ylogseq____",logseq____"cardlogseq____",536870913]],[logseq____"^15logseq____",[2,logseq____"^11logseq____",logseq____"cardlogseq____",536870913]],[logseq____"^15logseq____",[2,logseq____"^;logseq____",logseq____"~uace005c8-06df-4be7-b4ed-88249bafc754logseq____",536871886]],[logseq____"^15logseq____",[3,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[3,logseq____"^Ylogseq____",logseq____"canceledlogseq____",536870914]],[logseq____"^15logseq____",[3,logseq____"^11logseq____",logseq____"CANCELEDlogseq____",536870914]],[logseq____"^15logseq____",[3,logseq____"^;logseq____",logseq____"~uc2187fb8-120a-45b0-9895-e02325910d5alogseq____",536871886]],[logseq____"^15logseq____",[4,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[4,logseq____"^Ylogseq____",logseq____"todologseq____",536870914]],[logseq____"^15logseq____",[4,logseq____"^11logseq____",logseq____"TODOlogseq____",536870914]],[logseq____"^15logseq____",[4,logseq____"^;logseq____",logseq____"~u4c2476f0-744d-4f9d-9ea0-92b337eeb8cblogseq____",536871886]],[logseq____"^15logseq____",[5,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[5,logseq____"^Ylogseq____",logseq____"nowlogseq____",536870914]],[logseq____"^15logseq____",[5,logseq____"^11logseq____",logseq____"NOWlogseq____",536870914]],[logseq____"^15logseq____",[5,logseq____"^;logseq____",logseq____"~u5a3eb6d4-cec0-4ec7-8e59-dcc40c5e2818logseq____",536871886]],[logseq____"^15logseq____",[6,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[6,logseq____"^Ylogseq____",logseq____"laterlogseq____",536870914]],[logseq____"^15logseq____",[6,logseq____"^11logseq____",logseq____"LATERlogseq____",536870914]],[logseq____"^15logseq____",[6,logseq____"^;logseq____",logseq____"~u696007f7-aef0-4233-8e4d-6cddbce4fea1logseq____",536871886]],[logseq____"^15logseq____",[7,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[7,logseq____"^Ylogseq____",logseq____"donelogseq____",536870914]],[logseq____"^15logseq____",[7,logseq____"^11logseq____",logseq____"DONElogseq____",536870914]],[logseq____"^15logseq____",[7,logseq____"^;logseq____",logseq____"~uc4be04ca-308e-4b1a-8811-3826d50c2eb7logseq____",536871886]],[logseq____"^15logseq____",[8,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[8,logseq____"^Ylogseq____",logseq____"doinglogseq____",536870914]],[logseq____"^15logseq____",[8,logseq____"^11logseq____",logseq____"DOINGlogseq____",536870914]],[logseq____"^15logseq____",[8,logseq____"^;logseq____",logseq____"~ua9c73259-0230-426e-b069-3f501d46add0logseq____",536871886]],[logseq____"^15logseq____",[9,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[9,logseq____"^Ylogseq____",logseq____"in-progresslogseq____",536870914]],[logseq____"^15logseq____",[9,logseq____"^11logseq____",logseq____"IN-PROGRESSlogseq____",536870914]],[logseq____"^15logseq____",[9,logseq____"^;logseq____",logseq____"~u0f80fd2b-8c3f-48fc-ae5a-9ce1b89a37a0logseq____",536871886]],[logseq____"^15logseq____",[10,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[10,logseq____"^Ylogseq____",logseq____"clogseq____",536870914]],[logseq____"^15logseq____",[10,logseq____"^11logseq____",logseq____"Clogseq____",536870914]],[logseq____"^15logseq____",[10,logseq____"^;logseq____",logseq____"~u3ef0418e-1792-4a9b-8b4f-7b4b5a147168logseq____",536871886]],[logseq____"^15logseq____",[11,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[11,logseq____"^Ylogseq____",logseq____"blogseq____",536870914]],[logseq____"^15logseq____",[11,logseq____"^11logseq____",logseq____"Blogseq____",536870914]],[logseq____"^15logseq____",[11,logseq____"^;logseq____",logseq____"~u6935aec3-1474-4d22-8cb8-bdf03ff51907logseq____",536871886]],[logseq____"^15logseq____",[12,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[12,logseq____"^Ylogseq____",logseq____"contentslogseq____",536870914]],[logseq____"^15logseq____",[12,logseq____"^11logseq____",logseq____"Contentslogseq____",536870914]],[logseq____"^15logseq____",[12,logseq____"^;logseq____",logseq____"~u3b97300f-8c37-428b-91b6-e8b6a7f60f58logseq____",536871886]],[logseq____"^15logseq____",[13,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[13,logseq____"^Ylogseq____",logseq____"waitinglogseq____",536870914]],[logseq____"^15logseq____",[13,logseq____"^11logseq____",logseq____"WAITINGlogseq____",536870914]],[logseq____"^15logseq____",[13,logseq____"^;logseq____",logseq____"~u51933cf9-63eb-419f-be57-ee49e1d8f431logseq____",536871886]],[logseq____"^15logseq____",[14,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[14,logseq____"^Ylogseq____",logseq____"favoriteslogseq____",536870914]],[logseq____"^15logseq____",[14,logseq____"^11logseq____",logseq____"Favoriteslogseq____",536870914]],[logseq____"^15logseq____",[14,logseq____"^;logseq____",logseq____"~uacf24e3e-8dcf-4263-a94a-0ea08c80ce2dlogseq____",536871886]],[logseq____"^15logseq____",[15,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[15,logseq____"^Ylogseq____",logseq____"alogseq____",536870914]],[logseq____"^15logseq____",[15,logseq____"^11logseq____",logseq____"Alogseq____",536870914]],[logseq____"^15logseq____",[15,logseq____"^;logseq____",logseq____"~u60594c54-8261-40b7-bfe1-7532d301c34alogseq____",536871886]],[logseq____"^15logseq____",[16,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[16,logseq____"^Ylogseq____",logseq____"cancelledlogseq____",536870914]],[logseq____"^15logseq____",[16,logseq____"^11logseq____",logseq____"CANCELLEDlogseq____",536870914]],[logseq____"^15logseq____",[16,logseq____"^;logseq____",logseq____"~ucd5b549b-3271-4a77-914b-5eabcf76b5a7logseq____",536871886]],[logseq____"^15logseq____",[17,logseq____"^@logseq____",false,536870914]],[logseq____"^15logseq____",[17,logseq____"^Ylogseq____",logseq____"waitlogseq____",536870914]],[logseq____"^15logseq____",[17,logseq____"^11logseq____",logseq____"WAITlogseq____",536870914]],[logseq____"^15logseq____",[17,logseq____"^;logseq____",logseq____"~u4978fc7c-fe3f-46bc-87d6-aad1ca0f54c6logseq____",536871886]],[logseq____"^15logseq____",[18,logseq____"^Klogseq____",1739811919622,536870915]],[logseq____"^15logseq____",[18,logseq____"^Ologseq____",logseq____"~:markdownlogseq____",536870915]],[logseq____"^15logseq____",[18,logseq____"^Nlogseq____",20250217,536870915]],[logseq____"^15logseq____",[18,logseq____"^@logseq____",true,536870915]],[logseq____"^15logseq____",[18,logseq____"^Ylogseq____",logseq____"feb 17th, 2025logseq____",536870915]],[logseq____"^15logseq____",[18,logseq____"^11logseq____",logseq____"Feb 17th, 2025logseq____",536870915]],[logseq____"^15logseq____",[18,logseq____"^Blogseq____",1739811919622,536870915]],[logseq____"^15logseq____",[18,logseq____"^;logseq____",logseq____"~u67b36c4f-e543-47d0-b23e-c4878e3e769blogseq____",536870915]],[logseq____"^15logseq____",[19,logseq____"^Qlogseq____",logseq____"logseq____",536870916]],[logseq____"^15logseq____",[19,logseq____"^Ologseq____",logseq____"^16logseq____",536870916]],[logseq____"^15logseq____",[19,logseq____"^Nlogseq____",20250217,536870916]],[logseq____"^15logseq____",[19,logseq____"^@logseq____",true,536870916]],[logseq____"^15logseq____",[19,logseq____"^Flogseq____",18,536870916]],[logseq____"^15logseq____",[19,logseq____"^Xlogseq____",18,536870916]],[logseq____"^15logseq____",[19,logseq____"^Vlogseq____",18,536870916]],[logseq____"^15logseq____",[19,logseq____"^Ulogseq____",18,536870917]],[logseq____"^15logseq____",[19,logseq____"^?logseq____",[logseq____"^ logseq____"],536870916]],[logseq____"^15logseq____",[19,logseq____"^;logseq____",logseq____"~u67b36c4f-4bd9-4648-823e-40699810ca05logseq____",536870916]],[logseq____"^15logseq____",[23,logseq____"^Qlogseq____",logseq____"logseq____",536870919]],[logseq____"^15logseq____",[23,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[23,logseq____"^Flogseq____",12,536870919]],[logseq____"^15logseq____",[23,logseq____"^Xlogseq____",12,536870919]],[logseq____"^15logseq____",[23,logseq____"^Vlogseq____",12,536870919]],[logseq____"^15logseq____",[23,logseq____"^Ulogseq____",12,536870919]],[logseq____"^15logseq____",[23,logseq____"^;logseq____",logseq____"~u67b36c4f-48bc-460f-a439-e9f09706961alogseq____",536870919]],[logseq____"^15logseq____",[25,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[25,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[25,logseq____"^Ylogseq____",logseq____"apk (android package)logseq____",536870919]],[logseq____"^15logseq____",[25,logseq____"^11logseq____",logseq____"APK (Android Package)logseq____",536870919]],[logseq____"^15logseq____",[25,logseq____"^Blogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[25,logseq____"^;logseq____",logseq____"~u67b36c4f-0400-425f-8def-b6c5078e16adlogseq____",536870919]],[logseq____"^15logseq____",[26,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[26,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[26,logseq____"^Ylogseq____",logseq____"content provider componentslogseq____",536870919]],[logseq____"^15logseq____",[26,logseq____"^11logseq____",logseq____"Content Provider Componentslogseq____",536870919]],[logseq____"^15logseq____",[26,logseq____"^Blogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[26,logseq____"^;logseq____",logseq____"~u67b36c4f-1566-4646-b928-af2dcc41eb87logseq____",536870919]],[logseq____"^15logseq____",[27,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[27,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[27,logseq____"^Ylogseq____",logseq____"service componentslogseq____",536870919]],[logseq____"^15logseq____",[27,logseq____"^11logseq____",logseq____"Service Componentslogseq____",536870919]],[logseq____"^15logseq____",[27,logseq____"^Blogseq____",1739870804994,536870954]],[logseq____"^15logseq____",[27,logseq____"^;logseq____",logseq____"~u67b36c4f-4973-4ce2-8691-f10cba7d4ce9logseq____",536870919]],[logseq____"^15logseq____",[28,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[28,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[28,logseq____"^Ylogseq____",logseq____"activity componentlogseq____",536870919]],[logseq____"^15logseq____",[28,logseq____"^11logseq____",logseq____"Activity Componentlogseq____",536870919]],[logseq____"^15logseq____",[28,logseq____"^Blogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[28,logseq____"^;logseq____",logseq____"~u67b36c4f-47bc-4b8c-a1eb-0a76fe5175ablogseq____",536870919]],[logseq____"^15logseq____",[29,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[29,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[29,logseq____"^Ylogseq____",logseq____"application manifestlogseq____",536870919]],[logseq____"^15logseq____",[29,logseq____"^11logseq____",logseq____"Application Manifestlogseq____",536870919]],[logseq____"^15logseq____",[29,logseq____"^Blogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[29,logseq____"^;logseq____",logseq____"~u67b36c4f-1610-429e-b86f-c610f6970eablogseq____",536870919]],[logseq____"^15logseq____",[30,logseq____"^Qlogseq____",logseq____"Simply a *packaging format* (similar to `zip` or `jar`)logseq____",536870919]],[logseq____"^15logseq____",[30,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[30,logseq____"^Flogseq____",25,536870919]],[logseq____"^15logseq____",[30,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[30,logseq____"^Vlogseq____",25,536870919]],[logseq____"^15logseq____",[30,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[30,logseq____"^;logseq____",logseq____"~u67b36c4f-4140-4195-81d2-86269adfb834logseq____",536870919]],[logseq____"^15logseq____",[31,logseq____"^Qlogseq____",logseq____"# Structure:logseq____",536870919]],[logseq____"^15logseq____",[31,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[31,logseq____"^Flogseq____",30,536870919]],[logseq____"^15logseq____",[31,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[31,logseq____"^Vlogseq____",25,536870919]],[logseq____"^15logseq____",[31,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[31,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:headinglogseq____",1],536870919]],[logseq____"^15logseq____",[31,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[31,logseq____"^;logseq____",logseq____"~u67b36c4f-4ee9-43be-a347-180080fbe093logseq____",536870919]],[logseq____"^15logseq____",[32,logseq____"^Qlogseq____",logseq____"Components ([[Activity Component]], [[Service Components]], [[Content Provider Components]] etc.)logseq____",536870919]],[logseq____"^15logseq____",[32,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[32,logseq____"^Flogseq____",31,536870919]],[logseq____"^15logseq____",[32,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[32,logseq____"^Vlogseq____",31,536870919]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[32,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[32,logseq____"^Hlogseq____",26,536870919]],[logseq____"^15logseq____",[32,logseq____"^Hlogseq____",27,536870919]],[logseq____"^15logseq____",[32,logseq____"^Hlogseq____",28,536870919]],[logseq____"^15logseq____",[32,logseq____"^;logseq____",logseq____"~u67b36c4f-f641-4f44-b55b-10ab4faff837logseq____",536870919]],[logseq____"^15logseq____",[33,logseq____"^Qlogseq____",logseq____"Native Code (`C`/`C++` shared libraries) that can be linked dynamically into the processlogseq____",536870919]],[logseq____"^15logseq____",[33,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[33,logseq____"^Flogseq____",32,536870919]],[logseq____"^15logseq____",[33,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[33,logseq____"^Vlogseq____",31,536870919]],[logseq____"^15logseq____",[33,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[33,logseq____"^;logseq____",logseq____"~u67b36c4f-7560-4391-88a8-4acc8f0e2c1flogseq____",536870919]],[logseq____"^15logseq____",[34,logseq____"^Qlogseq____",logseq____"Resources (images, strings)logseq____",536870919]],[logseq____"^15logseq____",[34,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[34,logseq____"^Flogseq____",33,536870919]],[logseq____"^15logseq____",[34,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[34,logseq____"^Vlogseq____",31,536870919]],[logseq____"^15logseq____",[34,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[34,logseq____"^;logseq____",logseq____"~u67b36c4f-670a-4c77-b27a-494dac360declogseq____",536870919]],[logseq____"^15logseq____",[35,logseq____"^Qlogseq____",logseq____"~`META-INF` (application certificate, package manifest)logseq____",536870919]],[logseq____"^15logseq____",[35,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[35,logseq____"^Flogseq____",34,536870919]],[logseq____"^15logseq____",[35,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[35,logseq____"^Vlogseq____",31,536870919]],[logseq____"^15logseq____",[35,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[35,logseq____"^;logseq____",logseq____"~u67b36c4f-2a10-4837-82d5-a0b497309f94logseq____",536870919]],[logseq____"^15logseq____",[36,logseq____"^Qlogseq____",logseq____"[[Application Manifest]]logseq____",536870919]],[logseq____"^15logseq____",[36,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[36,logseq____"^Flogseq____",35,536870919]],[logseq____"^15logseq____",[36,logseq____"^Xlogseq____",25,536870919]],[logseq____"^15logseq____",[36,logseq____"^Vlogseq____",31,536870919]],[logseq____"^15logseq____",[36,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[36,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[36,logseq____"^Hlogseq____",29,536870919]],[logseq____"^15logseq____",[36,logseq____"^;logseq____",logseq____"~u67b36c4f-1433-453d-ab5c-9e94ab6d7c15logseq____",536870919]],[logseq____"^15logseq____",[38,logseq____"^Qlogseq____",logseq____"Represents screen in an applicationlogseq____",536870919]],[logseq____"^15logseq____",[38,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[38,logseq____"^Flogseq____",28,536870919]],[logseq____"^15logseq____",[38,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[38,logseq____"^Vlogseq____",28,536870919]],[logseq____"^15logseq____",[38,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[38,logseq____"^;logseq____",logseq____"~u67b36c4f-8f0b-460f-a795-e2f58eb7302clogseq____",536870919]],[logseq____"^15logseq____",[39,logseq____"^Qlogseq____",logseq____"Can be composed of different views(/Composables)logseq____",536870919]],[logseq____"^15logseq____",[39,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[39,logseq____"^Flogseq____",38,536870919]],[logseq____"^15logseq____",[39,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[39,logseq____"^Vlogseq____",28,536870919]],[logseq____"^15logseq____",[39,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[39,logseq____"^;logseq____",logseq____"~u67b36c4f-4afd-4e4c-bbad-988a8870ef08logseq____",536870919]],[logseq____"^15logseq____",[40,logseq____"^Qlogseq____",logseq____"Split into fragments (reusable UI modules)logseq____",536870919]],[logseq____"^15logseq____",[40,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[40,logseq____"^Flogseq____",39,536870919]],[logseq____"^15logseq____",[40,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[40,logseq____"^Vlogseq____",28,536870919]],[logseq____"^15logseq____",[40,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[40,logseq____"^;logseq____",logseq____"~u67b36c4f-e88f-437b-bfa7-5cb7fe2291e6logseq____",536870919]],[logseq____"^15logseq____",[41,logseq____"^Qlogseq____",logseq____"One main activity per applogseq____",536870919]],[logseq____"^15logseq____",[41,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[41,logseq____"^Flogseq____",40,536870919]],[logseq____"^15logseq____",[41,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[41,logseq____"^Vlogseq____",28,536870919]],[logseq____"^15logseq____",[41,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[41,logseq____"^;logseq____",logseq____"~u67b36c4f-9587-42ab-9602-8281147cfee4logseq____",536870919]],[logseq____"^15logseq____",[42,logseq____"^Qlogseq____",logseq____"## Stateflow/Lifecyclelogseq____",536870919]],[logseq____"^15logseq____",[42,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[42,logseq____"^Flogseq____",41,536870919]],[logseq____"^15logseq____",[42,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[42,logseq____"^Vlogseq____",28,536870919]],[logseq____"^15logseq____",[42,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[42,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[42,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[42,logseq____"^;logseq____",logseq____"~u67b36c4f-3510-40e6-986d-d0b59fef3894logseq____",536870919]],[logseq____"^15logseq____",[43,logseq____"^Qlogseq____",logseq____"{:height 671, :width 513}logseq____",536870919]],[logseq____"^15logseq____",[43,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[43,logseq____"^Flogseq____",42,536870919]],[logseq____"^15logseq____",[43,logseq____"^Xlogseq____",28,536870919]],[logseq____"^15logseq____",[43,logseq____"^Vlogseq____",42,536870919]],[logseq____"^15logseq____",[43,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[43,logseq____"^;logseq____",logseq____"~u67b36c4f-873c-4481-9df7-e6684976d73dlogseq____",536870919]],[logseq____"^15logseq____",[45,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[45,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[45,logseq____"^Ylogseq____",logseq____"broadcast receiver componentslogseq____",536870919]],[logseq____"^15logseq____",[45,logseq____"^11logseq____",logseq____"Broadcast Receiver Componentslogseq____",536870919]],[logseq____"^15logseq____",[45,logseq____"^Blogseq____",1739872637715,536871023]],[logseq____"^15logseq____",[45,logseq____"^;logseq____",logseq____"~u67b36c4f-9db0-4e62-ab65-3dbd56ae2b4flogseq____",536870919]],[logseq____"^15logseq____",[46,logseq____"^Klogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[46,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[46,logseq____"^Ylogseq____",logseq____"intent messageslogseq____",536870919]],[logseq____"^15logseq____",[46,logseq____"^11logseq____",logseq____"Intent Messageslogseq____",536870919]],[logseq____"^15logseq____",[46,logseq____"^Blogseq____",1739811919714,536870919]],[logseq____"^15logseq____",[46,logseq____"^;logseq____",logseq____"~u67b36c4f-1061-409d-98bb-1e1f231e76a2logseq____",536870919]],[logseq____"^15logseq____",[47,logseq____"^Qlogseq____",logseq____"Specify information about which [Intents]([[Intent Messages]]) the component receiveslogseq____",536870919]],[logseq____"^15logseq____",[47,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[47,logseq____"^Flogseq____",48,536870919]],[logseq____"^15logseq____",[47,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[47,logseq____"^Vlogseq____",48,536870919]],[logseq____"^15logseq____",[47,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[47,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[47,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[47,logseq____"^;logseq____",logseq____"~u67b36c4f-b2e0-4936-8f35-d884aafe87f0logseq____",536870919]],[logseq____"^15logseq____",[48,logseq____"^Qlogseq____",logseq____"### Intent Filters\\nid:: 6717978c-801a-4383-b970-cffcfbb13343logseq____",536870919]],[logseq____"^15logseq____",[48,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[48,logseq____"^Flogseq____",59,536870919]],[logseq____"^15logseq____",[48,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[48,logseq____"^Vlogseq____",63,536870919]],[logseq____"^15logseq____",[48,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[48,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:idlogseq____",logseq____"6717978c-801a-4383-b970-cffcfbb13343logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[48,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870919]],[logseq____"^15logseq____",[48,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717978c-801a-4383-b970-cffcfbb13343logseq____"],536870919]],[logseq____"^15logseq____",[48,logseq____"^;logseq____",logseq____"~u6717978c-801a-4383-b970-cffcfbb13343logseq____",536870919]],[logseq____"^15logseq____",[49,logseq____"^Qlogseq____",logseq____"Example: see ((6717ce84-d0f0-48ee-8138-2dd29ce1cc0e))logseq____",536870919]],[logseq____"^15logseq____",[49,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[49,logseq____"^Flogseq____",47,536870919]],[logseq____"^15logseq____",[49,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[49,logseq____"^Vlogseq____",48,536870919]],[logseq____"^15logseq____",[49,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[49,logseq____"^Hlogseq____",51,536870919]],[logseq____"^15logseq____",[49,logseq____"^;logseq____",logseq____"~u67b36c4f-6242-438b-bd29-6e7dcf0c82celogseq____",536870919]],[logseq____"^15logseq____",[50,logseq____"^Qlogseq____",logseq____"components ([[Activity Component]], [BroadcastReceiver]([[Broadcast Receiver Components]]) etc.)logseq____",536870919]],[logseq____"^15logseq____",[50,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[50,logseq____"^Flogseq____",52,536870919]],[logseq____"^15logseq____",[50,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[50,logseq____"^Vlogseq____",53,536870919]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[50,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[50,logseq____"^Hlogseq____",28,536870919]],[logseq____"^15logseq____",[50,logseq____"^Hlogseq____",45,536870919]],[logseq____"^15logseq____",[50,logseq____"^;logseq____",logseq____"~u67b36c4f-7dc7-4e32-80f5-1fcef47ba562logseq____",536870919]],[logseq____"^15logseq____",[51,logseq____"^Qlogseq____",logseq____"### Example\\nid:: 6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",536870919]],[logseq____"^15logseq____",[51,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[51,logseq____"^Flogseq____",50,536870919]],[logseq____"^15logseq____",[51,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[51,logseq____"^Vlogseq____",53,536870919]],[logseq____"^15logseq____",[51,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[51,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[51,logseq____"^Jlogseq____",[logseq____"^18logseq____"],536870919]],[logseq____"^15logseq____",[51,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____"],536870919]],[logseq____"^15logseq____",[51,logseq____"^;logseq____",logseq____"~u6717ce84-d0f0-48ee-8138-2dd29ce1cc0elogseq____",536870919]],[logseq____"^15logseq____",[52,logseq____"^Qlogseq____",logseq____"application meta-data (Launcher Icon, name)logseq____",536870919]],[logseq____"^15logseq____",[52,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[52,logseq____"^Flogseq____",53,536870919]],[logseq____"^15logseq____",[52,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[52,logseq____"^Vlogseq____",53,536870919]],[logseq____"^15logseq____",[52,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[52,logseq____"^;logseq____",logseq____"~u67b36c4f-f609-4011-bbb0-266f9920c909logseq____",536870919]],[logseq____"^15logseq____",[53,logseq____"^Qlogseq____",logseq____"## Declareslogseq____",536870919]],[logseq____"^15logseq____",[53,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[53,logseq____"^Flogseq____",29,536870919]],[logseq____"^15logseq____",[53,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[53,logseq____"^Vlogseq____",29,536870919]],[logseq____"^15logseq____",[53,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[53,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[53,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[53,logseq____"^;logseq____",logseq____"~u67b36c4f-e2aa-45ba-b848-2548529a835clogseq____",536870919]],[logseq____"^15logseq____",[54,logseq____"^Qlogseq____",logseq____"indicates which apps and components can *call/start this component*logseq____",536870919]],[logseq____"^15logseq____",[54,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[54,logseq____"^Flogseq____",59,536870919]],[logseq____"^15logseq____",[54,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[54,logseq____"^Vlogseq____",59,536870919]],[logseq____"^15logseq____",[54,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[54,logseq____"^;logseq____",logseq____"~u67b36c4f-d385-44a0-b632-fd99bad764bflogseq____",536870919]],[logseq____"^15logseq____",[55,logseq____"^Qlogseq____",logseq____"Example: see ((6717ce84-d0f0-48ee-8138-2dd29ce1cc0e))logseq____",536870919]],[logseq____"^15logseq____",[55,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[55,logseq____"^Flogseq____",56,536870919]],[logseq____"^15logseq____",[55,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[55,logseq____"^Vlogseq____",59,536870919]],[logseq____"^15logseq____",[55,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[55,logseq____"^Hlogseq____",51,536870919]],[logseq____"^15logseq____",[55,logseq____"^;logseq____",logseq____"~u67b36c4f-bfe8-489a-bd96-bb86c084e00elogseq____",536870919]],[logseq____"^15logseq____",[56,logseq____"^Qlogseq____",logseq____"Otherwise, it can only be invoked by components of the same app or a privileged system componentlogseq____",536870919]],[logseq____"^15logseq____",[56,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[56,logseq____"^Flogseq____",57,536870919]],[logseq____"^15logseq____",[56,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[56,logseq____"^Vlogseq____",59,536870919]],[logseq____"^15logseq____",[56,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[56,logseq____"^;logseq____",logseq____"~u67b36c4f-8a34-41e4-ae2c-cd444f4108calogseq____",536870919]],[logseq____"^15logseq____",[57,logseq____"^Qlogseq____",logseq____"if set to `true`, another application can call this component using [Intents]([[Intent Messages]])logseq____",536870919]],[logseq____"^15logseq____",[57,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[57,logseq____"^Flogseq____",54,536870919]],[logseq____"^15logseq____",[57,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[57,logseq____"^Vlogseq____",59,536870919]],[logseq____"^15logseq____",[57,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[57,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[57,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[57,logseq____"^;logseq____",logseq____"~u67b36c4f-7438-46c9-baf4-4fee4ba50806logseq____",536870919]],[logseq____"^15logseq____",[58,logseq____"^Qlogseq____",logseq____"### Query packages / intent filterslogseq____",536870919]],[logseq____"^15logseq____",[58,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[58,logseq____"^Flogseq____",48,536870919]],[logseq____"^15logseq____",[58,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[58,logseq____"^Vlogseq____",63,536870919]],[logseq____"^15logseq____",[58,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[58,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[58,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[58,logseq____"^;logseq____",logseq____"~u67b36c4f-15a1-4017-b2f2-d5edef9d547alogseq____",536870919]],[logseq____"^15logseq____",[59,logseq____"^Qlogseq____",logseq____"### Exportedlogseq____",536870919]],[logseq____"^15logseq____",[59,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[59,logseq____"^Flogseq____",63,536870919]],[logseq____"^15logseq____",[59,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[59,logseq____"^Vlogseq____",63,536870919]],[logseq____"^15logseq____",[59,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[59,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[59,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[59,logseq____"^;logseq____",logseq____"~u67b36c4f-fe1d-4b34-b045-97d4dcdf4eb0logseq____",536870919]],[logseq____"^15logseq____",[60,logseq____"^Qlogseq____",logseq____"If needed, apps can *query* other packages via their explicit name or declare ((6717978c-801a-4383-b970-cffcfbb13343)) that they want to subscribe tologseq____",536870919]],[logseq____"^15logseq____",[60,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[60,logseq____"^Flogseq____",61,536870919]],[logseq____"^15logseq____",[60,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[60,logseq____"^Vlogseq____",58,536870919]],[logseq____"^15logseq____",[60,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[60,logseq____"^Hlogseq____",48,536870919]],[logseq____"^15logseq____",[60,logseq____"^;logseq____",logseq____"~u67b36c4f-e6ed-4d51-b85a-cbe0f508521dlogseq____",536870919]],[logseq____"^15logseq____",[61,logseq____"^Qlogseq____",logseq____"Due to privacy concerns, apps do not have access to a list of installed packageslogseq____",536870919]],[logseq____"^15logseq____",[61,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[61,logseq____"^Flogseq____",58,536870919]],[logseq____"^15logseq____",[61,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[61,logseq____"^Vlogseq____",58,536870919]],[logseq____"^15logseq____",[61,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[61,logseq____"^;logseq____",logseq____"~u67b36c4f-8781-44b3-a859-741ca2268884logseq____",536870919]],[logseq____"^15logseq____",[62,logseq____"^Qlogseq____",logseq____"~```xml\\nlogseq____<manifest xmlns:android=\\logseq____"http://schemas.android.com/apk/res/android\\logseq____"\\n xmlns:tools=\\logseq____"http://schemas.android.com/tools\\logseq____"logseq____>\\n logseq____<application\\n\\tandroid:icon=\\logseq____"@mipmap/ic_launcher\\logseq____"\\n\\tandroid:label=\\logseq____"@string/app_name”\\n\\t...\\n\\tandroid:roundIcon=\\logseq____"@mipmap/ic_launcher_round\\logseq____"\\n\\ttools:targetApi=\\logseq____"31\\logseq____"logseq____>\\n\\t\\n\\t\\tlogseq____<activity android:name=\\logseq____".MainActivity” android:exported=\\logseq____"true\\logseq____"logseq____>\\n\\t\\t\\tlogseq____<intent-filterlogseq____>\\n\\t\\t\\t\\tlogseq____<action android:name=\\logseq____"android.intent.action.MAIN\\logseq____" /logseq____>\\n\\t\\t\\t\\tlogseq____<category android:name=\\logseq____"android.intent.category.LAUNCHER\\logseq____" /logseq____>\\n\\t\\t\\tlogseq____</intent-filterlogseq____>\\n\\t\\tlogseq____</activitylogseq____>\\n\\n \\t\\tlogseq____<receiver android:name=”.MyReceiver\\logseq____" logseq____>\\n\\t\\t\\tlogseq____<intent-filterlogseq____>\\n\\t\\t\\tlogseq____<action android:name=\\logseq____"android.intent.action.BOOT_COMPLETED\\logseq____" /logseq____>\\n\\t\\t\\tlogseq____</intent-filterlogseq____>\\n\\t\\tlogseq____</receiverlogseq____>\\n\\t\\t...\\n\\tlogseq____</applicationlogseq____>\\nlogseq____</manifestlogseq____>\\n```logseq____",536870919]],[logseq____"^15logseq____",[62,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[62,logseq____"^Flogseq____",51,536870919]],[logseq____"^15logseq____",[62,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[62,logseq____"^Vlogseq____",51,536870919]],[logseq____"^15logseq____",[62,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[62,logseq____"^;logseq____",logseq____"~u67b36c4f-26fe-4f54-ba48-474ef2489538logseq____",536870919]],[logseq____"^15logseq____",[63,logseq____"^Qlogseq____",logseq____"## Componentslogseq____",536870919]],[logseq____"^15logseq____",[63,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[63,logseq____"^Flogseq____",53,536870919]],[logseq____"^15logseq____",[63,logseq____"^Xlogseq____",29,536870919]],[logseq____"^15logseq____",[63,logseq____"^Vlogseq____",29,536870919]],[logseq____"^15logseq____",[63,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[63,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[63,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[63,logseq____"^;logseq____",logseq____"~u67b36c4f-7f95-4384-8913-a777acb28121logseq____",536870919]],[logseq____"^15logseq____",[65,logseq____"^Qlogseq____",logseq____"Implements a *publish-subscribe* pattern that receives subscribed-to [Intents]([[Intent Messages]])logseq____",536870919]],[logseq____"^15logseq____",[65,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[65,logseq____"^Flogseq____",45,536870919]],[logseq____"^15logseq____",[65,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[65,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[65,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[65,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[65,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[65,logseq____"^;logseq____",logseq____"~u67b36c4f-a4f3-4ceb-ab3e-818dfdedcb4alogseq____",536870919]],[logseq____"^15logseq____",[66,logseq____"^Qlogseq____",logseq____"Bound to processing the [Intent]([[Intent Messages]]), i.e., *short-lived* (handled in the main thread, hence, app freezes when handling Intent, thus, should finish quickly)logseq____",536871023]],[logseq____"^15logseq____",[66,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[66,logseq____"^Flogseq____",65,536870919]],[logseq____"^15logseq____",[66,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[66,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[66,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[66,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[66,logseq____"^?logseq____",[logseq____"^ logseq____"],536871023]],[logseq____"^15logseq____",[66,logseq____"^Hlogseq____",46,536871023]],[logseq____"^15logseq____",[66,logseq____"^;logseq____",logseq____"~u67b36c4f-a616-4ef7-aa1f-0fb847f5c055logseq____",536870919]],[logseq____"^15logseq____",[67,logseq____"^Qlogseq____",logseq____"Should be registered at runtime using a *context-registered receiver*logseq____",536870919]],[logseq____"^15logseq____",[67,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[67,logseq____"^Flogseq____",66,536870919]],[logseq____"^15logseq____",[67,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[67,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[67,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[67,logseq____"^;logseq____",logseq____"~u67b36c4f-44fa-428e-b434-9dfd8f3d84bclogseq____",536870919]],[logseq____"^15logseq____",[68,logseq____"^Qlogseq____",logseq____"Some [exceptions](https://developer.android.com/develop/background-work/background-tasks/broadcasts/broadcast-exceptions) allow for registration via the [[Application Manifest]]logseq____",536870919]],[logseq____"^15logseq____",[68,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[68,logseq____"^Flogseq____",67,536870919]],[logseq____"^15logseq____",[68,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[68,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[68,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[68,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[68,logseq____"^Hlogseq____",29,536870919]],[logseq____"^15logseq____",[68,logseq____"^;logseq____",logseq____"~u67b36c4f-d010-4274-a869-4bbf80788b14logseq____",536870919]],[logseq____"^15logseq____",[69,logseq____"^Qlogseq____",logseq____"Examples: Location changes, SMS/MMS receivedlogseq____",536870919]],[logseq____"^15logseq____",[69,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[69,logseq____"^Flogseq____",68,536870919]],[logseq____"^15logseq____",[69,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[69,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[69,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[69,logseq____"^;logseq____",logseq____"~u67b36c4f-4aca-4a16-8ff8-d1bf5a6a85belogseq____",536870919]],[logseq____"^15logseq____",[70,logseq____"^Qlogseq____",logseq____"Apps can send *custom broadcasts* with the `sendBroadcast(Intent)` methodlogseq____",536870919]],[logseq____"^15logseq____",[70,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[70,logseq____"^Flogseq____",69,536870919]],[logseq____"^15logseq____",[70,logseq____"^Xlogseq____",45,536870919]],[logseq____"^15logseq____",[70,logseq____"^Vlogseq____",45,536870919]],[logseq____"^15logseq____",[70,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[70,logseq____"^;logseq____",logseq____"~u67b36c4f-0068-4b52-a822-44e1e761ffeelogseq____",536870919]],[logseq____"^15logseq____",[72,logseq____"^Qlogseq____",logseq____"Standardized mechanism used to share (possibly structured) data among applicationslogseq____",536870919]],[logseq____"^15logseq____",[72,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[72,logseq____"^Flogseq____",26,536870919]],[logseq____"^15logseq____",[72,logseq____"^Xlogseq____",26,536870919]],[logseq____"^15logseq____",[72,logseq____"^Vlogseq____",26,536870919]],[logseq____"^15logseq____",[72,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[72,logseq____"^;logseq____",logseq____"~u67b36c4f-5011-48cf-9de3-747358dc20fflogseq____",536870919]],[logseq____"^15logseq____",[73,logseq____"^Qlogseq____",logseq____"SQL-like data managementlogseq____",536870919]],[logseq____"^15logseq____",[73,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[73,logseq____"^Flogseq____",72,536870919]],[logseq____"^15logseq____",[73,logseq____"^Xlogseq____",26,536870919]],[logseq____"^15logseq____",[73,logseq____"^Vlogseq____",26,536870919]],[logseq____"^15logseq____",[73,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[73,logseq____"^;logseq____",logseq____"~u67b36c4f-8d9a-42aa-a379-84c190dd2190logseq____",536870919]],[logseq____"^15logseq____",[74,logseq____"^Qlogseq____",logseq____"URI to address [Content Providers]([[Content Provider Components]]) and their datalogseq____",536870919]],[logseq____"^15logseq____",[74,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[74,logseq____"^Flogseq____",73,536870919]],[logseq____"^15logseq____",[74,logseq____"^Xlogseq____",26,536870919]],[logseq____"^15logseq____",[74,logseq____"^Vlogseq____",26,536870919]],[logseq____"^15logseq____",[74,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[74,logseq____"^Hlogseq____",26,536870919]],[logseq____"^15logseq____",[74,logseq____"^;logseq____",logseq____"~u67b36c4f-76dc-4dd6-8b7d-c1ddaae4b99dlogseq____",536870919]],[logseq____"^15logseq____",[75,logseq____"^Qlogseq____",logseq____"# Examplelogseq____",536870919]],[logseq____"^15logseq____",[75,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[75,logseq____"^Flogseq____",74,536870919]],[logseq____"^15logseq____",[75,logseq____"^Xlogseq____",26,536870919]],[logseq____"^15logseq____",[75,logseq____"^Vlogseq____",26,536870919]],[logseq____"^15logseq____",[75,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[75,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536870919]],[logseq____"^15logseq____",[75,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[75,logseq____"^;logseq____",logseq____"~u67b36c4f-f3aa-4c05-b394-8760f9c9ace0logseq____",536870919]],[logseq____"^15logseq____",[76,logseq____"^Qlogseq____",logseq____"~```java\\nString URL = \\logseq____"content://com.example.android.BookProvider/book/\\logseq____";\\n\\nmCursor = getContentResolver().query(\\n URL,\\t\\t\\t\\t\\t// The content URI\\n mProjection,\\t\\t\\t// String[] of table colums to return for each row\\n mSelectClause,\\t\\t// Selection criteria (logseq____'wherelogseq____' clause)\\n mSelectionArgs,\\t\\t// Selection criteria (arguments for logseq____'wherelogseq____' clause)\\n mSortOrder\\t\\t\\t// Sort order of returned rows\\n);\\n\\nint numcolums = mCursor.getColumnCount();\\nString[] colnames = mCursor.getColumnNames();\\n\\nmCursor.moveToFirst();\\nwhile (cursor.moveToNext()) {\\n // Do something\\n int id = mCursor.getInt(0);\\n String title = mCursor.getString(1);\\n int author_id = mCursor.getInt(2);\\n}\\n```logseq____",536870919]],[logseq____"^15logseq____",[76,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[76,logseq____"^Flogseq____",75,536870919]],[logseq____"^15logseq____",[76,logseq____"^Xlogseq____",26,536870919]],[logseq____"^15logseq____",[76,logseq____"^Vlogseq____",75,536870919]],[logseq____"^15logseq____",[76,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[76,logseq____"^;logseq____",logseq____"~u67b36c4f-994f-4d22-af30-5cba1d658530logseq____",536870919]],[logseq____"^15logseq____",[78,logseq____"^Qlogseq____",logseq____"### Implicitlogseq____",536870919]],[logseq____"^15logseq____",[78,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[78,logseq____"^Flogseq____",83,536870919]],[logseq____"^15logseq____",[78,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[78,logseq____"^Vlogseq____",90,536870919]],[logseq____"^15logseq____",[78,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[78,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[78,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[78,logseq____"^;logseq____",logseq____"~u67b36c4f-c021-4b69-bb85-06c35cc3dc90logseq____",536870919]],[logseq____"^15logseq____",[79,logseq____"^Qlogseq____",logseq____"Example:logseq____",536870919]],[logseq____"^15logseq____",[79,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[79,logseq____"^Flogseq____",80,536870919]],[logseq____"^15logseq____",[79,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[79,logseq____"^Vlogseq____",83,536870919]],[logseq____"^15logseq____",[79,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[79,logseq____"^;logseq____",logseq____"~u67b36c4f-a2bc-4bc1-a4e1-6d2b97596c1flogseq____",536870919]],[logseq____"^15logseq____",[80,logseq____"^Qlogseq____",logseq____"Specify the target component namelogseq____",536870919]],[logseq____"^15logseq____",[80,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[80,logseq____"^Flogseq____",83,536870919]],[logseq____"^15logseq____",[80,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[80,logseq____"^Vlogseq____",83,536870919]],[logseq____"^15logseq____",[80,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[80,logseq____"^;logseq____",logseq____"~u67b36c4f-290e-466b-a8ca-89cc13b73b64logseq____",536870919]],[logseq____"^15logseq____",[81,logseq____"^Qlogseq____",logseq____"2. The Android system searches all apps for an intent filter that matches the intentlogseq____",536870919]],[logseq____"^15logseq____",[81,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[81,logseq____"^Flogseq____",82,536870919]],[logseq____"^15logseq____",[81,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[81,logseq____"^Vlogseq____",95,536870919]],[logseq____"^15logseq____",[81,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[81,logseq____"^;logseq____",logseq____"~u67b36c4f-163e-4179-af1f-fae89b6147ddlogseq____",536870919]],[logseq____"^15logseq____",[82,logseq____"^Qlogseq____",logseq____"1. Activity A creates an [[Intent Messages]] with an action description and passes it to `startActivity()`logseq____",536870919]],[logseq____"^15logseq____",[82,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[82,logseq____"^Flogseq____",87,536870919]],[logseq____"^15logseq____",[82,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[82,logseq____"^Vlogseq____",95,536870919]],[logseq____"^15logseq____",[82,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[82,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[82,logseq____"^;logseq____",logseq____"~u67b36c4f-eab6-445d-8245-753239b72251logseq____",536870919]],[logseq____"^15logseq____",[83,logseq____"^Qlogseq____",logseq____"### Explicitlogseq____",536870919]],[logseq____"^15logseq____",[83,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[83,logseq____"^Flogseq____",90,536870919]],[logseq____"^15logseq____",[83,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[83,logseq____"^Vlogseq____",90,536870919]],[logseq____"^15logseq____",[83,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[83,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[83,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[83,logseq____"^;logseq____",logseq____"~u67b36c4f-d537-4ef9-b753-cc0f385b6a5flogseq____",536870919]],[logseq____"^15logseq____",[84,logseq____"^Qlogseq____",logseq____"## Receiver Componentslogseq____",536870919]],[logseq____"^15logseq____",[84,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[84,logseq____"^Flogseq____",86,536870919]],[logseq____"^15logseq____",[84,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[84,logseq____"^Vlogseq____",46,536870919]],[logseq____"^15logseq____",[84,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[84,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[84,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[84,logseq____"^;logseq____",logseq____"~u67b36c4f-80d7-46ce-bc8e-95f563187076logseq____",536870919]],[logseq____"^15logseq____",[85,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(Intent.ACTION_VIEW);\\nintent.setData(Uri.parse(\\logseq____"https://google.com\\logseq____"));\\nactivity.startActivity(intent);\\n```logseq____",536870919]],[logseq____"^15logseq____",[85,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[85,logseq____"^Flogseq____",93,536870919]],[logseq____"^15logseq____",[85,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[85,logseq____"^Vlogseq____",96,536870919]],[logseq____"^15logseq____",[85,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[85,logseq____"^;logseq____",logseq____"~u67b36c4f-2495-4ed4-a811-dae92f53984blogseq____",536870919]],[logseq____"^15logseq____",[86,logseq____"^Qlogseq____",logseq____"Transmitted via *binder-based IPC*logseq____",536870919]],[logseq____"^15logseq____",[86,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[86,logseq____"^Flogseq____",97,536870919]],[logseq____"^15logseq____",[86,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[86,logseq____"^Vlogseq____",46,536870919]],[logseq____"^15logseq____",[86,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[86,logseq____"^;logseq____",logseq____"~u67b36c4f-9d5b-4c2e-81c5-9c610b1cc284logseq____",536870919]],[logseq____"^15logseq____",[87,logseq____"^Qlogseq____",logseq____"logseq____",536870919]],[logseq____"^15logseq____",[87,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[87,logseq____"^Flogseq____",95,536870919]],[logseq____"^15logseq____",[87,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[87,logseq____"^Vlogseq____",95,536870919]],[logseq____"^15logseq____",[87,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[87,logseq____"^;logseq____",logseq____"~u67b36c4f-abee-4bf0-b203-50951ca503b0logseq____",536870919]],[logseq____"^15logseq____",[88,logseq____"^Qlogseq____",logseq____"Android will find a suitable receiverlogseq____",536870919]],[logseq____"^15logseq____",[88,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[88,logseq____"^Flogseq____",92,536870919]],[logseq____"^15logseq____",[88,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[88,logseq____"^Vlogseq____",78,536870919]],[logseq____"^15logseq____",[88,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[88,logseq____"^;logseq____",logseq____"~u67b36c4f-d6a3-4f4f-b5a0-aea14b8b0bdclogseq____",536870919]],[logseq____"^15logseq____",[89,logseq____"^Qlogseq____",logseq____"Start `MainActivity` component within the same packagelogseq____",536870919]],[logseq____"^15logseq____",[89,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[89,logseq____"^Flogseq____",79,536870919]],[logseq____"^15logseq____",[89,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[89,logseq____"^Vlogseq____",79,536870919]],[logseq____"^15logseq____",[89,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[89,logseq____"^;logseq____",logseq____"~u67b36c4f-a91b-487f-9877-9ddd972ca5eblogseq____",536870919]],[logseq____"^15logseq____",[90,logseq____"^Qlogseq____",logseq____"Can be set explicitly or implicitlylogseq____",536870919]],[logseq____"^15logseq____",[90,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[90,logseq____"^Flogseq____",84,536870919]],[logseq____"^15logseq____",[90,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[90,logseq____"^Vlogseq____",84,536870919]],[logseq____"^15logseq____",[90,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[90,logseq____"^;logseq____",logseq____"~u67b36c4f-dd52-4ede-b349-1200156d429flogseq____",536870919]],[logseq____"^15logseq____",[91,logseq____"^Qlogseq____",logseq____"Intent message as data object representing an intend to do somethinglogseq____",536870919]],[logseq____"^15logseq____",[91,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[91,logseq____"^Flogseq____",46,536870919]],[logseq____"^15logseq____",[91,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[91,logseq____"^Vlogseq____",46,536870919]],[logseq____"^15logseq____",[91,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[91,logseq____"^;logseq____",logseq____"~u67b36c4f-8d88-4efb-8c24-c7e38af0a118logseq____",536870919]],[logseq____"^15logseq____",[92,logseq____"^Qlogseq____",logseq____"Specify some `Action String`, `Category` and `Data`logseq____",536870919]],[logseq____"^15logseq____",[92,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[92,logseq____"^Flogseq____",78,536870919]],[logseq____"^15logseq____",[92,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[92,logseq____"^Vlogseq____",78,536870919]],[logseq____"^15logseq____",[92,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[92,logseq____"^;logseq____",logseq____"~u67b36c4f-7375-4c4f-8583-9168903dfb18logseq____",536870919]],[logseq____"^15logseq____",[93,logseq____"^Qlogseq____",logseq____"Open a link in the users preferred browserlogseq____",536870919]],[logseq____"^15logseq____",[93,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[93,logseq____"^Flogseq____",96,536870919]],[logseq____"^15logseq____",[93,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[93,logseq____"^Vlogseq____",96,536870919]],[logseq____"^15logseq____",[93,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[93,logseq____"^;logseq____",logseq____"~u67b36c4f-2047-4e87-9f1a-a3a04774971elogseq____",536870919]],[logseq____"^15logseq____",[94,logseq____"^Qlogseq____",logseq____"3. When a match is found it starts the matching activity (Activity B) by invoking its `onCreate()` method and passing it the [[Intent Messages]]logseq____",536870919]],[logseq____"^15logseq____",[94,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[94,logseq____"^Flogseq____",81,536870919]],[logseq____"^15logseq____",[94,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[94,logseq____"^Vlogseq____",95,536870919]],[logseq____"^15logseq____",[94,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[94,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[94,logseq____"^;logseq____",logseq____"~u67b36c4f-ebdf-4fca-afc2-c8d69b368a34logseq____",536870919]],[logseq____"^15logseq____",[95,logseq____"^Qlogseq____",logseq____"## Examplelogseq____",536870919]],[logseq____"^15logseq____",[95,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[95,logseq____"^Flogseq____",84,536870919]],[logseq____"^15logseq____",[95,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[95,logseq____"^Vlogseq____",46,536870919]],[logseq____"^15logseq____",[95,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[95,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[95,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[95,logseq____"^;logseq____",logseq____"~u67b36c4f-c66b-4840-8cae-e1cac97eeb6alogseq____",536870919]],[logseq____"^15logseq____",[96,logseq____"^Qlogseq____",logseq____"Example:logseq____",536870919]],[logseq____"^15logseq____",[96,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[96,logseq____"^Flogseq____",88,536870919]],[logseq____"^15logseq____",[96,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[96,logseq____"^Vlogseq____",78,536870919]],[logseq____"^15logseq____",[96,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[96,logseq____"^;logseq____",logseq____"~u67b36c4f-868b-4bb2-bf54-4a7410069b04logseq____",536870919]],[logseq____"^15logseq____",[97,logseq____"^Qlogseq____",logseq____"Are sent and received by applications (can also be sent to components of different apps)logseq____",536870919]],[logseq____"^15logseq____",[97,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[97,logseq____"^Flogseq____",91,536870919]],[logseq____"^15logseq____",[97,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[97,logseq____"^Vlogseq____",46,536870919]],[logseq____"^15logseq____",[97,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[97,logseq____"^;logseq____",logseq____"~u67b36c4f-9831-4857-b3fa-b12f893e0de2logseq____",536870919]],[logseq____"^15logseq____",[98,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(this, MainActivity.class);\\nstartActivity(intent);\\n```logseq____",536870919]],[logseq____"^15logseq____",[98,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[98,logseq____"^Flogseq____",89,536870919]],[logseq____"^15logseq____",[98,logseq____"^Xlogseq____",46,536870919]],[logseq____"^15logseq____",[98,logseq____"^Vlogseq____",79,536870919]],[logseq____"^15logseq____",[98,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[98,logseq____"^;logseq____",logseq____"~u67b36c4f-6971-44e3-bfa0-03788d8a8181logseq____",536870919]],[logseq____"^15logseq____",[100,logseq____"^Klogseq____",1739811919697,536870919]],[logseq____"^15logseq____",[100,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[100,logseq____"^Ylogseq____",logseq____"organizationlogseq____",536870919]],[logseq____"^15logseq____",[100,logseq____"^11logseq____",logseq____"Organizationlogseq____",536870919]],[logseq____"^15logseq____",[100,logseq____"^Blogseq____",1739811919697,536870919]],[logseq____"^15logseq____",[100,logseq____"^;logseq____",logseq____"~u67b36c4f-5732-40b8-9661-d0716ef39397logseq____",536870919]],[logseq____"^15logseq____",[101,logseq____"^Qlogseq____",logseq____"Hardware-based securitylogseq____",536870919]],[logseq____"^15logseq____",[101,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[101,logseq____"^Flogseq____",107,536870919]],[logseq____"^15logseq____",[101,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[101,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[101,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[101,logseq____"^;logseq____",logseq____"~u67b36c4f-9e3c-4469-85af-6ddbd8012c27logseq____",536870919]],[logseq____"^15logseq____",[102,logseq____"^Qlogseq____",logseq____"Platform Securitylogseq____",536870919]],[logseq____"^15logseq____",[102,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[102,logseq____"^Flogseq____",105,536870919]],[logseq____"^15logseq____",[102,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[102,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[102,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[102,logseq____"^;logseq____",logseq____"~u67b36c4f-c63d-4d8e-b9d0-fe1893398dc9logseq____",536870919]],[logseq____"^15logseq____",[103,logseq____"^Qlogseq____",logseq____"Fuchsialogseq____",536870919]],[logseq____"^15logseq____",[103,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[103,logseq____"^Flogseq____",101,536870919]],[logseq____"^15logseq____",[103,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[103,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[103,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[103,logseq____"^;logseq____",logseq____"~u67b36c4f-0576-40fa-bab5-9f5c81e16211logseq____",536870919]],[logseq____"^15logseq____",[104,logseq____"^Qlogseq____",logseq____"## Examslogseq____",536870919]],[logseq____"^15logseq____",[104,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[104,logseq____"^Flogseq____",100,536870919]],[logseq____"^15logseq____",[104,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[104,logseq____"^Vlogseq____",100,536870919]],[logseq____"^15logseq____",[104,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[104,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[104,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[104,logseq____"^;logseq____",logseq____"~u67b36c4f-0d50-4472-9684-342dee95c3b9logseq____",536870919]],[logseq____"^15logseq____",[105,logseq____"^Qlogseq____",logseq____"Security of mobile platforms and ecosystemslogseq____",536870919]],[logseq____"^15logseq____",[105,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[105,logseq____"^Flogseq____",110,536870919]],[logseq____"^15logseq____",[105,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[105,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[105,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[105,logseq____"^;logseq____",logseq____"~u67b36c4f-ec0e-4a1f-8b3a-c8f613811758logseq____",536870919]],[logseq____"^15logseq____",[106,logseq____"^Qlogseq____",logseq____"End-Term: `28.02.2025`, `10:00-12:00` @`GHH`logseq____",536870919]],[logseq____"^15logseq____",[106,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[106,logseq____"^Flogseq____",104,536870919]],[logseq____"^15logseq____",[106,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[106,logseq____"^Vlogseq____",104,536870919]],[logseq____"^15logseq____",[106,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[106,logseq____"^;logseq____",logseq____"~u67b36c4f-fdb3-4c69-ab17-8c869c030ea9logseq____",536870919]],[logseq____"^15logseq____",[107,logseq____"^Qlogseq____",logseq____"Some web logseq____& network securitylogseq____",536870919]],[logseq____"^15logseq____",[107,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[107,logseq____"^Flogseq____",108,536870919]],[logseq____"^15logseq____",[107,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[107,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[107,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[107,logseq____"^;logseq____",logseq____"~u67b36c4f-a927-4b7d-921c-0e3867f06030logseq____",536870919]],[logseq____"^15logseq____",[108,logseq____"^Qlogseq____",logseq____"Usable Securitylogseq____",536870919]],[logseq____"^15logseq____",[108,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[108,logseq____"^Flogseq____",102,536870919]],[logseq____"^15logseq____",[108,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[108,logseq____"^Vlogseq____",110,536870919]],[logseq____"^15logseq____",[108,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[108,logseq____"^;logseq____",logseq____"~u67b36c4f-23a7-4f3d-be8d-c9306877635flogseq____",536870919]],[logseq____"^15logseq____",[109,logseq____"^Qlogseq____",logseq____"Retake: `27.03.2025`, `10:00-12:00` @`GHH`logseq____",536870919]],[logseq____"^15logseq____",[109,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[109,logseq____"^Flogseq____",106,536870919]],[logseq____"^15logseq____",[109,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[109,logseq____"^Vlogseq____",104,536870919]],[logseq____"^15logseq____",[109,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[109,logseq____"^;logseq____",logseq____"~u67b36c4f-4d9b-4b34-a3d2-0d8af77aedf9logseq____",536870919]],[logseq____"^15logseq____",[110,logseq____"^Qlogseq____",logseq____"## Content:logseq____",536870919]],[logseq____"^15logseq____",[110,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[110,logseq____"^Flogseq____",104,536870919]],[logseq____"^15logseq____",[110,logseq____"^Xlogseq____",100,536870919]],[logseq____"^15logseq____",[110,logseq____"^Vlogseq____",100,536870919]],[logseq____"^15logseq____",[110,logseq____"^Ulogseq____",100,536870919]],[logseq____"^15logseq____",[110,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[110,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[110,logseq____"^;logseq____",logseq____"~u67b36c4f-57b3-4d90-ab59-63cb7e678542logseq____",536870919]],[logseq____"^15logseq____",[112,logseq____"^Qlogseq____",logseq____"{:height 515, :width 389}logseq____",536870919]],[logseq____"^15logseq____",[112,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[112,logseq____"^Flogseq____",117,536870919]],[logseq____"^15logseq____",[112,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[112,logseq____"^Vlogseq____",117,536870919]],[logseq____"^15logseq____",[112,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[112,logseq____"^;logseq____",logseq____"~u67b36c4f-9555-4752-bcd5-97c791ddd3d4logseq____",536870919]],[logseq____"^15logseq____",[113,logseq____"^Qlogseq____",logseq____"~```java\\n// Auto-generated by AIDL\\npublic class MyService extends Service {\\n // ...\\n \\n @Override\\n public IBinder onBind(Intent intent) {\\n return mBinder;\\n }\\n \\n private final MyService.Stub mBinder = new MyService.Stub() {\\n public int foo(String bar) {\\n return 42;\\n };\\n }\\n \\n // ...\\n}\\n```logseq____",536870919]],[logseq____"^15logseq____",[113,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[113,logseq____"^Flogseq____",125,536870919]],[logseq____"^15logseq____",[113,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[113,logseq____"^Vlogseq____",122,536870919]],[logseq____"^15logseq____",[113,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[113,logseq____"^;logseq____",logseq____"~u67b36c4f-1096-47b4-86bb-0be0186ed273logseq____",536870919]],[logseq____"^15logseq____",[114,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw, excalidraw-2024-10-22-15-59-19}}logseq____",536870919]],[logseq____"^15logseq____",[114,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[114,logseq____"^Flogseq____",126,536870919]],[logseq____"^15logseq____",[114,logseq____"^Slogseq____",140,536870919]],[logseq____"^15logseq____",[114,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[114,logseq____"^Vlogseq____",129,536870919]],[logseq____"^15logseq____",[114,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[114,logseq____"^;logseq____",logseq____"~u67b36c4f-b6d0-47a9-9159-55e188cbc57dlogseq____",536870919]],[logseq____"^15logseq____",[115,logseq____"^Qlogseq____",logseq____"Can be invoked in different ways, i.e, client starts a service or client binds to a servicelogseq____",536870919]],[logseq____"^15logseq____",[115,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[115,logseq____"^Flogseq____",112,536870919]],[logseq____"^15logseq____",[115,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[115,logseq____"^Vlogseq____",117,536870919]],[logseq____"^15logseq____",[115,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[115,logseq____"^;logseq____",logseq____"~u67b36c4f-bfb3-4223-8078-b51edad4a18elogseq____",536870919]],[logseq____"^15logseq____",[116,logseq____"^Qlogseq____",logseq____"~```java\\npublic class LocalService extends Service {\\n private final IBinder binder = new LocalBinder();\\n private final Random mGenderator = Random();\\n \\n // No need to deal with IPC as service runs in same process as client\\n public class LocalBinder extends Binder {\\n LocalService getService() {\\n return LocalService.this; // clients can call public methods\\n }\\n }\\n \\n @Override\\n public IBinder onBind(Intent intent) {\\n return binder;\\n }\\n \\n // Method called by clients\\n public int getRandomNumber() {\\n return mGenerator.nextInt(100);\\n }\\n}\\n```logseq____",536870919]],[logseq____"^15logseq____",[116,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[116,logseq____"^Flogseq____",139,536870919]],[logseq____"^15logseq____",[116,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[116,logseq____"^Vlogseq____",139,536870919]],[logseq____"^15logseq____",[116,logseq____"^Ulogseq____",27,536870928]],[logseq____"^15logseq____",[116,logseq____"^;logseq____",logseq____"~u67b36c4f-c6ea-4e6b-9c4c-be9feb67d90flogseq____",536870919]],[logseq____"^15logseq____",[117,logseq____"^Qlogseq____",logseq____"# Lifecyclelogseq____",536870919]],[logseq____"^15logseq____",[117,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[117,logseq____"^Flogseq____",118,536870919]],[logseq____"^15logseq____",[117,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[117,logseq____"^Vlogseq____",27,536870919]],[logseq____"^15logseq____",[117,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[117,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536870919]],[logseq____"^15logseq____",[117,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[117,logseq____"^;logseq____",logseq____"~u67b36c4f-7a35-42c5-b430-300931581a18logseq____",536870919]],[logseq____"^15logseq____",[118,logseq____"^Qlogseq____",logseq____"Can be *local* to an app or in a *remote process*logseq____",536870919]],[logseq____"^15logseq____",[118,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[118,logseq____"^Flogseq____",130,536870919]],[logseq____"^15logseq____",[118,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[118,logseq____"^Vlogseq____",27,536870919]],[logseq____"^15logseq____",[118,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[118,logseq____"^;logseq____",logseq____"~u67b36c4f-4bf8-4c8d-972b-51be53a4aa47logseq____",536870919]],[logseq____"^15logseq____",[119,logseq____"^Qlogseq____",logseq____"## Client binds to local servicelogseq____",536870919]],[logseq____"^15logseq____",[119,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[119,logseq____"^Flogseq____",129,536870919]],[logseq____"^15logseq____",[119,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[119,logseq____"^Vlogseq____",117,536870919]],[logseq____"^15logseq____",[119,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[119,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[119,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[119,logseq____"^;logseq____",logseq____"~u67b36c4f-3526-469a-b4b8-faff690235fdlogseq____",536870919]],[logseq____"^15logseq____",[120,logseq____"^Qlogseq____",logseq____"## Started by clientlogseq____",536870919]],[logseq____"^15logseq____",[120,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[120,logseq____"^Flogseq____",115,536870919]],[logseq____"^15logseq____",[120,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[120,logseq____"^Vlogseq____",117,536870919]],[logseq____"^15logseq____",[120,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[120,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[120,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[120,logseq____"^;logseq____",logseq____"~u67b36c4f-e682-4232-bad8-5b492e169337logseq____",536870919]],[logseq____"^15logseq____",[121,logseq____"^Qlogseq____",logseq____"Define interface in *Android Interface Definition Language* (AIDL; domain-specific language)logseq____",536870919]],[logseq____"^15logseq____",[121,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[121,logseq____"^Flogseq____",134,536870919]],[logseq____"^15logseq____",[121,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[121,logseq____"^Vlogseq____",134,536870919]],[logseq____"^15logseq____",[121,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[121,logseq____"^;logseq____",logseq____"~u67b36c4f-9a22-4ca7-a000-47d183c2bd76logseq____",536870919]],[logseq____"^15logseq____",[122,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870919]],[logseq____"^15logseq____",[122,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[122,logseq____"^Flogseq____",114,536870919]],[logseq____"^15logseq____",[122,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[122,logseq____"^Vlogseq____",129,536870919]],[logseq____"^15logseq____",[122,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[122,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[122,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[122,logseq____"^;logseq____",logseq____"~u67b36c4f-187d-42c1-9c7c-3e620c7d48fclogseq____",536870919]],[logseq____"^15logseq____",[123,logseq____"^Qlogseq____",logseq____"~```java\\npublic class HelloService extends Service {\\n // implement stuff ...\\n \\n @Override\\n public int onStartCommand(Intent intent, int flags, int startId) {\\n // Handle call ...\\n \\n return START_NOT_STICKY;\\n }\\n}\\n```logseq____",536870919]],[logseq____"^15logseq____",[123,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[123,logseq____"^Flogseq____",133,536870919]],[logseq____"^15logseq____",[123,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[123,logseq____"^Vlogseq____",133,536870919]],[logseq____"^15logseq____",[123,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[123,logseq____"^;logseq____",logseq____"~u67b36c4f-745b-41d5-b96b-f15e4b3a286elogseq____",536870919]],[logseq____"^15logseq____",[124,logseq____"^Qlogseq____",logseq____"The service is then explicitly stopped (either by the client or itself)logseq____",536870919]],[logseq____"^15logseq____",[124,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[124,logseq____"^Flogseq____",136,536870919]],[logseq____"^15logseq____",[124,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[124,logseq____"^Vlogseq____",120,536870919]],[logseq____"^15logseq____",[124,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[124,logseq____"^;logseq____",logseq____"~u67b36c4f-6dc1-4d0b-b986-e979188b8aaelogseq____",536870919]],[logseq____"^15logseq____",[125,logseq____"^Qlogseq____",logseq____"~```java\\ninterface MySerice {\\n int foo(String bar);\\n}\\n```logseq____",536870919]],[logseq____"^15logseq____",[125,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[125,logseq____"^Flogseq____",122,536870919]],[logseq____"^15logseq____",[125,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[125,logseq____"^Vlogseq____",122,536870919]],[logseq____"^15logseq____",[125,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[125,logseq____"^;logseq____",logseq____"~u67b36c4f-e990-4bd4-8114-df9db474f83dlogseq____",536870919]],[logseq____"^15logseq____",[126,logseq____"^Qlogseq____",logseq____"Once all services unbound, the servicelogseq____'s `onUnbind` function is calledlogseq____",536870919]],[logseq____"^15logseq____",[126,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[126,logseq____"^Flogseq____",128,536870919]],[logseq____"^15logseq____",[126,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[126,logseq____"^Vlogseq____",129,536870919]],[logseq____"^15logseq____",[126,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[126,logseq____"^;logseq____",logseq____"~u67b36c4f-8120-420a-8865-98bb138091d9logseq____",536870919]],[logseq____"^15logseq____",[127,logseq____"^Qlogseq____",logseq____"Simply extend the Binder class instead of using AIDLlogseq____",536870919]],[logseq____"^15logseq____",[127,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[127,logseq____"^Flogseq____",119,536870919]],[logseq____"^15logseq____",[127,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[127,logseq____"^Vlogseq____",119,536870919]],[logseq____"^15logseq____",[127,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[127,logseq____"^;logseq____",logseq____"~u67b36c4f-cd31-4ae8-8182-b6eacdb861falogseq____",536870919]],[logseq____"^15logseq____",[128,logseq____"^Qlogseq____",logseq____"Service is stopped implicitly after all clients called `unbindService`logseq____",536870919]],[logseq____"^15logseq____",[128,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[128,logseq____"^Flogseq____",132,536870919]],[logseq____"^15logseq____",[128,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[128,logseq____"^Vlogseq____",129,536870919]],[logseq____"^15logseq____",[128,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[128,logseq____"^;logseq____",logseq____"~u67b36c4f-23db-40dd-b3ae-fc3a2ae5e300logseq____",536870919]],[logseq____"^15logseq____",[129,logseq____"^Qlogseq____",logseq____"## Client binds to remote servicelogseq____",536870919]],[logseq____"^15logseq____",[129,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[129,logseq____"^Flogseq____",120,536870919]],[logseq____"^15logseq____",[129,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[129,logseq____"^Vlogseq____",117,536870919]],[logseq____"^15logseq____",[129,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[129,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[129,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[129,logseq____"^;logseq____",logseq____"~u67b36c4f-1aa6-43d4-b8cc-52084f14df6blogseq____",536870919]],[logseq____"^15logseq____",[130,logseq____"^Qlogseq____",logseq____"Background processes without user interactionlogseq____",536870919]],[logseq____"^15logseq____",[130,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[130,logseq____"^Flogseq____",27,536870919]],[logseq____"^15logseq____",[130,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[130,logseq____"^Vlogseq____",27,536870919]],[logseq____"^15logseq____",[130,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[130,logseq____"^;logseq____",logseq____"~u67b36c4f-5f42-4281-9a12-edd20875f563logseq____",536870919]],[logseq____"^15logseq____",[131,logseq____"^Qlogseq____",logseq____"This example requires a fully explicit [Intent]([[Intent Messages]]), i.e., use the component namelogseq____",536870919]],[logseq____"^15logseq____",[131,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[131,logseq____"^Flogseq____",138,536870919]],[logseq____"^15logseq____",[131,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[131,logseq____"^Vlogseq____",133,536870919]],[logseq____"^15logseq____",[131,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[131,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[131,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[131,logseq____"^;logseq____",logseq____"~u67b36c4f-c60c-42fa-87f0-ab800511c71elogseq____",536870919]],[logseq____"^15logseq____",[132,logseq____"^Qlogseq____",logseq____"~`bindService` calls the `onBind` functionlogseq____",536870919]],[logseq____"^15logseq____",[132,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[132,logseq____"^Flogseq____",129,536870919]],[logseq____"^15logseq____",[132,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[132,logseq____"^Vlogseq____",129,536870919]],[logseq____"^15logseq____",[132,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[132,logseq____"^;logseq____",logseq____"~u67b36c4f-c3e1-4c3e-b978-c5c5fc65e615logseq____",536870919]],[logseq____"^15logseq____",[133,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870919]],[logseq____"^15logseq____",[133,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[133,logseq____"^Flogseq____",124,536870919]],[logseq____"^15logseq____",[133,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[133,logseq____"^Vlogseq____",120,536870919]],[logseq____"^15logseq____",[133,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[133,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870919]],[logseq____"^15logseq____",[133,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[133,logseq____"^;logseq____",logseq____"~u67b36c4f-893a-4cb8-9e93-0e05001881adlogseq____",536870919]],[logseq____"^15logseq____",[134,logseq____"^Qlogseq____",logseq____"Remote:logseq____",536870919]],[logseq____"^15logseq____",[134,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[134,logseq____"^Flogseq____",118,536870919]],[logseq____"^15logseq____",[134,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[134,logseq____"^Vlogseq____",118,536870919]],[logseq____"^15logseq____",[134,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[134,logseq____"^;logseq____",logseq____"~u67b36c4f-4c61-4358-a19d-1e27aad87fb2logseq____",536870919]],[logseq____"^15logseq____",[135,logseq____"^Qlogseq____",logseq____"AIDL compiler creates a *skeleton* for the service (stub) and a *proxy object* abstracting the servicelogseq____",536870919]],[logseq____"^15logseq____",[135,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[135,logseq____"^Flogseq____",121,536870919]],[logseq____"^15logseq____",[135,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[135,logseq____"^Vlogseq____",134,536870919]],[logseq____"^15logseq____",[135,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[135,logseq____"^;logseq____",logseq____"~u67b36c4f-9e96-4e7b-9d1b-23b82cbc27d8logseq____",536870919]],[logseq____"^15logseq____",[136,logseq____"^Qlogseq____",logseq____"~`startService` calls the `onStartCommand` functionlogseq____",536870919]],[logseq____"^15logseq____",[136,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[136,logseq____"^Flogseq____",120,536870919]],[logseq____"^15logseq____",[136,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[136,logseq____"^Vlogseq____",120,536870919]],[logseq____"^15logseq____",[136,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[136,logseq____"^;logseq____",logseq____"~u67b36c4f-4571-4ceb-a083-7b323a1dfa73logseq____",536870919]],[logseq____"^15logseq____",[137,logseq____"^Qlogseq____",logseq____"Examples: Wi-Fi manager, Location managerlogseq____",536870919]],[logseq____"^15logseq____",[137,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[137,logseq____"^Flogseq____",135,536870919]],[logseq____"^15logseq____",[137,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[137,logseq____"^Vlogseq____",134,536870919]],[logseq____"^15logseq____",[137,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[137,logseq____"^;logseq____",logseq____"~u67b36c4f-7985-49ba-b185-d1e0debd6fb4logseq____",536870919]],[logseq____"^15logseq____",[138,logseq____"^Qlogseq____",logseq____"~```java\\nIntent intent = new Intent(this, HelloService.class);\\nstartService(intent);\\n```logseq____",536870919]],[logseq____"^15logseq____",[138,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[138,logseq____"^Flogseq____",123,536870919]],[logseq____"^15logseq____",[138,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[138,logseq____"^Vlogseq____",133,536870919]],[logseq____"^15logseq____",[138,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[138,logseq____"^;logseq____",logseq____"~u67b36c4f-06e6-4e8e-8e55-08ef18a778aalogseq____",536870919]],[logseq____"^15logseq____",[139,logseq____"^Qlogseq____",logseq____"### Examplelogseq____",536870919]],[logseq____"^15logseq____",[139,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[139,logseq____"^Flogseq____",127,536870954]],[logseq____"^15logseq____",[139,logseq____"^Xlogseq____",27,536870919]],[logseq____"^15logseq____",[139,logseq____"^Vlogseq____",119,536870919]],[logseq____"^15logseq____",[139,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[139,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536870954]],[logseq____"^15logseq____",[139,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536870954]],[logseq____"^15logseq____",[139,logseq____"^;logseq____",logseq____"~u67b36c4f-3360-4b3e-b1ee-72ac81f74339logseq____",536870919]],[logseq____"^15logseq____",[140,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:logseq.macro-namelogseq____",logseq____"rendererlogseq____",logseq____"~:logseq.macro-argumentslogseq____",[logseq____"excalidrawlogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____"]],536870919]],[logseq____"^15logseq____",[140,logseq____"^Wlogseq____",logseq____"macrologseq____",536870919]],[logseq____"^15logseq____",[140,logseq____"^Tlogseq____",logseq____"renderer excalidraw excalidraw-2024-10-22-15-59-19logseq____",536870919]],[logseq____"^15logseq____",[142,logseq____"^Klogseq____",1739811919713,536870919]],[logseq____"^15logseq____",[142,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[142,logseq____"^Ylogseq____",logseq____"topicslogseq____",536870919]],[logseq____"^15logseq____",[142,logseq____"^11logseq____",logseq____"Topicslogseq____",536870919]],[logseq____"^15logseq____",[142,logseq____"^Blogseq____",1740063846131,536872935]],[logseq____"^15logseq____",[142,logseq____"^;logseq____",logseq____"~u67b36c4f-3c27-4ef9-bfe2-0f45e62d1b8blogseq____",536870919]],[logseq____"^15logseq____",[143,logseq____"^Qlogseq____",logseq____"## [[Activity Component]]logseq____",536870919]],[logseq____"^15logseq____",[143,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[143,logseq____"^Flogseq____",151,536870919]],[logseq____"^15logseq____",[143,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[143,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[143,logseq____"^Ulogseq____",28,536870919]],[logseq____"^15logseq____",[143,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[143,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[143,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[143,logseq____"^Hlogseq____",28,536870919]],[logseq____"^15logseq____",[143,logseq____"^;logseq____",logseq____"~u67b36c4f-2739-4deb-be65-5b87697e30cdlogseq____",536870919]],[logseq____"^15logseq____",[144,logseq____"^Qlogseq____",logseq____"## [[Broadcast Receiver Components]]logseq____",536870919]],[logseq____"^15logseq____",[144,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[144,logseq____"^Flogseq____",149,536870919]],[logseq____"^15logseq____",[144,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[144,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[144,logseq____"^Ulogseq____",45,536870919]],[logseq____"^15logseq____",[144,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[144,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[144,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[144,logseq____"^Hlogseq____",45,536870919]],[logseq____"^15logseq____",[144,logseq____"^;logseq____",logseq____"~u67b36c4f-22ef-4ebd-8899-c42e98bc0392logseq____",536870919]],[logseq____"^15logseq____",[145,logseq____"^Qlogseq____",logseq____"## [[APK (Android Package)]]logseq____",536870919]],[logseq____"^15logseq____",[145,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[145,logseq____"^Flogseq____",148,536870919]],[logseq____"^15logseq____",[145,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[145,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[145,logseq____"^Ulogseq____",25,536870919]],[logseq____"^15logseq____",[145,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[145,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[145,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[145,logseq____"^Hlogseq____",25,536870919]],[logseq____"^15logseq____",[145,logseq____"^;logseq____",logseq____"~u67b36c4f-4ebf-443d-bfef-7b4a858ed889logseq____",536870919]],[logseq____"^15logseq____",[146,logseq____"^Qlogseq____",logseq____"## [[Service Components]]logseq____",536870919]],[logseq____"^15logseq____",[146,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[146,logseq____"^Flogseq____",150,536870919]],[logseq____"^15logseq____",[146,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[146,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[146,logseq____"^Ulogseq____",27,536870919]],[logseq____"^15logseq____",[146,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[146,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[146,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[146,logseq____"^Hlogseq____",27,536870919]],[logseq____"^15logseq____",[146,logseq____"^;logseq____",logseq____"~u67b36c4f-bb2e-4ef2-9b22-f5cd9f9ba3aflogseq____",536870919]],[logseq____"^15logseq____",[147,logseq____"^Qlogseq____",logseq____"# Topic 2 - Security Architecturelogseq____",536870919]],[logseq____"^15logseq____",[147,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[147,logseq____"^Flogseq____",148,536870919]],[logseq____"^15logseq____",[147,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[147,logseq____"^Vlogseq____",142,536870919]],[logseq____"^15logseq____",[147,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[147,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536870919]],[logseq____"^15logseq____",[147,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[147,logseq____"^;logseq____",logseq____"~u67b36c4f-9203-420b-b1d9-0e6ccd9e98c1logseq____",536870919]],[logseq____"^15logseq____",[148,logseq____"^Qlogseq____",logseq____"# Topic 1 - Android Basicslogseq____",536870919]],[logseq____"^15logseq____",[148,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[148,logseq____"^Flogseq____",142,536870919]],[logseq____"^15logseq____",[148,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[148,logseq____"^Vlogseq____",142,536870919]],[logseq____"^15logseq____",[148,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[148,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",1],536870919]],[logseq____"^15logseq____",[148,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[148,logseq____"^;logseq____",logseq____"~u67b36c4f-e071-4455-b6f9-ba65314ec57elogseq____",536870919]],[logseq____"^15logseq____",[149,logseq____"^Qlogseq____",logseq____"## [[Content Provider Components]]logseq____",536870919]],[logseq____"^15logseq____",[149,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[149,logseq____"^Flogseq____",146,536870919]],[logseq____"^15logseq____",[149,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[149,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[149,logseq____"^Ulogseq____",26,536870919]],[logseq____"^15logseq____",[149,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[149,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[149,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[149,logseq____"^Hlogseq____",26,536870919]],[logseq____"^15logseq____",[149,logseq____"^;logseq____",logseq____"~u67b36c4f-2753-4e4d-babb-3530124de6f6logseq____",536870919]],[logseq____"^15logseq____",[150,logseq____"^Qlogseq____",logseq____"## [[Intent Messages]]logseq____",536870919]],[logseq____"^15logseq____",[150,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[150,logseq____"^Flogseq____",143,536870919]],[logseq____"^15logseq____",[150,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[150,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[150,logseq____"^Ulogseq____",46,536870919]],[logseq____"^15logseq____",[150,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[150,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[150,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[150,logseq____"^Hlogseq____",46,536870919]],[logseq____"^15logseq____",[150,logseq____"^;logseq____",logseq____"~u67b36c4f-1604-454f-8f5d-6b851e133d7elogseq____",536870919]],[logseq____"^15logseq____",[151,logseq____"^Qlogseq____",logseq____"## [[Application Manifest]]logseq____",536870919]],[logseq____"^15logseq____",[151,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[151,logseq____"^Flogseq____",145,536870919]],[logseq____"^15logseq____",[151,logseq____"^Xlogseq____",142,536870919]],[logseq____"^15logseq____",[151,logseq____"^Vlogseq____",148,536870919]],[logseq____"^15logseq____",[151,logseq____"^Ulogseq____",29,536870919]],[logseq____"^15logseq____",[151,logseq____"^Ulogseq____",142,536870919]],[logseq____"^15logseq____",[151,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536870919]],[logseq____"^15logseq____",[151,logseq____"^Jlogseq____",[],536870919]],[logseq____"^15logseq____",[151,logseq____"^Hlogseq____",29,536870919]],[logseq____"^15logseq____",[151,logseq____"^;logseq____",logseq____"~u67b36c4f-5f9b-4044-b914-9726057723b5logseq____",536870919]],[logseq____"^15logseq____",[153,logseq____"^Klogseq____",1739811919719,536870919]],[logseq____"^15logseq____",[153,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[153,logseq____"^Ylogseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____",536870919]],[logseq____"^15logseq____",[153,logseq____"^11logseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____",536870919]],[logseq____"^15logseq____",[153,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:excalidraw-pluginlogseq____",true],536870919]],[logseq____"^15logseq____",[153,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",logseq____"truelogseq____"],536870919]],[logseq____"^15logseq____",[153,logseq____"^Blogseq____",1739811919719,536870919]],[logseq____"^15logseq____",[153,logseq____"^;logseq____",logseq____"~u67b36c4f-1d4d-4387-a93c-7ce8107b03c3logseq____",536870919]],[logseq____"^15logseq____",[154,logseq____"^Klogseq____",1739811919732,536870919]],[logseq____"^15logseq____",[154,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[154,logseq____"^Ylogseq____",logseq____"excalidraw-pluginlogseq____",536870919]],[logseq____"^15logseq____",[154,logseq____"^11logseq____",logseq____"excalidraw-pluginlogseq____",536870919]],[logseq____"^15logseq____",[154,logseq____"^Blogseq____",1739811919732,536870919]],[logseq____"^15logseq____",[154,logseq____"^;logseq____",logseq____"~u67b36c4f-e95b-448d-8ecc-eb01f47b36c7logseq____",536870919]],[logseq____"^15logseq____",[155,logseq____"^Qlogseq____",logseq____"excalidraw-plugin:: true\\n\\nlogseq____",536870919]],[logseq____"^15logseq____",[155,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[155,logseq____"~:block/invalid-propertieslogseq____",[logseq____"~#setlogseq____",[]],536870919]],[logseq____"^15logseq____",[155,logseq____"^Flogseq____",153,536870919]],[logseq____"^15logseq____",[155,logseq____"^Xlogseq____",153,536870919]],[logseq____"^15logseq____",[155,logseq____"^Vlogseq____",153,536870919]],[logseq____"^15logseq____",[155,logseq____"^Ulogseq____",153,536870919]],[logseq____"^15logseq____",[155,logseq____"^Ulogseq____",154,536870919]],[logseq____"^15logseq____",[155,logseq____"^:logseq____",true,536870919]],[logseq____"^15logseq____",[155,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",true],536870919]],[logseq____"^15logseq____",[155,logseq____"^Jlogseq____",[logseq____"^1;logseq____"],536870919]],[logseq____"^15logseq____",[155,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",logseq____"truelogseq____"],536870919]],[logseq____"^15logseq____",[155,logseq____"^Hlogseq____",154,536870919]],[logseq____"^15logseq____",[155,logseq____"^;logseq____",logseq____"~u67b36c4f-9e68-4fde-86c7-df569cc0edc3logseq____",536870919]],[logseq____"^15logseq____",[156,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870919]],[logseq____"^15logseq____",[156,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[156,logseq____"^Flogseq____",155,536870919]],[logseq____"^15logseq____",[156,logseq____"^Xlogseq____",153,536870919]],[logseq____"^15logseq____",[156,logseq____"^Vlogseq____",153,536870919]],[logseq____"^15logseq____",[156,logseq____"^Ulogseq____",153,536870919]],[logseq____"^15logseq____",[156,logseq____"^;logseq____",logseq____"~u67b36c4f-f3ba-4f46-8d3a-40a1b0fba0b9logseq____",536870919]],[logseq____"^15logseq____",[157,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw-menu, excalidraw-2024-10-22-15-58-29}}logseq____",536870919]],[logseq____"^15logseq____",[157,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[157,logseq____"^Flogseq____",156,536870919]],[logseq____"^15logseq____",[157,logseq____"^Slogseq____",159,536870919]],[logseq____"^15logseq____",[157,logseq____"^Xlogseq____",153,536870919]],[logseq____"^15logseq____",[157,logseq____"^Vlogseq____",153,536870919]],[logseq____"^15logseq____",[157,logseq____"^Ulogseq____",153,536870919]],[logseq____"^15logseq____",[157,logseq____"^;logseq____",logseq____"~u67b36c4f-4a99-4619-8ef8-1156e1538ac7logseq____",536870919]],[logseq____"^15logseq____",[158,logseq____"^Qlogseq____",logseq____"~```json\\n{\\logseq____"elements\\logseq____":[],\\logseq____"files\\logseq____":null}\\n```logseq____",536870919]],[logseq____"^15logseq____",[158,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[158,logseq____"^Flogseq____",157,536870919]],[logseq____"^15logseq____",[158,logseq____"^Xlogseq____",153,536870919]],[logseq____"^15logseq____",[158,logseq____"^Vlogseq____",153,536870919]],[logseq____"^15logseq____",[158,logseq____"^Ulogseq____",153,536870919]],[logseq____"^15logseq____",[158,logseq____"^;logseq____",logseq____"~u67b36c4f-8f9b-4678-b713-ed77516035ealogseq____",536870919]],[logseq____"^15logseq____",[159,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____"excalidraw-menulogseq____",logseq____"excalidraw-2024-10-22-15-58-29logseq____"]],536870919]],[logseq____"^15logseq____",[159,logseq____"^Wlogseq____",logseq____"macrologseq____",536870919]],[logseq____"^15logseq____",[159,logseq____"^Tlogseq____",logseq____"renderer excalidraw-menu excalidraw-2024-10-22-15-58-29logseq____",536870919]],[logseq____"^15logseq____",[161,logseq____"^Klogseq____",1739811919733,536870919]],[logseq____"^15logseq____",[161,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[161,logseq____"^Ylogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____",536870919]],[logseq____"^15logseq____",[161,logseq____"^11logseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____",536870919]],[logseq____"^15logseq____",[161,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",true,logseq____"~:excalidraw-plugin-aliaslogseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870919]],[logseq____"^15logseq____",[161,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",logseq____"truelogseq____",logseq____"^1logseq____>logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870919]],[logseq____"^15logseq____",[161,logseq____"^Blogseq____",1739811919733,536870919]],[logseq____"^15logseq____",[161,logseq____"^;logseq____",logseq____"~u67b36c4f-45d1-4147-9fa1-5169e514422alogseq____",536870919]],[logseq____"^15logseq____",[162,logseq____"^Klogseq____",1739811919732,536870919]],[logseq____"^15logseq____",[162,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[162,logseq____"^Ylogseq____",logseq____"excalidraw-plugin-aliaslogseq____",536870919]],[logseq____"^15logseq____",[162,logseq____"^11logseq____",logseq____"excalidraw-plugin-aliaslogseq____",536870919]],[logseq____"^15logseq____",[162,logseq____"^Blogseq____",1739811919732,536870919]],[logseq____"^15logseq____",[162,logseq____"^;logseq____",logseq____"~u67b36c4f-9ff7-48c1-bf90-baa79c103891logseq____",536870919]],[logseq____"^15logseq____",[163,logseq____"^Qlogseq____",logseq____"excalidraw-plugin:: true\\nexcalidraw-plugin-alias:: Stubs and Proxies: Abstract View\\n\\nlogseq____",536870919]],[logseq____"^15logseq____",[163,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[163,logseq____"^1logseq____<logseq____",[logseq____"^1=logseq____",[]],536870919]],[logseq____"^15logseq____",[163,logseq____"^Flogseq____",161,536870919]],[logseq____"^15logseq____",[163,logseq____"^Xlogseq____",161,536870919]],[logseq____"^15logseq____",[163,logseq____"^Vlogseq____",161,536870919]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",154,536870919]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",161,536870919]],[logseq____"^15logseq____",[163,logseq____"^Ulogseq____",162,536870919]],[logseq____"^15logseq____",[163,logseq____"^:logseq____",true,536870919]],[logseq____"^15logseq____",[163,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",true,logseq____"^1logseq____>logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870919]],[logseq____"^15logseq____",[163,logseq____"^Jlogseq____",[logseq____"^1;logseq____",logseq____"^1logseq____>logseq____"],536870919]],[logseq____"^15logseq____",[163,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1;logseq____",logseq____"truelogseq____",logseq____"^1logseq____>logseq____",logseq____"Stubs and Proxies: Abstract Viewlogseq____"],536870919]],[logseq____"^15logseq____",[163,logseq____"^Hlogseq____",154,536870919]],[logseq____"^15logseq____",[163,logseq____"^Hlogseq____",162,536870919]],[logseq____"^15logseq____",[163,logseq____"^;logseq____",logseq____"~u67b36c4f-91dc-4529-b4ee-f88eff9a3b2dlogseq____",536870919]],[logseq____"^15logseq____",[164,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870919]],[logseq____"^15logseq____",[164,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[164,logseq____"^Flogseq____",163,536870919]],[logseq____"^15logseq____",[164,logseq____"^Xlogseq____",161,536870919]],[logseq____"^15logseq____",[164,logseq____"^Vlogseq____",161,536870919]],[logseq____"^15logseq____",[164,logseq____"^Ulogseq____",161,536870919]],[logseq____"^15logseq____",[164,logseq____"^;logseq____",logseq____"~u67b36c4f-5a3b-4fa5-a182-1e87f40af1a4logseq____",536870919]],[logseq____"^15logseq____",[165,logseq____"^Qlogseq____",logseq____"{{renderer excalidraw-menu, excalidraw-2024-10-22-15-59-19}}logseq____",536870919]],[logseq____"^15logseq____",[165,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[165,logseq____"^Flogseq____",164,536870919]],[logseq____"^15logseq____",[165,logseq____"^Slogseq____",167,536870919]],[logseq____"^15logseq____",[165,logseq____"^Xlogseq____",161,536870919]],[logseq____"^15logseq____",[165,logseq____"^Vlogseq____",161,536870919]],[logseq____"^15logseq____",[165,logseq____"^Ulogseq____",161,536870919]],[logseq____"^15logseq____",[165,logseq____"^;logseq____",logseq____"~u67b36c4f-62bf-4d7f-af93-3055279f6d2clogseq____",536870919]],[logseq____"^15logseq____",[166,logseq____"^Qlogseq____",logseq____"~```json\\n{\\logseq____"elements\\logseq____":[{\\logseq____"id\\logseq____":\\logseq____"ZAve3TnKhR_PnXRpgKRpS\\logseq____",\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"x\\logseq____":1050,\\logseq____"y\\logseq____":820,\\logseq____"width\\logseq____":9.999984741210938,\\logseq____"height\\logseq____":25,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"seed\\logseq____":1784662948,\\logseq____"version\\logseq____":2,\\logseq____"versionNonce\\logseq____":1570159900,\\logseq____"isDeleted\\logseq____":true,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605568679,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"text\\logseq____":\\logseq____"\\logseq____",\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"textAlign\\logseq____":\\logseq____"left\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"baseline\\logseq____":18,\\logseq____"containerId\\logseq____":null,\\logseq____"originalText\\logseq____":\\logseq____"\\logseq____",\\logseq____"lineHeight\\logseq____":1.25},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":1067554972,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"btJXfo0TRR98jfZP463tV\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1014.3203125,\\logseq____"y\\logseq____":622.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":540.65625,\\logseq____"height\\logseq____":122.5,\\logseq____"seed\\logseq____":143039908,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"KqdUt_NV4p0X2G2Edvpqf\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":167565476,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"KqdUt_NV4p0X2G2Edvpqf\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1255.9584655761719,\\logseq____"y\\logseq____":627.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":57.37994384765625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1360063524,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"btJXfo0TRR98jfZP463tV\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":653111836,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1039.3203125,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":196.359375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":721131300,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":1301482916,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1285.6796875,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":244.296875,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":491066020,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":166881948,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"r9aVw_4wxptDxNyCdEH4k\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1236.6794375,\\logseq____"y\\logseq____":684,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":49.5,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":731101604,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"focus\\logseq____":0.0889748599095972,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"focus\\logseq____":0,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24,-0.5],[48.5,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":608844956,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"EB3NLgvBqjJRHyFoMtRDQ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1063.980079650879,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.0398406982422,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1522849188,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1241148196,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"lIaAd8t2BtSaS3-tilTkx\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1308.688232421875,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":198.27978515625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":778207524,\\logseq____"groupIds\\logseq____":[\\logseq____"UBntVcr7ghicg01LAeyCI\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Stub Implementation\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"tJhB-_svD8ZLmJLYeRTY2\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Stub Implementation\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":928436004,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"OpcNb1gD7e-Kh8XWI9wfk\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":150.0234375,\\logseq____"y\\logseq____":603.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":516.96875,\\logseq____"height\\logseq____":160,\\logseq____"seed\\logseq____":1353402660,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"aolhESiOHXi9Lwz4CbwEB\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1129673628,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"aolhESiOHXi9Lwz4CbwEB\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":380.52783966064453,\\logseq____"y\\logseq____":608.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":55.95994567871094,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1609025444,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"OpcNb1gD7e-Kh8XWI9wfk\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":491349668,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":175.0234375,\\logseq____"y\\logseq____":638.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":165.046875,\\logseq____"height\\logseq____":90,\\logseq____"seed\\logseq____":372147364,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":1130415516,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":433.1484375,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":208.84375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":1321095204,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":840561060,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"0dkwe3K9r9LZm4CjbjZsX\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":340.5704375,\\logseq____"y\\logseq____":684,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":93.578,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":265494052,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"vOf_ir94eZopGRSRNiKI4\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"focus\\logseq____":-0.009703467694235055,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"focus\\logseq____":-0.039364036221413864,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[92.578,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":965757212,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"vOf_ir94eZopGRSRNiKI4\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":368.4894576416016,\\logseq____"y\\logseq____":671.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":36.739959716796875,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":675200164,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"0dkwe3K9r9LZm4CjbjZsX\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1570907172,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"gcVasnzDktA7rF6hnEKGo\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":183.87694549560547,\\logseq____"y\\logseq____":658.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.33985900878906,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":911684388,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Componentlogseq____<brlogseq____>(\\\\ne.g., Activity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"RmSNHrZx-5HsBqvO4gvS1\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Componentlogseq____<brlogseq____>(e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":1612488732,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"zBlQBVILZnpOX-ayHR-1y\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":459.7803955078125,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":155.579833984375,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1926049444,\\logseq____"groupIds\\logseq____":[\\logseq____"iF72X4icOLoOCZXhi6J4q\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":875360804,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":716.9921875,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":247.328125,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":172534692,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"R2cszfXRkq3ByDZA8FQKW\\logseq____"}],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":5,\\logseq____"versionNonce\\logseq____":898760612,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"R2cszfXRkq3ByDZA8FQKW\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":755.116340637207,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":171.07981872558594,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":905427492,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":347348260,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"OQ7xGhfrlxvlJjYGfoY1A\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":642.9924375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":88.12500000000006,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1270146340,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"hVhkMeB2zSvUs5XZN44IZ\\logseq____",\\logseq____"focus\\logseq____":0.09306445850139866,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"focus\\logseq____":-0.050134234272839404,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24.000000000000057,-1],[87.12500000000006,-1]]},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":6,\\logseq____"versionNonce\\logseq____":1443018524,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"kAYnxE0sBnAC9s6sOCJoE\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":952.1954375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":88.125,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":899981476,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605631881,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"6RD6wvzqGlMleMVzwDwlB\\logseq____",\\logseq____"focus\\logseq____":0.07082698785494419,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"cYBC0eZBIJWdPBm0_KEwZ\\logseq____",\\logseq____"focus\\logseq____":-0.053894654289099723,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[37.125,-1],[87.125,-1]]},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":300,\\logseq____"versionNonce\\logseq____":733834268,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"C0XrkxRO7AWjP9M2xwj0q\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":916.6997767857144,\\logseq____"y\\logseq____":363.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":761.4375,\\logseq____"height\\logseq____":162,\\logseq____"seed\\logseq____":1626522268,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"T3YjotWHKmU0XAZnZxuob\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1509001372,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"T3YjotWHKmU0XAZnZxuob\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1268.7285548618863,\\logseq____"y\\logseq____":368.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":57.37994384765625,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1854741532,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"C0XrkxRO7AWjP9M2xwj0q\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App B\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":302,\\logseq____"versionNonce\\logseq____":1416500508,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":941.6997767857144,\\logseq____"y\\logseq____":418.6785714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":196.359375,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":1834590492,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"ipTHVwzP8JW96DtBan76n\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"vXQSsMfv5tOyxKdt86Hqa\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1154112156,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"ipTHVwzP8JW96DtBan76n\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":966.3595439365934,\\logseq____"y\\logseq____":432.4285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":147.0398406982422,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1607207580,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Stub\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":301,\\logseq____"versionNonce\\logseq____":1348249372,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1188.0591517857144,\\logseq____"y\\logseq____":398.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":465.078125,\\logseq____"height\\logseq____":92,\\logseq____"seed\\logseq____":1681857948,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"lXgc4vsOp8OcQVzJinPlF\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":310,\\logseq____"versionNonce\\logseq____":549097500,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"lXgc4vsOp8OcQVzJinPlF\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1274.85837663923,\\logseq____"y\\logseq____":419.9285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":291.47967529296875,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":2141738780,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Stub Implementation\\\\nint foo(String) { return 42; }\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Stub Implementation\\\\nint foo(String) { return 42; }\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":942,\\logseq____"versionNonce\\logseq____":1484784164,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"Fu0vwt5yGgnqpNZyJZV8x\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":1139.0591517857144,\\logseq____"y\\logseq____":445.4285714285717,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":49.5,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1649501852,\\logseq____"groupIds\\logseq____":[\\logseq____"-bce69fcqBdjRLSwwsqMA\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956977,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"focus\\logseq____":0.09069469130902462,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"XydPYWIN2rTlE1PQHV7U8\\logseq____",\\logseq____"focus\\logseq____":0,\\logseq____"gap\\logseq____":1},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[24,-0.5],[48.5,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":462,\\logseq____"versionNonce\\logseq____":248621604,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"SifWGlqATymL1TkNJYt_s\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":76.86272321428578,\\logseq____"y\\logseq____":362.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":673.9375,\\logseq____"height\\logseq____":160,\\logseq____"seed\\logseq____":456658716,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"2a7Wv2dJCPu1zi9EWsmoh\\logseq____"}],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":463,\\logseq____"versionNonce\\logseq____":1658897828,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"2a7Wv2dJCPu1zi9EWsmoh\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":385.8515003749303,\\logseq____"y\\logseq____":367.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":55.95994567871094,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":122370204,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"SifWGlqATymL1TkNJYt_s\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":463,\\logseq____"versionNonce\\logseq____":763392292,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":101.86272321428578,\\logseq____"y\\logseq____":397.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":165.046875,\\logseq____"height\\logseq____":90,\\logseq____"seed\\logseq____":1746914204,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"VPAcyOSWnaKwnYB_r42MA\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":468,\\logseq____"versionNonce\\logseq____":107575332,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"VPAcyOSWnaKwnYB_r42MA\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":107.46623883928578,\\logseq____"y\\logseq____":417.07142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":153.83984375,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":185713948,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Component (e.g.,\\\\nActivity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Component (e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":466,\\logseq____"versionNonce\\logseq____":1916344220,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":516.9564732142858,\\logseq____"y\\logseq____":415.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":208.84375,\\logseq____"height\\logseq____":60,\\logseq____"seed\\logseq____":702281756,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"8sNUYtd3zBlR9h7mcisQX\\logseq____"},{\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"}],\\logseq____"updated\\logseq____":1729605935805,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":481,\\logseq____"versionNonce\\logseq____":1725041692,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"8sNUYtd3zBlR9h7mcisQX\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":543.5884312220983,\\logseq____"y\\logseq____":420.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":155.579833984375,\\logseq____"height\\logseq____":50,\\logseq____"seed\\logseq____":1599259036,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605940136,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\\\nint foo(String);\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\\\nint foo(String);\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":43},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":1247,\\logseq____"versionNonce\\logseq____":2112603932,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":267.4097232142858,\\logseq____"y\\logseq____":442.57142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":249.547,\\logseq____"height\\logseq____":0.5,\\logseq____"seed\\logseq____":1245776412,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"9bj_041-OA_763eEUFq0A\\logseq____"}],\\logseq____"updated\\logseq____":1729605918103,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"O4b2GfmjC7EV1dx0zEJ73\\logseq____",\\logseq____"focus\\logseq____":0.014753535629874403,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[249.547,-0.5]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":478,\\logseq____"versionNonce\\logseq____":1799741860,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"9bj_041-OA_763eEUFq0A\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":323.97330805315295,\\logseq____"y\\logseq____":429.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":136.41983032226562,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1732711324,\\logseq____"groupIds\\logseq____":[\\logseq____"xaDrP-PsrHLrVREvS4TUP\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605917732,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"uv8kcWfvQGyXoLkYkmSb_\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":241,\\logseq____"versionNonce\\logseq____":917149340,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"MbLkUz3RQ6F5oXQLvthG1\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":446.04017857142867,\\logseq____"y\\logseq____":284.92857142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":661.9029017857142,\\logseq____"height\\logseq____":157.1428571428571,\\logseq____"seed\\logseq____":2137636508,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"TeTLf1T0eUSvvQO3hsAiw\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":313,\\logseq____"versionNonce\\logseq____":1340387620,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"TeTLf1T0eUSvvQO3hsAiw\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":749.5363377162389,\\logseq____"y\\logseq____":289.92857142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":54.91058349609375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":1410074916,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"MbLkUz3RQ6F5oXQLvthG1\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"App A\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":243,\\logseq____"versionNonce\\logseq____":227305628,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":470.5937500000001,\\logseq____"y\\logseq____":319.30357142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":162.09960937499997,\\logseq____"height\\logseq____":88.39285714285712,\\logseq____"seed\\logseq____":1232046876,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":318,\\logseq____"versionNonce\\logseq____":972745892,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"_avxsGt4jaJDbka6U8vct\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":476.16600036621105,\\logseq____"y\\logseq____":338.94642857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":150.95510864257812,\\logseq____"height\\logseq____":49.10714285714285,\\logseq____"seed\\logseq____":1870087332,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Component (e.g.,\\\\nActivity)\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Component (e.g., Activity)\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":42},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":244,\\logseq____"versionNonce\\logseq____":686989212,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"D1a325TVu06Lj-g4dEDgG\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":878.2751116071429,\\logseq____"y\\logseq____":337.7187500000001,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":205.11439732142853,\\logseq____"height\\logseq____":51.56249999999999,\\logseq____"seed\\logseq____":1510459292,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"boundElements\\logseq____":[{\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____"},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"_WmqLNmvMtWFSFyxIJ3mM\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":313,\\logseq____"versionNonce\\logseq____":213760036,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"_WmqLNmvMtWFSFyxIJ3mM\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":904.5010724748884,\\logseq____"y\\logseq____":351.22321428571445,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":152.6624755859375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":15667236,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"D1a325TVu06Lj-g4dEDgG\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"B Service Proxy\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":796,\\logseq____"versionNonce\\logseq____":1899252764,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"B1JTBW0V4hdO4MAAaYzfR\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":633.1845535714288,\\logseq____"y\\logseq____":363.99107142857156,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":245.09080357142852,\\logseq____"height\\logseq____":0.4910714285714285,\\logseq____"seed\\logseq____":358904860,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"7ETxSIlRoVlqQXW4ouXZr\\logseq____"}],\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"ClPsuuGYXB1LKq20LBNDk\\logseq____",\\logseq____"focus\\logseq____":0.014753535629874897,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[245.09080357142852,-0.4910714285714285]]},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":292,\\logseq____"versionNonce\\logseq____":605754276,\\logseq____"isDeleted\\logseq____":true,\\logseq____"id\\logseq____":\\logseq____"7ETxSIlRoVlqQXW4ouXZr\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":681.1161651960101,\\logseq____"y\\logseq____":349.82142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":133.86175537109375,\\logseq____"height\\logseq____":24.553571428571423,\\logseq____"seed\\logseq____":945908644,\\logseq____"groupIds\\logseq____":[\\logseq____"Hfmt6KRXHGv8MlRWyosnn\\logseq____"],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605876855,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":19.64285714285714,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"B1JTBW0V4hdO4MAAaYzfR\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Call foo(logseq____'barlogseq____')\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":17},{\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"version\\logseq____":7,\\logseq____"versionNonce\\logseq____":1117182116,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"Xa8EigFX_3qTS3ADG1DHv\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":685.0859375,\\logseq____"y\\logseq____":657.25,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":247.328125,\\logseq____"height\\logseq____":52.5,\\logseq____"seed\\logseq____":744395932,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"id\\logseq____":\\logseq____"BSEEQIQfa3YfjQjVW-PHE\\logseq____"}],\\logseq____"updated\\logseq____":1729605928333,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"version\\logseq____":4,\\logseq____"versionNonce\\logseq____":179720612,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"BSEEQIQfa3YfjQjVW-PHE\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":723.210090637207,\\logseq____"y\\logseq____":671,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":171.07981872558594,\\logseq____"height\\logseq____":25,\\logseq____"seed\\logseq____":1799368220,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605663874,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"text\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"textAlign\\logseq____":\\logseq____"center\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"middle\\logseq____",\\logseq____"containerId\\logseq____":\\logseq____"Xa8EigFX_3qTS3ADG1DHv\\logseq____",\\logseq____"originalText\\logseq____":\\logseq____"Binder-based IPC\\logseq____",\\logseq____"lineHeight\\logseq____":1.25,\\logseq____"baseline\\logseq____":18},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":525,\\logseq____"versionNonce\\logseq____":1522981156,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"WizRRDPiUyp2NNFO85KUc\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":614.0920244570009,\\logseq____"y\\logseq____":469.32142857142867,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":84.1194130429991,\\logseq____"height\\logseq____":214.17857142857133,\\logseq____"seed\\logseq____":1092760348,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605925121,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"SANj9Ac62ljoQ8xvVKsIm\\logseq____",\\logseq____"focus\\logseq____":0.07630422073043633,\\logseq____"gap\\logseq____":1},\\logseq____"endBinding\\logseq____":null,\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[5.280127328713547,195.60714285714278],[84.1194130429991,214.17857142857133]]},{\\logseq____"type\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"version\\logseq____":373,\\logseq____"versionNonce\\logseq____":633896476,\\logseq____"isDeleted\\logseq____":false,\\logseq____"id\\logseq____":\\logseq____"vXQSsMfv5tOyxKdt86Hqa\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"angle\\logseq____":0,\\logseq____"x\\logseq____":920.2894375,\\logseq____"y\\logseq____":684.5,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"width\\logseq____":115.21835295548442,\\logseq____"height\\logseq____":212.3214285714282,\\logseq____"seed\\logseq____":354774940,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":2},\\logseq____"boundElements\\logseq____":[],\\logseq____"updated\\logseq____":1729605956747,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"startBinding\\logseq____":null,\\logseq____"endBinding\\logseq____":{\\logseq____"elementId\\logseq____":\\logseq____"l1QvNgyVWi9rSs9iEZ-Y9\\logseq____",\\logseq____"focus\\logseq____":0.03666276150632129,\\logseq____"gap\\logseq____":1.0000000000000568},\\logseq____"lastCommittedPoint\\logseq____":null,\\logseq____"startArrowhead\\logseq____":null,\\logseq____"endArrowhead\\logseq____":\\logseq____"arrow\\logseq____",\\logseq____"points\\logseq____":[[0,0],[109.98214285714278,-21],[115.21835295548442,-212.3214285714282]]},{\\logseq____"id\\logseq____":\\logseq____"8ctK7mdhHb2DVqR1e_nXK\\logseq____",\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"x\\logseq____":655.7738095238096,\\logseq____"y\\logseq____":597.8253968253966,\\logseq____"width\\logseq____":298.57142857142867,\\logseq____"height\\logseq____":180.0000000000001,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"seed\\logseq____":279187236,\\logseq____"version\\logseq____":117,\\logseq____"versionNonce\\logseq____":182665764,\\logseq____"isDeleted\\logseq____":true,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605860629,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false},{\\logseq____"id\\logseq____":\\logseq____"X37iYwlX9j5Ls6AXuEhCX\\logseq____",\\logseq____"type\\logseq____":\\logseq____"text\\logseq____",\\logseq____"x\\logseq____":774.3452380952383,\\logseq____"y\\logseq____":607.8253968253968,\\logseq____"width\\logseq____":57.33995056152344,\\logseq____"height\\logseq____":25,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":null,\\logseq____"seed\\logseq____":1121397660,\\logseq____"version\\logseq____":107,\\logseq____"versionNonce\\logseq____":1508426396,\\logseq____"isDeleted\\logseq____":false,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605887545,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false,\\logseq____"text\\logseq____":\\logseq____"Kernel\\logseq____",\\logseq____"fontSize\\logseq____":20,\\logseq____"fontFamily\\logseq____":1,\\logseq____"textAlign\\logseq____":\\logseq____"left\\logseq____",\\logseq____"verticalAlign\\logseq____":\\logseq____"top\\logseq____",\\logseq____"baseline\\logseq____":18,\\logseq____"containerId\\logseq____":null,\\logseq____"originalText\\logseq____":\\logseq____"Kernel\\logseq____",\\logseq____"lineHeight\\logseq____":1.25},{\\logseq____"id\\logseq____":\\logseq____"PqPMoaE0eDH2QYtnuaGt3\\logseq____",\\logseq____"type\\logseq____":\\logseq____"rectangle\\logseq____",\\logseq____"x\\logseq____":657.202380952381,\\logseq____"y\\logseq____":602.111111111111,\\logseq____"width\\logseq____":295.71428571428584,\\logseq____"height\\logseq____":162.8571428571429,\\logseq____"angle\\logseq____":0,\\logseq____"strokeColor\\logseq____":\\logseq____"#1e1e1e\\logseq____",\\logseq____"backgroundColor\\logseq____":\\logseq____"transparent\\logseq____",\\logseq____"fillStyle\\logseq____":\\logseq____"solid\\logseq____",\\logseq____"strokeWidth\\logseq____":2,\\logseq____"strokeStyle\\logseq____":\\logseq____"dashed\\logseq____",\\logseq____"roughness\\logseq____":1,\\logseq____"opacity\\logseq____":100,\\logseq____"groupIds\\logseq____":[],\\logseq____"frameId\\logseq____":null,\\logseq____"roundness\\logseq____":{\\logseq____"type\\logseq____":3},\\logseq____"seed\\logseq____":1258811804,\\logseq____"version\\logseq____":138,\\logseq____"versionNonce\\logseq____":893757732,\\logseq____"isDeleted\\logseq____":false,\\logseq____"boundElements\\logseq____":null,\\logseq____"updated\\logseq____":1729605886024,\\logseq____"link\\logseq____":null,\\logseq____"locked\\logseq____":false}],\\logseq____"files\\logseq____":{},\\logseq____"appState\\logseq____":{\\logseq____"gridSize\\logseq____":null,\\logseq____"viewBackgroundColor\\logseq____":\\logseq____"#ffffff\\logseq____",\\logseq____"zoom\\logseq____":{\\logseq____"value\\logseq____":0.7000000000000001},\\logseq____"offsetTop\\logseq____":20,\\logseq____"offsetLeft\\logseq____":0,\\logseq____"scrollX\\logseq____":522.7976190476188,\\logseq____"scrollY\\logseq____":262.17460317460325,\\logseq____"viewModeEnabled\\logseq____":false,\\logseq____"zenModeEnabled\\logseq____":false}}\\n```logseq____",536870919]],[logseq____"^15logseq____",[166,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[166,logseq____"^Flogseq____",165,536870919]],[logseq____"^15logseq____",[166,logseq____"^Xlogseq____",161,536870919]],[logseq____"^15logseq____",[166,logseq____"^Vlogseq____",161,536870919]],[logseq____"^15logseq____",[166,logseq____"^Ulogseq____",161,536870919]],[logseq____"^15logseq____",[166,logseq____"^;logseq____",logseq____"~u67b36c4f-2f3a-45ae-91b9-b79b309a7be6logseq____",536870919]],[logseq____"^15logseq____",[167,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____"excalidraw-menulogseq____",logseq____"excalidraw-2024-10-22-15-59-19logseq____"]],536870919]],[logseq____"^15logseq____",[167,logseq____"^Wlogseq____",logseq____"macrologseq____",536870919]],[logseq____"^15logseq____",[167,logseq____"^Tlogseq____",logseq____"renderer excalidraw-menu excalidraw-2024-10-22-15-59-19logseq____",536870919]],[logseq____"^15logseq____",[169,logseq____"^Klogseq____",1739811919736,536870919]],[logseq____"^15logseq____",[169,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[169,logseq____"^Ylogseq____",logseq____"excalidraw-library-items-storagelogseq____",536870919]],[logseq____"^15logseq____",[169,logseq____"^11logseq____",logseq____"excalidraw-library-items-storagelogseq____",536870919]],[logseq____"^15logseq____",[169,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:excalidraw-plugin-librarylogseq____",true],536870919]],[logseq____"^15logseq____",[169,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1?logseq____",logseq____"truelogseq____"],536870919]],[logseq____"^15logseq____",[169,logseq____"^Blogseq____",1739811919736,536870919]],[logseq____"^15logseq____",[169,logseq____"^;logseq____",logseq____"~u67b36c4f-fb97-4b30-8d54-38cc3eeeac22logseq____",536870919]],[logseq____"^15logseq____",[170,logseq____"^Klogseq____",1739811919736,536870919]],[logseq____"^15logseq____",[170,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[170,logseq____"^Ylogseq____",logseq____"excalidraw-plugin-librarylogseq____",536870919]],[logseq____"^15logseq____",[170,logseq____"^11logseq____",logseq____"excalidraw-plugin-librarylogseq____",536870919]],[logseq____"^15logseq____",[170,logseq____"^Blogseq____",1739811919736,536870919]],[logseq____"^15logseq____",[170,logseq____"^;logseq____",logseq____"~u67b36c4f-b712-4da5-8835-3aee60609969logseq____",536870919]],[logseq____"^15logseq____",[171,logseq____"^Qlogseq____",logseq____"excalidraw-plugin-library:: true\\n\\nlogseq____",536870919]],[logseq____"^15logseq____",[171,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[171,logseq____"^1logseq____<logseq____",[logseq____"^1=logseq____",[]],536870919]],[logseq____"^15logseq____",[171,logseq____"^Flogseq____",169,536870919]],[logseq____"^15logseq____",[171,logseq____"^Xlogseq____",169,536870919]],[logseq____"^15logseq____",[171,logseq____"^Vlogseq____",169,536870919]],[logseq____"^15logseq____",[171,logseq____"^Ulogseq____",169,536870919]],[logseq____"^15logseq____",[171,logseq____"^Ulogseq____",170,536870919]],[logseq____"^15logseq____",[171,logseq____"^:logseq____",true,536870919]],[logseq____"^15logseq____",[171,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1?logseq____",true],536870919]],[logseq____"^15logseq____",[171,logseq____"^Jlogseq____",[logseq____"^1?logseq____"],536870919]],[logseq____"^15logseq____",[171,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1?logseq____",logseq____"truelogseq____"],536870919]],[logseq____"^15logseq____",[171,logseq____"^Hlogseq____",170,536870919]],[logseq____"^15logseq____",[171,logseq____"^;logseq____",logseq____"~u67b36c4f-0015-4b80-9cb1-3f48312cb7e1logseq____",536870919]],[logseq____"^15logseq____",[172,logseq____"^Qlogseq____",logseq____"#+BEGIN_IMPORTANT\\nThis file is used to store excalidraw information, Please do not manually edit this file.\\n#+END_IMPORTANTlogseq____",536870919]],[logseq____"^15logseq____",[172,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[172,logseq____"^Flogseq____",171,536870919]],[logseq____"^15logseq____",[172,logseq____"^Xlogseq____",169,536870919]],[logseq____"^15logseq____",[172,logseq____"^Vlogseq____",169,536870919]],[logseq____"^15logseq____",[172,logseq____"^Ulogseq____",169,536870919]],[logseq____"^15logseq____",[172,logseq____"^;logseq____",logseq____"~u67b36c4f-b2f6-443e-aa86-38fd2c6b3110logseq____",536870919]],[logseq____"^15logseq____",[173,logseq____"^Qlogseq____",logseq____"~```json\\n[]\\n```logseq____",536870919]],[logseq____"^15logseq____",[173,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[173,logseq____"^Flogseq____",172,536870919]],[logseq____"^15logseq____",[173,logseq____"^Xlogseq____",169,536870919]],[logseq____"^15logseq____",[173,logseq____"^Vlogseq____",169,536870919]],[logseq____"^15logseq____",[173,logseq____"^Ulogseq____",169,536870919]],[logseq____"^15logseq____",[173,logseq____"^;logseq____",logseq____"~u67b36c4f-0d76-4645-b4d6-59bcc3a5e57clogseq____",536870919]],[logseq____"^15logseq____",[175,logseq____"^Klogseq____",1739811919739,536870919]],[logseq____"^15logseq____",[175,logseq____"^@logseq____",false,536870919]],[logseq____"^15logseq____",[175,logseq____"^Ylogseq____",logseq____"saarctf2024 aftermathlogseq____",536870919]],[logseq____"^15logseq____",[175,logseq____"^11logseq____",logseq____"saarCTF2024 Aftermathlogseq____",536870919]],[logseq____"^15logseq____",[175,logseq____"^Blogseq____",1739811919739,536870919]],[logseq____"^15logseq____",[175,logseq____"^;logseq____",logseq____"~u67b36c4f-a0a5-47a6-a007-d8278a2c996elogseq____",536870919]],[logseq____"^15logseq____",[176,logseq____"^Qlogseq____",logseq____"logseq____",536870919]],[logseq____"^15logseq____",[176,logseq____"^Ologseq____",logseq____"^16logseq____",536870919]],[logseq____"^15logseq____",[176,logseq____"^Flogseq____",175,536870919]],[logseq____"^15logseq____",[176,logseq____"^Xlogseq____",175,536870919]],[logseq____"^15logseq____",[176,logseq____"^Vlogseq____",175,536870919]],[logseq____"^15logseq____",[176,logseq____"^Ulogseq____",175,536870919]],[logseq____"^15logseq____",[176,logseq____"^;logseq____",logseq____"~u67b36c4f-b5b9-4ad2-8f22-dba7fde9d25blogseq____",536870919]],[logseq____"^15logseq____",[177,logseq____"^2logseq____",1,536870920]],[logseq____"^15logseq____",[177,logseq____"^Tlogseq____",logseq____"^2logseq____",536870920]],[logseq____"^15logseq____",[178,logseq____"^12logseq____",2,536870922]],[logseq____"^15logseq____",[179,logseq____"^Klogseq____",1739869558355,536870923]],[logseq____"^15logseq____",[179,logseq____"^Ologseq____",logseq____"^16logseq____",536870923]],[logseq____"^15logseq____",[179,logseq____"^Nlogseq____",20250218,536870923]],[logseq____"^15logseq____",[179,logseq____"^@logseq____",true,536870923]],[logseq____"^15logseq____",[179,logseq____"^Ylogseq____",logseq____"feb 18th, 2025logseq____",536870923]],[logseq____"^15logseq____",[179,logseq____"^11logseq____",logseq____"Feb 18th, 2025logseq____",536870923]],[logseq____"^15logseq____",[179,logseq____"^Blogseq____",1739869558355,536870923]],[logseq____"^15logseq____",[179,logseq____"^;logseq____",logseq____"~u67b44d76-25a6-4b1a-98b8-1517866885e9logseq____",536870923]],[logseq____"^15logseq____",[180,logseq____"^Qlogseq____",logseq____"logseq____",536870924]],[logseq____"^15logseq____",[180,logseq____"^Ologseq____",logseq____"^16logseq____",536870924]],[logseq____"^15logseq____",[180,logseq____"^Nlogseq____",20250218,536870924]],[logseq____"^15logseq____",[180,logseq____"^@logseq____",true,536870924]],[logseq____"^15logseq____",[180,logseq____"^Flogseq____",179,536870924]],[logseq____"^15logseq____",[180,logseq____"^Xlogseq____",179,536870924]],[logseq____"^15logseq____",[180,logseq____"^Vlogseq____",179,536870924]],[logseq____"^15logseq____",[180,logseq____"^Ulogseq____",179,536870925]],[logseq____"^15logseq____",[180,logseq____"^?logseq____",[logseq____"^ logseq____"],536870924]],[logseq____"^15logseq____",[180,logseq____"^;logseq____",logseq____"~u67b44d76-7bd9-43c1-ac84-ceb7252ac488logseq____",536870924]],[logseq____"^15logseq____",[181,logseq____"^Tlogseq____",logseq____"^Rlogseq____",536870926]],[logseq____"^15logseq____",[184,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b4523a-850b-496e-b708-cc1c1acdca04logseq____",logseq____"3logseq____"]],536870945]],[logseq____"^15logseq____",[184,logseq____"^Wlogseq____",logseq____"macrologseq____",536870945]],[logseq____"^15logseq____",[184,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b4523a-850b-496e-b708-cc1c1acdca04 3logseq____",536870945]],[logseq____"^15logseq____",[185,logseq____"^Qlogseq____",logseq____"## [[Security Considerations]]logseq____",536871035]],[logseq____"^15logseq____",[185,logseq____"^Ologseq____",logseq____"^16logseq____",536871028]],[logseq____"^15logseq____",[185,logseq____"^Flogseq____",147,536871028]],[logseq____"^15logseq____",[185,logseq____"^Xlogseq____",142,536871028]],[logseq____"^15logseq____",[185,logseq____"^Vlogseq____",147,536871032]],[logseq____"^15logseq____",[185,logseq____"^Ulogseq____",142,536871036]],[logseq____"^15logseq____",[185,logseq____"^Ulogseq____",186,536871036]],[logseq____"^15logseq____",[185,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871035]],[logseq____"^15logseq____",[185,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871035]],[logseq____"^15logseq____",[185,logseq____"^Hlogseq____",186,536871035]],[logseq____"^15logseq____",[185,logseq____"^;logseq____",logseq____"~u67b45cbb-5131-4a88-aff0-d6d3b0583d9alogseq____",536871028]],[logseq____"^15logseq____",[186,logseq____"^Klogseq____",1739873482646,536871035]],[logseq____"^15logseq____",[186,logseq____"^Ologseq____",logseq____"^16logseq____",536871043]],[logseq____"^15logseq____",[186,logseq____"^@logseq____",false,536871035]],[logseq____"^15logseq____",[186,logseq____"^Ylogseq____",logseq____"security considerationslogseq____",536871035]],[logseq____"^15logseq____",[186,logseq____"^11logseq____",logseq____"Security Considerationslogseq____",536871035]],[logseq____"^15logseq____",[186,logseq____"^Blogseq____",1739873694846,536871165]],[logseq____"^15logseq____",[186,logseq____"^;logseq____",logseq____"~u67b45cca-0ae0-4cee-a3f7-b72901235b5alogseq____",536871035]],[logseq____"^15logseq____",[187,logseq____"^Qlogseq____",logseq____"## [[Secure Architecture Principles]]logseq____",536872139]],[logseq____"^15logseq____",[187,logseq____"^Ologseq____",logseq____"^16logseq____",536871039]],[logseq____"^15logseq____",[187,logseq____"^Flogseq____",196,536871170]],[logseq____"^15logseq____",[187,logseq____"^Xlogseq____",142,536871039]],[logseq____"^15logseq____",[187,logseq____"^Vlogseq____",147,536871039]],[logseq____"^15logseq____",[187,logseq____"^Ulogseq____",142,536872136]],[logseq____"^15logseq____",[187,logseq____"^Ulogseq____",251,536872136]],[logseq____"^15logseq____",[187,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872139]],[logseq____"^15logseq____",[187,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872139]],[logseq____"^15logseq____",[187,logseq____"^Hlogseq____",251,536872139]],[logseq____"^15logseq____",[187,logseq____"^;logseq____",logseq____"~u67b45ccd-643c-4fe2-9681-50967ad5d802logseq____",536871039]],[logseq____"^15logseq____",[188,logseq____"^Qlogseq____",logseq____"## Objectiveslogseq____",536871155]],[logseq____"^15logseq____",[188,logseq____"^Ologseq____",logseq____"^16logseq____",536871044]],[logseq____"^15logseq____",[188,logseq____"^@logseq____",false,536871044]],[logseq____"^15logseq____",[188,logseq____"^Flogseq____",186,536871044]],[logseq____"^15logseq____",[188,logseq____"^Xlogseq____",186,536871044]],[logseq____"^15logseq____",[188,logseq____"^Vlogseq____",186,536871044]],[logseq____"^15logseq____",[188,logseq____"^Ulogseq____",186,536871045]],[logseq____"^15logseq____",[188,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871155]],[logseq____"^15logseq____",[188,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871155]],[logseq____"^15logseq____",[188,logseq____"^;logseq____",logseq____"~u67b45cce-6f5f-4bcb-805b-cfead6137cf3logseq____",536871044]],[logseq____"^15logseq____",[189,logseq____"^12logseq____",2,536871049]],[logseq____"^15logseq____",[191,logseq____"^Qlogseq____",logseq____"*Confidentiality*: No unauthorized information accesseslogseq____",536871082]],[logseq____"^15logseq____",[191,logseq____"^Ologseq____",logseq____"^16logseq____",536871054]],[logseq____"^15logseq____",[191,logseq____"^@logseq____",false,536871054]],[logseq____"^15logseq____",[191,logseq____"^Flogseq____",188,536871054]],[logseq____"^15logseq____",[191,logseq____"^Xlogseq____",186,536871054]],[logseq____"^15logseq____",[191,logseq____"^Vlogseq____",188,536871056]],[logseq____"^15logseq____",[191,logseq____"^Ulogseq____",186,536871156]],[logseq____"^15logseq____",[191,logseq____"^?logseq____",[logseq____"^ logseq____"],536871082]],[logseq____"^15logseq____",[191,logseq____"^;logseq____",logseq____"~u67b45ceb-aa10-4fa9-8491-5513d8419a1blogseq____",536871054]],[logseq____"^15logseq____",[192,logseq____"^Qlogseq____",logseq____"*Integrity*: No unauthorized data modificationslogseq____",536871114]],[logseq____"^15logseq____",[192,logseq____"^Ologseq____",logseq____"^16logseq____",536871082]],[logseq____"^15logseq____",[192,logseq____"^@logseq____",false,536871082]],[logseq____"^15logseq____",[192,logseq____"^Flogseq____",191,536871082]],[logseq____"^15logseq____",[192,logseq____"^Xlogseq____",186,536871082]],[logseq____"^15logseq____",[192,logseq____"^Vlogseq____",188,536871082]],[logseq____"^15logseq____",[192,logseq____"^Ulogseq____",186,536871156]],[logseq____"^15logseq____",[192,logseq____"^?logseq____",[logseq____"^ logseq____"],536871114]],[logseq____"^15logseq____",[192,logseq____"^;logseq____",logseq____"~u67b45d05-e120-47d4-b6f3-f61cdfe66f80logseq____",536871082]],[logseq____"^15logseq____",[193,logseq____"^Qlogseq____",logseq____"*Availiability*: Timely and reliable accesslogseq____",536871123]],[logseq____"^15logseq____",[193,logseq____"^Ologseq____",logseq____"^16logseq____",536871107]],[logseq____"^15logseq____",[193,logseq____"^@logseq____",false,536871107]],[logseq____"^15logseq____",[193,logseq____"^Flogseq____",192,536871107]],[logseq____"^15logseq____",[193,logseq____"^Xlogseq____",186,536871107]],[logseq____"^15logseq____",[193,logseq____"^Vlogseq____",188,536871107]],[logseq____"^15logseq____",[193,logseq____"^Ulogseq____",186,536871156]],[logseq____"^15logseq____",[193,logseq____"^?logseq____",[logseq____"^ logseq____"],536871123]],[logseq____"^15logseq____",[193,logseq____"^;logseq____",logseq____"~u67b45d27-64e1-4d07-93fc-4df109687bb9logseq____",536871107]],[logseq____"^15logseq____",[194,logseq____"^Qlogseq____",logseq____"*Authenticity*: Verify users are who they claim to belogseq____",536871145]],[logseq____"^15logseq____",[194,logseq____"^Ologseq____",logseq____"^16logseq____",536871126]],[logseq____"^15logseq____",[194,logseq____"^@logseq____",false,536871126]],[logseq____"^15logseq____",[194,logseq____"^Flogseq____",193,536871126]],[logseq____"^15logseq____",[194,logseq____"^Xlogseq____",186,536871126]],[logseq____"^15logseq____",[194,logseq____"^Vlogseq____",188,536871126]],[logseq____"^15logseq____",[194,logseq____"^Ulogseq____",186,536871156]],[logseq____"^15logseq____",[194,logseq____"^?logseq____",[logseq____"^ logseq____"],536871145]],[logseq____"^15logseq____",[194,logseq____"^;logseq____",logseq____"~u67b45d44-c6d9-4198-9f15-49d0716efc7blogseq____",536871126]],[logseq____"^15logseq____",[195,logseq____"^Qlogseq____",logseq____"*Authorization*: Limit actions authenticated users are allowed to performlogseq____",536871165]],[logseq____"^15logseq____",[195,logseq____"^Ologseq____",logseq____"^16logseq____",536871145]],[logseq____"^15logseq____",[195,logseq____"^@logseq____",false,536871145]],[logseq____"^15logseq____",[195,logseq____"^Flogseq____",194,536871145]],[logseq____"^15logseq____",[195,logseq____"^Xlogseq____",186,536871145]],[logseq____"^15logseq____",[195,logseq____"^Vlogseq____",188,536871145]],[logseq____"^15logseq____",[195,logseq____"^Ulogseq____",186,536871156]],[logseq____"^15logseq____",[195,logseq____"^?logseq____",[logseq____"^ logseq____"],536871165]],[logseq____"^15logseq____",[195,logseq____"^;logseq____",logseq____"~u67b45d5b-0f7e-4787-a9de-6ef0889ca885logseq____",536871145]],[logseq____"^15logseq____",[196,logseq____"^Qlogseq____",logseq____"## [[Package Integrity and Authenticity]]logseq____",536871177]],[logseq____"^15logseq____",[196,logseq____"^Ologseq____",logseq____"^16logseq____",536871170]],[logseq____"^15logseq____",[196,logseq____"^Flogseq____",185,536871170]],[logseq____"^15logseq____",[196,logseq____"^Xlogseq____",142,536871170]],[logseq____"^15logseq____",[196,logseq____"^Vlogseq____",147,536871170]],[logseq____"^15logseq____",[196,logseq____"^Ulogseq____",142,536871178]],[logseq____"^15logseq____",[196,logseq____"^Ulogseq____",197,536871178]],[logseq____"^15logseq____",[196,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871177]],[logseq____"^15logseq____",[196,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871177]],[logseq____"^15logseq____",[196,logseq____"^Hlogseq____",197,536871177]],[logseq____"^15logseq____",[196,logseq____"^;logseq____",logseq____"~u67b46277-120a-46ec-9d0f-53d9307efa09logseq____",536871170]],[logseq____"^15logseq____",[197,logseq____"^Klogseq____",1739874950748,536871177]],[logseq____"^15logseq____",[197,logseq____"^Ologseq____",logseq____"^16logseq____",536871181]],[logseq____"^15logseq____",[197,logseq____"^@logseq____",false,536871177]],[logseq____"^15logseq____",[197,logseq____"^Ylogseq____",logseq____"package integrity and authenticitylogseq____",536871177]],[logseq____"^15logseq____",[197,logseq____"^11logseq____",logseq____"Package Integrity and Authenticitylogseq____",536871177]],[logseq____"^15logseq____",[197,logseq____"^Blogseq____",1740061571403,536872131]],[logseq____"^15logseq____",[197,logseq____"^;logseq____",logseq____"~u67b734e0-ce82-41dc-9f35-e080659e0b20logseq____",536871892]],[logseq____"^15logseq____",[198,logseq____"^Qlogseq____",logseq____"## Package Signinglogseq____",536871189]],[logseq____"^15logseq____",[198,logseq____"^Ologseq____",logseq____"^16logseq____",536871182]],[logseq____"^15logseq____",[198,logseq____"^@logseq____",false,536871182]],[logseq____"^15logseq____",[198,logseq____"^Flogseq____",197,536871182]],[logseq____"^15logseq____",[198,logseq____"^Xlogseq____",197,536871182]],[logseq____"^15logseq____",[198,logseq____"^Vlogseq____",197,536871182]],[logseq____"^15logseq____",[198,logseq____"^Ulogseq____",197,536871183]],[logseq____"^15logseq____",[198,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871892]],[logseq____"^15logseq____",[198,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[198,logseq____"^;logseq____",logseq____"~u67b46287-ca08-4eb6-81f9-83f7e0cf1071logseq____",536871182]],[logseq____"^15logseq____",[200,logseq____"^Qlogseq____",logseq____"Mobile Platforms use signed application packages (Android: developer signed; IOS: Market signed)logseq____",536871229]],[logseq____"^15logseq____",[200,logseq____"^Ologseq____",logseq____"^16logseq____",536871190]],[logseq____"^15logseq____",[200,logseq____"^@logseq____",false,536871190]],[logseq____"^15logseq____",[200,logseq____"^Flogseq____",198,536871190]],[logseq____"^15logseq____",[200,logseq____"^Xlogseq____",197,536871190]],[logseq____"^15logseq____",[200,logseq____"^Vlogseq____",198,536871192]],[logseq____"^15logseq____",[200,logseq____"^Ulogseq____",197,536871191]],[logseq____"^15logseq____",[200,logseq____"^;logseq____",logseq____"~u67b46291-860c-4daf-ba1a-700182aaf097logseq____",536871190]],[logseq____"^15logseq____",[201,logseq____"^Qlogseq____",logseq____"Android uses different signatures (scheme V1..4) logseq____",536871376]],[logseq____"^15logseq____",[201,logseq____"^Ologseq____",logseq____"^16logseq____",536871232]],[logseq____"^15logseq____",[201,logseq____"^@logseq____",false,536871232]],[logseq____"^15logseq____",[201,logseq____"^Flogseq____",200,536871232]],[logseq____"^15logseq____",[201,logseq____"^Xlogseq____",197,536871232]],[logseq____"^15logseq____",[201,logseq____"^Vlogseq____",198,536871232]],[logseq____"^15logseq____",[201,logseq____"^Ulogseq____",197,536871233]],[logseq____"^15logseq____",[201,logseq____"^;logseq____",logseq____"~u67b46310-1c17-46e7-8c31-7d25ceff07fblogseq____",536871232]],[logseq____"^15logseq____",[204,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b463b6-f898-4cc1-8162-72f26ebed869logseq____",logseq____"3logseq____"]],536871266]],[logseq____"^15logseq____",[204,logseq____"^Wlogseq____",logseq____"macrologseq____",536871266]],[logseq____"^15logseq____",[204,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b463b6-f898-4cc1-8162-72f26ebed869 3logseq____",536871266]],[logseq____"^15logseq____",[205,logseq____"^Qlogseq____",logseq____"## Signature Schemeslogseq____",536871892]],[logseq____"^15logseq____",[205,logseq____"^Ologseq____",logseq____"^16logseq____",536871281]],[logseq____"^15logseq____",[205,logseq____"^@logseq____",false,536871281]],[logseq____"^15logseq____",[205,logseq____"^Flogseq____",198,536871281]],[logseq____"^15logseq____",[205,logseq____"^Xlogseq____",197,536871281]],[logseq____"^15logseq____",[205,logseq____"^Vlogseq____",197,536871281]],[logseq____"^15logseq____",[205,logseq____"^Ulogseq____",197,536871282]],[logseq____"^15logseq____",[205,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871892]],[logseq____"^15logseq____",[205,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[205,logseq____"^;logseq____",logseq____"~u67b463e1-7520-4237-9f77-01af77f609c5logseq____",536871281]],[logseq____"^15logseq____",[208,logseq____"^Qlogseq____",logseq____"Can be created using [`jarsigner`](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html) or [`apksigner`](https://developer.android.com/tools/apksigner)logseq____",536871446]],[logseq____"^15logseq____",[208,logseq____"^Ologseq____",logseq____"^16logseq____",536871391]],[logseq____"^15logseq____",[208,logseq____"^@logseq____",false,536871391]],[logseq____"^15logseq____",[208,logseq____"^Flogseq____",231,536871892]],[logseq____"^15logseq____",[208,logseq____"^Xlogseq____",197,536871391]],[logseq____"^15logseq____",[208,logseq____"^Vlogseq____",231,536871892]],[logseq____"^15logseq____",[208,logseq____"^Ulogseq____",197,536871392]],[logseq____"^15logseq____",[208,logseq____"^;logseq____",logseq____"~u67b464cc-e7f7-478d-a745-cefe69e14d91logseq____",536871391]],[logseq____"^15logseq____",[209,logseq____"^Qlogseq____",logseq____"~`METZ-INF` contains:logseq____",536871465]],[logseq____"^15logseq____",[209,logseq____"^Ologseq____",logseq____"^16logseq____",536871449]],[logseq____"^15logseq____",[209,logseq____"^@logseq____",false,536871449]],[logseq____"^15logseq____",[209,logseq____"^Flogseq____",208,536871449]],[logseq____"^15logseq____",[209,logseq____"^Xlogseq____",197,536871449]],[logseq____"^15logseq____",[209,logseq____"^Vlogseq____",231,536871892]],[logseq____"^15logseq____",[209,logseq____"^Ulogseq____",197,536871450]],[logseq____"^15logseq____",[209,logseq____"^;logseq____",logseq____"~u67b467f6-5b74-4dba-ae9a-77aee00f7620logseq____",536871449]],[logseq____"^15logseq____",[210,logseq____"^Qlogseq____",logseq____"~`Manifest.mf`: List of packaged files and their hashlogseq____",536871504]],[logseq____"^15logseq____",[210,logseq____"^Ologseq____",logseq____"^16logseq____",536871465]],[logseq____"^15logseq____",[210,logseq____"^@logseq____",false,536871465]],[logseq____"^15logseq____",[210,logseq____"^Flogseq____",209,536871465]],[logseq____"^15logseq____",[210,logseq____"^Xlogseq____",197,536871465]],[logseq____"^15logseq____",[210,logseq____"^Vlogseq____",209,536871467]],[logseq____"^15logseq____",[210,logseq____"^Ulogseq____",197,536871466]],[logseq____"^15logseq____",[210,logseq____"^;logseq____",logseq____"~u67b46806-dda1-4734-8190-9c4153ad1343logseq____",536871465]],[logseq____"^15logseq____",[211,logseq____"^Qlogseq____",logseq____"~`logseq____<signerlogseq____>.SF`: List of resources and their signature valuelogseq____",536871517]],[logseq____"^15logseq____",[211,logseq____"^Ologseq____",logseq____"^16logseq____",536871504]],[logseq____"^15logseq____",[211,logseq____"^@logseq____",false,536871504]],[logseq____"^15logseq____",[211,logseq____"^Flogseq____",210,536871504]],[logseq____"^15logseq____",[211,logseq____"^Xlogseq____",197,536871504]],[logseq____"^15logseq____",[211,logseq____"^Vlogseq____",209,536871504]],[logseq____"^15logseq____",[211,logseq____"^Ulogseq____",197,536871505]],[logseq____"^15logseq____",[211,logseq____"^;logseq____",logseq____"~u67b4681a-c867-4f25-af5c-d593b7abdae8logseq____",536871504]],[logseq____"^15logseq____",[212,logseq____"^Qlogseq____",logseq____"~`logseq____<signerlogseq____>.{RSA,DSA,EC}`: Application and signer Certificate(Using [PKCS 7](https://en.wikipedia.org/wiki/PKCS_7)logseq____",536871582]],[logseq____"^15logseq____",[212,logseq____"^Ologseq____",logseq____"^16logseq____",536871520]],[logseq____"^15logseq____",[212,logseq____"^@logseq____",false,536871520]],[logseq____"^15logseq____",[212,logseq____"^Flogseq____",211,536871520]],[logseq____"^15logseq____",[212,logseq____"^Xlogseq____",197,536871520]],[logseq____"^15logseq____",[212,logseq____"^Vlogseq____",209,536871520]],[logseq____"^15logseq____",[212,logseq____"^Ulogseq____",197,536871521]],[logseq____"^15logseq____",[212,logseq____"^;logseq____",logseq____"~u67b4688b-6d9f-4f5b-b05d-ce584add8939logseq____",536871520]],[logseq____"^15logseq____",[214,logseq____"^Qlogseq____",logseq____"Verfied by Chain-of-Trust {{renderer :mermaid_67b46963-8aee-477b-aaef-abe22e0ab558, 3}}logseq____",536871609]],[logseq____"^15logseq____",[214,logseq____"^Ologseq____",logseq____"^16logseq____",536871585]],[logseq____"^15logseq____",[214,logseq____"^@logseq____",false,536871585]],[logseq____"^15logseq____",[214,logseq____"^Flogseq____",209,536871589]],[logseq____"^15logseq____",[214,logseq____"^Slogseq____",216,536871892]],[logseq____"^15logseq____",[214,logseq____"^Xlogseq____",197,536871585]],[logseq____"^15logseq____",[214,logseq____"^Vlogseq____",231,536871892]],[logseq____"^15logseq____",[214,logseq____"^Ulogseq____",197,536871586]],[logseq____"^15logseq____",[214,logseq____"^;logseq____",logseq____"~u67b46963-8aee-477b-aaef-abe22e0ab558logseq____",536871585]],[logseq____"^15logseq____",[215,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart TB\\n B(\\logseq____"Step 1: Verify the certificate\\logseq____") --logseq____> C(\\logseq____"Step 2: Using certificatelogseq____'s public key, verify the signature of logseq____&lt;signerlogseq____&gt;.sf\\logseq____")\\n C --logseq____> D(\\logseq____"Step 3: Check that entries in logseq____&lt;signerlogseq____&gt;.sf match those in Manifest.mf\\logseq____")\\n D --logseq____> E(\\logseq____"Step 4: For each file listed in Manifest.mf, confirm its hash is correct\\logseq____")\\n\\n```logseq____",536871680]],[logseq____"^15logseq____",[215,logseq____"^Ologseq____",logseq____"^16logseq____",536871607]],[logseq____"^15logseq____",[215,logseq____"^@logseq____",false,536871607]],[logseq____"^15logseq____",[215,logseq____"^Flogseq____",214,536871607]],[logseq____"^15logseq____",[215,logseq____"^Xlogseq____",197,536871607]],[logseq____"^15logseq____",[215,logseq____"^Vlogseq____",214,536871607]],[logseq____"^15logseq____",[215,logseq____"^Ulogseq____",197,536871610]],[logseq____"^15logseq____",[215,logseq____"^;logseq____",logseq____"~u67b46997-41d5-46dd-9ae3-d69ea1e1d030logseq____",536871607]],[logseq____"^15logseq____",[216,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b46963-8aee-477b-aaef-abe22e0ab558logseq____",logseq____"3logseq____"]],536871609]],[logseq____"^15logseq____",[216,logseq____"^Wlogseq____",logseq____"macrologseq____",536871609]],[logseq____"^15logseq____",[216,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b46963-8aee-477b-aaef-abe22e0ab558 3logseq____",536871609]],[logseq____"^15logseq____",[217,logseq____"^Qlogseq____",logseq____"#### Master Key Vulnerability (Signing Key)logseq____",536871892]],[logseq____"^15logseq____",[217,logseq____"^Ologseq____",logseq____"^16logseq____",536871622]],[logseq____"^15logseq____",[217,logseq____"^@logseq____",false,536871622]],[logseq____"^15logseq____",[217,logseq____"^Flogseq____",214,536871686]],[logseq____"^15logseq____",[217,logseq____"^Xlogseq____",197,536871622]],[logseq____"^15logseq____",[217,logseq____"^Vlogseq____",231,536871892]],[logseq____"^15logseq____",[217,logseq____"^Ulogseq____",197,536871623]],[logseq____"^15logseq____",[217,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",4],536871892]],[logseq____"^15logseq____",[217,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[217,logseq____"^;logseq____",logseq____"~u67b469e1-637f-4c46-8d77-eb91e84bc726logseq____",536871622]],[logseq____"^15logseq____",[219,logseq____"^Qlogseq____",logseq____"~`Manifest.mf` and `logseq____<signerlogseq____>.sf` allow for multiple entries with identical namelogseq____",536871742]],[logseq____"^15logseq____",[219,logseq____"^Ologseq____",logseq____"^16logseq____",536871696]],[logseq____"^15logseq____",[219,logseq____"^@logseq____",false,536871696]],[logseq____"^15logseq____",[219,logseq____"^Flogseq____",217,536871696]],[logseq____"^15logseq____",[219,logseq____"^Xlogseq____",197,536871696]],[logseq____"^15logseq____",[219,logseq____"^Vlogseq____",217,536871698]],[logseq____"^15logseq____",[219,logseq____"^Ulogseq____",197,536871697]],[logseq____"^15logseq____",[219,logseq____"^;logseq____",logseq____"~u67b472a9-04c0-4f01-9f23-8a419085b6c5logseq____",536871696]],[logseq____"^15logseq____",[220,logseq____"^Qlogseq____",logseq____"Android *verfied* the *first* filelogseq____",536871761]],[logseq____"^15logseq____",[220,logseq____"^Ologseq____",logseq____"^16logseq____",536871743]],[logseq____"^15logseq____",[220,logseq____"^@logseq____",false,536871743]],[logseq____"^15logseq____",[220,logseq____"^Flogseq____",219,536871743]],[logseq____"^15logseq____",[220,logseq____"^Xlogseq____",197,536871743]],[logseq____"^15logseq____",[220,logseq____"^Vlogseq____",217,536871743]],[logseq____"^15logseq____",[220,logseq____"^Ulogseq____",197,536871744]],[logseq____"^15logseq____",[220,logseq____"^;logseq____",logseq____"~u67b47316-1632-4e9e-8ba5-ad60723388a0logseq____",536871743]],[logseq____"^15logseq____",[221,logseq____"^Qlogseq____",logseq____"Android *installed* the *second* filelogseq____",536871765]],[logseq____"^15logseq____",[221,logseq____"^Ologseq____",logseq____"^16logseq____",536871761]],[logseq____"^15logseq____",[221,logseq____"^@logseq____",false,536871761]],[logseq____"^15logseq____",[221,logseq____"^Flogseq____",220,536871761]],[logseq____"^15logseq____",[221,logseq____"^Xlogseq____",197,536871761]],[logseq____"^15logseq____",[221,logseq____"^Vlogseq____",217,536871761]],[logseq____"^15logseq____",[221,logseq____"^Ulogseq____",197,536871762]],[logseq____"^15logseq____",[221,logseq____"^;logseq____",logseq____"~u67b47382-40b9-4702-b83d-3089832b7b56logseq____",536871761]],[logseq____"^15logseq____",[222,logseq____"^Qlogseq____",logseq____"### APK Signature Scheme v2logseq____",536871892]],[logseq____"^15logseq____",[222,logseq____"^Ologseq____",logseq____"^16logseq____",536871768]],[logseq____"^15logseq____",[222,logseq____"^@logseq____",false,536871768]],[logseq____"^15logseq____",[222,logseq____"^Flogseq____",231,536871892]],[logseq____"^15logseq____",[222,logseq____"^Xlogseq____",197,536871768]],[logseq____"^15logseq____",[222,logseq____"^Vlogseq____",205,536871892]],[logseq____"^15logseq____",[222,logseq____"^Ulogseq____",197,536871769]],[logseq____"^15logseq____",[222,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871892]],[logseq____"^15logseq____",[222,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[222,logseq____"^;logseq____",logseq____"~u67b47412-f1af-4766-a677-2466dadee43blogseq____",536871768]],[logseq____"^15logseq____",[223,logseq____"^Qlogseq____",logseq____"Use of two-level Merkle hash tree (single digest over hashing each file individually)logseq____",536871835]],[logseq____"^15logseq____",[223,logseq____"^Ologseq____",logseq____"^16logseq____",536871789]],[logseq____"^15logseq____",[223,logseq____"^@logseq____",false,536871789]],[logseq____"^15logseq____",[223,logseq____"^Flogseq____",224,536871808]],[logseq____"^15logseq____",[223,logseq____"^Xlogseq____",197,536871789]],[logseq____"^15logseq____",[223,logseq____"^Vlogseq____",222,536871791]],[logseq____"^15logseq____",[223,logseq____"^Ulogseq____",197,536871790]],[logseq____"^15logseq____",[223,logseq____"^;logseq____",logseq____"~u67b475af-0ec3-428e-85c4-2510d52b01d3logseq____",536871789]],[logseq____"^15logseq____",[224,logseq____"^Qlogseq____",logseq____"Created using `apksigner`logseq____",536871812]],[logseq____"^15logseq____",[224,logseq____"^Ologseq____",logseq____"^16logseq____",536871808]],[logseq____"^15logseq____",[224,logseq____"^@logseq____",false,536871808]],[logseq____"^15logseq____",[224,logseq____"^Flogseq____",222,536871808]],[logseq____"^15logseq____",[224,logseq____"^Xlogseq____",197,536871808]],[logseq____"^15logseq____",[224,logseq____"^Vlogseq____",222,536871808]],[logseq____"^15logseq____",[224,logseq____"^Ulogseq____",197,536871809]],[logseq____"^15logseq____",[224,logseq____"^;logseq____",logseq____"~u67b475d5-9a65-44d9-82c3-f3935b2c8ef7logseq____",536871808]],[logseq____"^15logseq____",[225,logseq____"^Qlogseq____",logseq____"Android requires all updates to be signed using the same keylogseq____",536871838]],[logseq____"^15logseq____",[225,logseq____"^Ologseq____",logseq____"^16logseq____",536871815]],[logseq____"^15logseq____",[225,logseq____"^@logseq____",false,536871815]],[logseq____"^15logseq____",[225,logseq____"^Flogseq____",223,536871815]],[logseq____"^15logseq____",[225,logseq____"^Xlogseq____",197,536871815]],[logseq____"^15logseq____",[225,logseq____"^Vlogseq____",222,536871815]],[logseq____"^15logseq____",[225,logseq____"^Ulogseq____",197,536871816]],[logseq____"^15logseq____",[225,logseq____"^;logseq____",logseq____"~u67b475e0-ea25-4d8f-ae86-5d32eaf691f5logseq____",536871815]],[logseq____"^15logseq____",[226,logseq____"^Qlogseq____",logseq____"### APK Signature Scheme v3logseq____",536871892]],[logseq____"^15logseq____",[226,logseq____"^Ologseq____",logseq____"^16logseq____",536871841]],[logseq____"^15logseq____",[226,logseq____"^@logseq____",false,536871841]],[logseq____"^15logseq____",[226,logseq____"^Flogseq____",222,536871845]],[logseq____"^15logseq____",[226,logseq____"^Xlogseq____",197,536871841]],[logseq____"^15logseq____",[226,logseq____"^Vlogseq____",205,536871892]],[logseq____"^15logseq____",[226,logseq____"^Ulogseq____",197,536871842]],[logseq____"^15logseq____",[226,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871892]],[logseq____"^15logseq____",[226,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[226,logseq____"^;logseq____",logseq____"~u67b47a3b-5672-4ebc-bf1c-89d41cf2a254logseq____",536871841]],[logseq____"^15logseq____",[227,logseq____"^Qlogseq____",logseq____"Added key rotation through additional *proof-of-rotation* in the signing blocklogseq____",536871883]],[logseq____"^15logseq____",[227,logseq____"^Ologseq____",logseq____"^16logseq____",536871855]],[logseq____"^15logseq____",[227,logseq____"^@logseq____",false,536871855]],[logseq____"^15logseq____",[227,logseq____"^Flogseq____",226,536871855]],[logseq____"^15logseq____",[227,logseq____"^Xlogseq____",197,536871855]],[logseq____"^15logseq____",[227,logseq____"^Vlogseq____",226,536871857]],[logseq____"^15logseq____",[227,logseq____"^Ulogseq____",197,536871856]],[logseq____"^15logseq____",[227,logseq____"^;logseq____",logseq____"~u67b47a47-582a-43b7-8367-4c660a65e037logseq____",536871855]],[logseq____"^15logseq____",[228,logseq____"^12logseq____",2,536871887]],[logseq____"^15logseq____",[229,logseq____"^Klogseq____",1740059871503,536871888]],[logseq____"^15logseq____",[229,logseq____"^Ologseq____",logseq____"^16logseq____",536871888]],[logseq____"^15logseq____",[229,logseq____"^Nlogseq____",20250220,536871888]],[logseq____"^15logseq____",[229,logseq____"^@logseq____",true,536871888]],[logseq____"^15logseq____",[229,logseq____"^Ylogseq____",logseq____"feb 20th, 2025logseq____",536871888]],[logseq____"^15logseq____",[229,logseq____"^11logseq____",logseq____"Feb 20th, 2025logseq____",536871888]],[logseq____"^15logseq____",[229,logseq____"^Blogseq____",1740059871503,536871888]],[logseq____"^15logseq____",[229,logseq____"^;logseq____",logseq____"~u67b734df-ee27-4e61-bc91-765780fd52dalogseq____",536871888]],[logseq____"^15logseq____",[230,logseq____"^Qlogseq____",logseq____"logseq____",536871889]],[logseq____"^15logseq____",[230,logseq____"^Ologseq____",logseq____"^16logseq____",536871889]],[logseq____"^15logseq____",[230,logseq____"^Nlogseq____",20250220,536871889]],[logseq____"^15logseq____",[230,logseq____"^@logseq____",true,536871889]],[logseq____"^15logseq____",[230,logseq____"^Flogseq____",229,536871889]],[logseq____"^15logseq____",[230,logseq____"^Xlogseq____",229,536871889]],[logseq____"^15logseq____",[230,logseq____"^Vlogseq____",229,536871889]],[logseq____"^15logseq____",[230,logseq____"^Ulogseq____",229,536871890]],[logseq____"^15logseq____",[230,logseq____"^?logseq____",[logseq____"^ logseq____"],536871889]],[logseq____"^15logseq____",[230,logseq____"^;logseq____",logseq____"~u67b734df-630b-4e26-8f62-52de740bebd6logseq____",536871889]],[logseq____"^15logseq____",[231,logseq____"^Qlogseq____",logseq____"### Signature Scheme v1 (JAR signing)logseq____",536871892]],[logseq____"^15logseq____",[231,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[231,logseq____"^Flogseq____",205,536871892]],[logseq____"^15logseq____",[231,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[231,logseq____"^Vlogseq____",205,536871892]],[logseq____"^15logseq____",[231,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[231,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871892]],[logseq____"^15logseq____",[231,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[231,logseq____"^;logseq____",logseq____"~u67b734e0-5f33-411f-b5b7-b43415b1fb2clogseq____",536871892]],[logseq____"^15logseq____",[232,logseq____"^Qlogseq____",logseq____"Self-signed signatures allow for re-packaging modified contentlogseq____",536871909]],[logseq____"^15logseq____",[232,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[232,logseq____"^Flogseq____",235,536871892]],[logseq____"^15logseq____",[232,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[232,logseq____"^Vlogseq____",235,536871892]],[logseq____"^15logseq____",[232,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[232,logseq____"^?logseq____",[logseq____"^ logseq____"],536871909]],[logseq____"^15logseq____",[232,logseq____"^;logseq____",logseq____"~u67b734e0-c5f9-4735-a2b3-ece2a7dc043elogseq____",536871892]],[logseq____"^15logseq____",[233,logseq____"^Qlogseq____",logseq____"## App Bundleslogseq____",536871892]],[logseq____"^15logseq____",[233,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[233,logseq____"^Flogseq____",205,536871892]],[logseq____"^15logseq____",[233,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[233,logseq____"^Vlogseq____",197,536871892]],[logseq____"^15logseq____",[233,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[233,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871892]],[logseq____"^15logseq____",[233,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[233,logseq____"^;logseq____",logseq____"~u67b734e0-cc27-4cf7-9b91-97abdf8f2e26logseq____",536871892]],[logseq____"^15logseq____",[234,logseq____"^Qlogseq____",logseq____"No authenticity (developer self-signs certificate)logseq____",536871892]],[logseq____"^15logseq____",[234,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[234,logseq____"^Flogseq____",239,536871892]],[logseq____"^15logseq____",[234,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[234,logseq____"^Vlogseq____",233,536871892]],[logseq____"^15logseq____",[234,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[234,logseq____"^;logseq____",logseq____"~u67b734e0-1e00-47f4-9e44-aab63df2e649logseq____",536871892]],[logseq____"^15logseq____",[235,logseq____"^Qlogseq____",logseq____"## Repackaginglogseq____",536871892]],[logseq____"^15logseq____",[235,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[235,logseq____"^Flogseq____",233,536871892]],[logseq____"^15logseq____",[235,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[235,logseq____"^Vlogseq____",197,536871892]],[logseq____"^15logseq____",[235,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[235,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536871892]],[logseq____"^15logseq____",[235,logseq____"^Jlogseq____",[],536871892]],[logseq____"^15logseq____",[235,logseq____"^;logseq____",logseq____"~u67b734e0-eae0-4815-a169-4983bc5f30a1logseq____",536871892]],[logseq____"^15logseq____",[236,logseq____"^Qlogseq____",logseq____"Contains code and resources (*organized in modules*)logseq____",536871892]],[logseq____"^15logseq____",[236,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[236,logseq____"^Flogseq____",238,536871892]],[logseq____"^15logseq____",[236,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[236,logseq____"^Vlogseq____",233,536871892]],[logseq____"^15logseq____",[236,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[236,logseq____"^;logseq____",logseq____"~u67b734e0-0117-4e8f-ab46-d3e1cb611b60logseq____",536871892]],[logseq____"^15logseq____",[237,logseq____"^Qlogseq____",logseq____"*trust on first install*logseq____",536871892]],[logseq____"^15logseq____",[237,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[237,logseq____"^Flogseq____",234,536871892]],[logseq____"^15logseq____",[237,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[237,logseq____"^Vlogseq____",234,536871892]],[logseq____"^15logseq____",[237,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[237,logseq____"^;logseq____",logseq____"~u67b734e0-dc7a-4230-a35f-3b6787a3def7logseq____",536871892]],[logseq____"^15logseq____",[238,logseq____"^Qlogseq____",logseq____"New publishing formatlogseq____",536871892]],[logseq____"^15logseq____",[238,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[238,logseq____"^Flogseq____",233,536871892]],[logseq____"^15logseq____",[238,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[238,logseq____"^Vlogseq____",233,536871892]],[logseq____"^15logseq____",[238,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[238,logseq____"^;logseq____",logseq____"~u67b734e0-6e46-444e-9e58-12f640eb1ec5logseq____",536871892]],[logseq____"^15logseq____",[239,logseq____"^Qlogseq____",logseq____"APK generation deferred to Google Play (chooses appropriate APK)logseq____",536871892]],[logseq____"^15logseq____",[239,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[239,logseq____"^Flogseq____",236,536871892]],[logseq____"^15logseq____",[239,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[239,logseq____"^Vlogseq____",233,536871892]],[logseq____"^15logseq____",[239,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[239,logseq____"^;logseq____",logseq____"~u67b734e0-f47f-4e95-b5fe-eca0d98d6369logseq____",536871892]],[logseq____"^15logseq____",[240,logseq____"^Qlogseq____",logseq____"subsequent updates ensure integritylogseq____",536871892]],[logseq____"^15logseq____",[240,logseq____"^Ologseq____",logseq____"^16logseq____",536871892]],[logseq____"^15logseq____",[240,logseq____"^Flogseq____",237,536871892]],[logseq____"^15logseq____",[240,logseq____"^Xlogseq____",197,536871892]],[logseq____"^15logseq____",[240,logseq____"^Vlogseq____",234,536871892]],[logseq____"^15logseq____",[240,logseq____"^Ulogseq____",197,536871892]],[logseq____"^15logseq____",[240,logseq____"^;logseq____",logseq____"~u67b734e0-4fa6-4184-b7c7-26e8c27ef777logseq____",536871892]],[logseq____"^15logseq____",[241,logseq____"^Qlogseq____",logseq____"Only works for first-installs (SOP of subsequent updates)logseq____",536871931]],[logseq____"^15logseq____",[241,logseq____"^Ologseq____",logseq____"^16logseq____",536871910]],[logseq____"^15logseq____",[241,logseq____"^Flogseq____",232,536871910]],[logseq____"^15logseq____",[241,logseq____"^Xlogseq____",197,536871910]],[logseq____"^15logseq____",[241,logseq____"^Vlogseq____",235,536871910]],[logseq____"^15logseq____",[241,logseq____"^Ulogseq____",197,536871911]],[logseq____"^15logseq____",[241,logseq____"^?logseq____",[logseq____"^ logseq____"],536871931]],[logseq____"^15logseq____",[241,logseq____"^;logseq____",logseq____"~u67b7360b-3f5f-45f9-bcef-0cb0008c8c47logseq____",536871910]],[logseq____"^15logseq____",[242,logseq____"^Qlogseq____",logseq____"### SafetyNet Attestationlogseq____",536871947]],[logseq____"^15logseq____",[242,logseq____"^Ologseq____",logseq____"^16logseq____",536871934]],[logseq____"^15logseq____",[242,logseq____"^Flogseq____",241,536871934]],[logseq____"^15logseq____",[242,logseq____"^Xlogseq____",197,536871934]],[logseq____"^15logseq____",[242,logseq____"^Vlogseq____",235,536871934]],[logseq____"^15logseq____",[242,logseq____"^Ulogseq____",197,536871935]],[logseq____"^15logseq____",[242,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536871947]],[logseq____"^15logseq____",[242,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536871947]],[logseq____"^15logseq____",[242,logseq____"^;logseq____",logseq____"~u67b7384f-07c1-49f6-a59c-b583f1210aa7logseq____",536871934]],[logseq____"^15logseq____",[243,logseq____"^Qlogseq____",logseq____"Verify App runs on a verified devicelogseq____",536871960]],[logseq____"^15logseq____",[243,logseq____"^Ologseq____",logseq____"^16logseq____",536871950]],[logseq____"^15logseq____",[243,logseq____"^Flogseq____",242,536871950]],[logseq____"^15logseq____",[243,logseq____"^Xlogseq____",197,536871950]],[logseq____"^15logseq____",[243,logseq____"^Vlogseq____",242,536871954]],[logseq____"^15logseq____",[243,logseq____"^Ulogseq____",197,536871951]],[logseq____"^15logseq____",[243,logseq____"^?logseq____",[logseq____"^ logseq____"],536871960]],[logseq____"^15logseq____",[243,logseq____"^;logseq____",logseq____"~u67b73911-b5f0-4106-af00-96dade675773logseq____",536871950]],[logseq____"^15logseq____",[245,logseq____"^Qlogseq____",logseq____"*Google Play Integrity API* as successorlogseq____",536872131]],[logseq____"^15logseq____",[245,logseq____"^Ologseq____",logseq____"^16logseq____",536872012]],[logseq____"^15logseq____",[245,logseq____"^Flogseq____",246,536872029]],[logseq____"^15logseq____",[245,logseq____"^Xlogseq____",197,536872012]],[logseq____"^15logseq____",[245,logseq____"^Vlogseq____",242,536872012]],[logseq____"^15logseq____",[245,logseq____"^Ulogseq____",197,536872013]],[logseq____"^15logseq____",[245,logseq____"^?logseq____",[logseq____"^ logseq____"],536872131]],[logseq____"^15logseq____",[245,logseq____"^;logseq____",logseq____"~u67b73952-0f76-4a4e-89bf-ba45a3885575logseq____",536872012]],[logseq____"^15logseq____",[246,logseq____"^Qlogseq____",logseq____"{{renderer :mermaid_67b73964-1967-42c5-8434-e4db656b80c0, 3}}logseq____",536872037]],[logseq____"^15logseq____",[246,logseq____"^Ologseq____",logseq____"^16logseq____",536872029]],[logseq____"^15logseq____",[246,logseq____"^Flogseq____",249,536872125]],[logseq____"^15logseq____",[246,logseq____"^Slogseq____",248,536872125]],[logseq____"^15logseq____",[246,logseq____"^Xlogseq____",197,536872029]],[logseq____"^15logseq____",[246,logseq____"^Vlogseq____",242,536872029]],[logseq____"^15logseq____",[246,logseq____"^Ulogseq____",197,536872030]],[logseq____"^15logseq____",[246,logseq____"^?logseq____",[logseq____"^ logseq____"],536872125]],[logseq____"^15logseq____",[246,logseq____"^;logseq____",logseq____"~u67b73964-1967-42c5-8434-e4db656b80c0logseq____",536872029]],[logseq____"^15logseq____",[247,logseq____"^Qlogseq____",logseq____"~```mermaid\\nsequenceDiagram\\n box Smartphone\\n participant App\\n participant SafetyNetAPI\\n end\\n \\n box Google Server\\n participant SafetyNetServer\\n end\\n \\n box Developer Server\\n participant AppServer\\n end\\n\\n App-logseq____>logseq____>SafetyNetAPI: 1) Send nonce, platform config, app metadata\\n SafetyNetAPI-logseq____>logseq____>SafetyNetServer: Forward attestation request\\n SafetyNetServer--logseq____>logseq____>SafetyNetAPI: Return signed attestation (S)\\n SafetyNetAPI--logseq____>logseq____>App: Return attestation (S)\\n App-logseq____>logseq____>AppServer: 2) Send attestation (S)\\n AppServer--logseq____>logseq____>AppServer: 3) Verify S (decide device/app trustworthiness)\\n```logseq____",536872073]],[logseq____"^15logseq____",[247,logseq____"^Ologseq____",logseq____"^16logseq____",536872035]],[logseq____"^15logseq____",[247,logseq____"^Flogseq____",246,536872035]],[logseq____"^15logseq____",[247,logseq____"^Xlogseq____",197,536872035]],[logseq____"^15logseq____",[247,logseq____"^Vlogseq____",246,536872035]],[logseq____"^15logseq____",[247,logseq____"^Ulogseq____",197,536872115]],[logseq____"^15logseq____",[247,logseq____"^?logseq____",[logseq____"^ logseq____"],536872073]],[logseq____"^15logseq____",[247,logseq____"^;logseq____",logseq____"~u67b73966-e166-4f1e-a3f6-777aebddf613logseq____",536872035]],[logseq____"^15logseq____",[248,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b73964-1967-42c5-8434-e4db656b80c0logseq____",logseq____"3logseq____"]],536872037]],[logseq____"^15logseq____",[248,logseq____"^Wlogseq____",logseq____"macrologseq____",536872037]],[logseq____"^15logseq____",[248,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b73964-1967-42c5-8434-e4db656b80c0 3logseq____",536872037]],[logseq____"^15logseq____",[249,logseq____"^Qlogseq____",logseq____"Should not be used as *stand-alone*, *anti-abuse* or *app-security* mechanismlogseq____",536872111]],[logseq____"^15logseq____",[249,logseq____"^Ologseq____",logseq____"^16logseq____",536872076]],[logseq____"^15logseq____",[249,logseq____"^Flogseq____",243,536872076]],[logseq____"^15logseq____",[249,logseq____"^Xlogseq____",197,536872076]],[logseq____"^15logseq____",[249,logseq____"^Vlogseq____",242,536872076]],[logseq____"^15logseq____",[249,logseq____"^Ulogseq____",197,536872077]],[logseq____"^15logseq____",[249,logseq____"^?logseq____",[logseq____"^ logseq____"],536872111]],[logseq____"^15logseq____",[249,logseq____"^;logseq____",logseq____"~u67b73b1d-1d55-44bd-a5e1-b33656fe8aa0logseq____",536872076]],[logseq____"^15logseq____",[251,logseq____"^Klogseq____",1740061629015,536872135]],[logseq____"^15logseq____",[251,logseq____"^Ologseq____",logseq____"^16logseq____",536872142]],[logseq____"^15logseq____",[251,logseq____"^@logseq____",false,536872135]],[logseq____"^15logseq____",[251,logseq____"^Ylogseq____",logseq____"secure architecture principleslogseq____",536872135]],[logseq____"^15logseq____",[251,logseq____"^11logseq____",logseq____"Secure Architecture Principleslogseq____",536872135]],[logseq____"^15logseq____",[251,logseq____"^Blogseq____",1740063807228,536872928]],[logseq____"^15logseq____",[251,logseq____"^;logseq____",logseq____"~u67b73bbd-c042-4018-8342-37e8f6394424logseq____",536872135]],[logseq____"^15logseq____",[252,logseq____"^Qlogseq____",logseq____"## Secure, fail-safe defaultslogseq____",536872858]],[logseq____"^15logseq____",[252,logseq____"^Ologseq____",logseq____"^16logseq____",536872143]],[logseq____"^15logseq____",[252,logseq____"^@logseq____",false,536872143]],[logseq____"^15logseq____",[252,logseq____"^Flogseq____",251,536872143]],[logseq____"^15logseq____",[252,logseq____"^Xlogseq____",251,536872143]],[logseq____"^15logseq____",[252,logseq____"^Vlogseq____",251,536872143]],[logseq____"^15logseq____",[252,logseq____"^Ulogseq____",251,536872144]],[logseq____"^15logseq____",[252,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872858]],[logseq____"^15logseq____",[252,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872858]],[logseq____"^15logseq____",[252,logseq____"^;logseq____",logseq____"~u67b73bc2-5b94-4acd-b807-8fba73ab0789logseq____",536872143]],[logseq____"^15logseq____",[256,logseq____"^Qlogseq____",logseq____"## Open Designlogseq____",536872852]],[logseq____"^15logseq____",[256,logseq____"^Ologseq____",logseq____"^16logseq____",536872203]],[logseq____"^15logseq____",[256,logseq____"^@logseq____",false,536872203]],[logseq____"^15logseq____",[256,logseq____"^Flogseq____",274,536872631]],[logseq____"^15logseq____",[256,logseq____"^Xlogseq____",251,536872203]],[logseq____"^15logseq____",[256,logseq____"^Vlogseq____",251,536872631]],[logseq____"^15logseq____",[256,logseq____"^Ulogseq____",251,536872624]],[logseq____"^15logseq____",[256,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872852]],[logseq____"^15logseq____",[256,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872852]],[logseq____"^15logseq____",[256,logseq____"^;logseq____",logseq____"~u67b73c61-7ef6-47d1-b2ee-36e8a430dc35logseq____",536872203]],[logseq____"^15logseq____",[257,logseq____"^Qlogseq____",logseq____"## Separation of Privilegelogseq____",536872850]],[logseq____"^15logseq____",[257,logseq____"^Ologseq____",logseq____"^16logseq____",536872234]],[logseq____"^15logseq____",[257,logseq____"^@logseq____",false,536872234]],[logseq____"^15logseq____",[257,logseq____"^Flogseq____",256,536872645]],[logseq____"^15logseq____",[257,logseq____"^Xlogseq____",251,536872234]],[logseq____"^15logseq____",[257,logseq____"^Vlogseq____",251,536872645]],[logseq____"^15logseq____",[257,logseq____"^Ulogseq____",251,536872642]],[logseq____"^15logseq____",[257,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872850]],[logseq____"^15logseq____",[257,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872850]],[logseq____"^15logseq____",[257,logseq____"^;logseq____",logseq____"~u67b73c8f-8f85-4221-8779-f4beca37126blogseq____",536872234]],[logseq____"^15logseq____",[258,logseq____"^Qlogseq____",logseq____"## Least Privilegelogseq____",536872846]],[logseq____"^15logseq____",[258,logseq____"^Ologseq____",logseq____"^16logseq____",536872262]],[logseq____"^15logseq____",[258,logseq____"^@logseq____",false,536872262]],[logseq____"^15logseq____",[258,logseq____"^Flogseq____",257,536872665]],[logseq____"^15logseq____",[258,logseq____"^Xlogseq____",251,536872262]],[logseq____"^15logseq____",[258,logseq____"^Vlogseq____",251,536872665]],[logseq____"^15logseq____",[258,logseq____"^Ulogseq____",251,536872656]],[logseq____"^15logseq____",[258,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872846]],[logseq____"^15logseq____",[258,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872846]],[logseq____"^15logseq____",[258,logseq____"^;logseq____",logseq____"~u67b73cc0-6cc9-4099-81fe-fb696e04c2e6logseq____",536872262]],[logseq____"^15logseq____",[260,logseq____"^Qlogseq____",logseq____"## Minimum Exposurelogseq____",536872840]],[logseq____"^15logseq____",[260,logseq____"^Ologseq____",logseq____"^16logseq____",536872309]],[logseq____"^15logseq____",[260,logseq____"^@logseq____",false,536872309]],[logseq____"^15logseq____",[260,logseq____"^Flogseq____",278,536872703]],[logseq____"^15logseq____",[260,logseq____"^Xlogseq____",251,536872309]],[logseq____"^15logseq____",[260,logseq____"^Vlogseq____",251,536872703]],[logseq____"^15logseq____",[260,logseq____"^Ulogseq____",251,536872699]],[logseq____"^15logseq____",[260,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872840]],[logseq____"^15logseq____",[260,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872840]],[logseq____"^15logseq____",[260,logseq____"^;logseq____",logseq____"~u67b73cff-c496-4b0b-8636-ac59bf6bee92logseq____",536872309]],[logseq____"^15logseq____",[261,logseq____"^Qlogseq____",logseq____"## Isolationlogseq____",536872836]],[logseq____"^15logseq____",[261,logseq____"^Ologseq____",logseq____"^16logseq____",536872331]],[logseq____"^15logseq____",[261,logseq____"^@logseq____",false,536872331]],[logseq____"^15logseq____",[261,logseq____"^Flogseq____",260,536872726]],[logseq____"^15logseq____",[261,logseq____"^Xlogseq____",251,536872331]],[logseq____"^15logseq____",[261,logseq____"^Vlogseq____",251,536872726]],[logseq____"^15logseq____",[261,logseq____"^Ulogseq____",251,536872716]],[logseq____"^15logseq____",[261,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872836]],[logseq____"^15logseq____",[261,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872836]],[logseq____"^15logseq____",[261,logseq____"^;logseq____",logseq____"~u67b73d1c-8097-4a8f-be86-a52922e52346logseq____",536872331]],[logseq____"^15logseq____",[262,logseq____"^Qlogseq____",logseq____"## Modularity/Compartmentalization\\nid:: 67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____",536872908]],[logseq____"^15logseq____",[262,logseq____"^Ologseq____",logseq____"^16logseq____",536872359]],[logseq____"^15logseq____",[262,logseq____"^@logseq____",false,536872359]],[logseq____"^15logseq____",[262,logseq____"^Flogseq____",261,536872741]],[logseq____"^15logseq____",[262,logseq____"^Xlogseq____",251,536872359]],[logseq____"^15logseq____",[262,logseq____"^Vlogseq____",251,536872741]],[logseq____"^15logseq____",[262,logseq____"^Ulogseq____",251,536872737]],[logseq____"^15logseq____",[262,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2,logseq____"^18logseq____",logseq____"67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____"],536872908]],[logseq____"^15logseq____",[262,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^18logseq____"]],536872908]],[logseq____"^15logseq____",[262,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____"],536872908]],[logseq____"^15logseq____",[262,logseq____"^;logseq____",logseq____"~u67b73d61-146d-41b7-88c1-bfe2f62977c9logseq____",536872359]],[logseq____"^15logseq____",[263,logseq____"^Qlogseq____",logseq____"## Defense-In-Depthlogseq____",536872830]],[logseq____"^15logseq____",[263,logseq____"^Ologseq____",logseq____"^16logseq____",536872399]],[logseq____"^15logseq____",[263,logseq____"^@logseq____",false,536872399]],[logseq____"^15logseq____",[263,logseq____"^Flogseq____",262,536872766]],[logseq____"^15logseq____",[263,logseq____"^Xlogseq____",251,536872399]],[logseq____"^15logseq____",[263,logseq____"^Vlogseq____",251,536872766]],[logseq____"^15logseq____",[263,logseq____"^Ulogseq____",251,536872762]],[logseq____"^15logseq____",[263,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872830]],[logseq____"^15logseq____",[263,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872830]],[logseq____"^15logseq____",[263,logseq____"^;logseq____",logseq____"~u67b73d9a-800b-4507-ac68-2dde32b414b8logseq____",536872399]],[logseq____"^15logseq____",[264,logseq____"^Qlogseq____",logseq____"## Minimize Trust - Maximize Trustworthinesslogseq____",536872828]],[logseq____"^15logseq____",[264,logseq____"^Ologseq____",logseq____"^16logseq____",536872425]],[logseq____"^15logseq____",[264,logseq____"^@logseq____",false,536872425]],[logseq____"^15logseq____",[264,logseq____"^Flogseq____",263,536872785]],[logseq____"^15logseq____",[264,logseq____"^Xlogseq____",251,536872425]],[logseq____"^15logseq____",[264,logseq____"^Vlogseq____",251,536872785]],[logseq____"^15logseq____",[264,logseq____"^Ulogseq____",251,536872781]],[logseq____"^15logseq____",[264,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872828]],[logseq____"^15logseq____",[264,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872828]],[logseq____"^15logseq____",[264,logseq____"^;logseq____",logseq____"~u67b73e1a-3985-4f74-b61c-909a74d38b1blogseq____",536872425]],[logseq____"^15logseq____",[266,logseq____"^Qlogseq____",logseq____"### Component Design at Different Levelslogseq____",536872878]],[logseq____"^15logseq____",[266,logseq____"^Ologseq____",logseq____"^16logseq____",536872477]],[logseq____"^15logseq____",[266,logseq____"^@logseq____",false,536872477]],[logseq____"^15logseq____",[266,logseq____"^Flogseq____",282,536872862]],[logseq____"^15logseq____",[266,logseq____"^Xlogseq____",251,536872477]],[logseq____"^15logseq____",[266,logseq____"^Vlogseq____",262,536872868]],[logseq____"^15logseq____",[266,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[266,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536872878]],[logseq____"^15logseq____",[266,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872878]],[logseq____"^15logseq____",[266,logseq____"^;logseq____",logseq____"~u67b73eac-a228-453a-8c1b-e82e05ff998dlogseq____",536872477]],[logseq____"^15logseq____",[267,logseq____"^Qlogseq____",logseq____"Split software into moduleslogseq____",536872519]],[logseq____"^15logseq____",[267,logseq____"^Ologseq____",logseq____"^16logseq____",536872487]],[logseq____"^15logseq____",[267,logseq____"^@logseq____",false,536872487]],[logseq____"^15logseq____",[267,logseq____"^Flogseq____",266,536872487]],[logseq____"^15logseq____",[267,logseq____"^Xlogseq____",251,536872487]],[logseq____"^15logseq____",[267,logseq____"^Vlogseq____",266,536872489]],[logseq____"^15logseq____",[267,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[267,logseq____"^?logseq____",[logseq____"^ logseq____"],536872519]],[logseq____"^15logseq____",[267,logseq____"^;logseq____",logseq____"~u67b74090-a479-46d3-b827-c7dcd353c0d7logseq____",536872487]],[logseq____"^15logseq____",[268,logseq____"^Qlogseq____",logseq____"Utilize OS mechanismslogseq____",536872532]],[logseq____"^15logseq____",[268,logseq____"^Ologseq____",logseq____"^16logseq____",536872519]],[logseq____"^15logseq____",[268,logseq____"^@logseq____",false,536872519]],[logseq____"^15logseq____",[268,logseq____"^Flogseq____",267,536872519]],[logseq____"^15logseq____",[268,logseq____"^Xlogseq____",251,536872519]],[logseq____"^15logseq____",[268,logseq____"^Vlogseq____",266,536872519]],[logseq____"^15logseq____",[268,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[268,logseq____"^?logseq____",[logseq____"^ logseq____"],536872532]],[logseq____"^15logseq____",[268,logseq____"^;logseq____",logseq____"~u67b740c1-320c-415b-917b-d4fa9bcbb08elogseq____",536872519]],[logseq____"^15logseq____",[269,logseq____"^Qlogseq____",logseq____"Micro-Kernelslogseq____",536872555]],[logseq____"^15logseq____",[269,logseq____"^Ologseq____",logseq____"^16logseq____",536872535]],[logseq____"^15logseq____",[269,logseq____"^@logseq____",false,536872535]],[logseq____"^15logseq____",[269,logseq____"^Flogseq____",268,536872535]],[logseq____"^15logseq____",[269,logseq____"^Xlogseq____",251,536872535]],[logseq____"^15logseq____",[269,logseq____"^Vlogseq____",266,536872535]],[logseq____"^15logseq____",[269,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[269,logseq____"^?logseq____",[logseq____"^ logseq____"],536872555]],[logseq____"^15logseq____",[269,logseq____"^;logseq____",logseq____"~u67b740cc-cef7-483b-90ac-c43bee234773logseq____",536872535]],[logseq____"^15logseq____",[270,logseq____"^Qlogseq____",logseq____"Virtual Machineslogseq____",536872552]],[logseq____"^15logseq____",[270,logseq____"^Ologseq____",logseq____"^16logseq____",536872540]],[logseq____"^15logseq____",[270,logseq____"^@logseq____",false,536872540]],[logseq____"^15logseq____",[270,logseq____"^Flogseq____",269,536872540]],[logseq____"^15logseq____",[270,logseq____"^Xlogseq____",251,536872540]],[logseq____"^15logseq____",[270,logseq____"^Vlogseq____",266,536872540]],[logseq____"^15logseq____",[270,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[270,logseq____"^?logseq____",[logseq____"^ logseq____"],536872552]],[logseq____"^15logseq____",[270,logseq____"^;logseq____",logseq____"~u67b740cf-5023-41b5-87af-a7d1f5cf03a0logseq____",536872540]],[logseq____"^15logseq____",[272,logseq____"^Qlogseq____",logseq____"System should go into a secure state in the event of failures*logseq____",536872609]],[logseq____"^15logseq____",[272,logseq____"^Ologseq____",logseq____"^16logseq____",536872579]],[logseq____"^15logseq____",[272,logseq____"^@logseq____",false,536872579]],[logseq____"^15logseq____",[272,logseq____"^Flogseq____",252,536872579]],[logseq____"^15logseq____",[272,logseq____"^Xlogseq____",251,536872579]],[logseq____"^15logseq____",[272,logseq____"^Vlogseq____",252,536872579]],[logseq____"^15logseq____",[272,logseq____"^Ulogseq____",251,536872859]],[logseq____"^15logseq____",[272,logseq____"^?logseq____",[logseq____"^ logseq____"],536872609]],[logseq____"^15logseq____",[272,logseq____"^;logseq____",logseq____"~u67b741ef-9437-429c-a858-d917726540a8logseq____",536872579]],[logseq____"^15logseq____",[273,logseq____"^Qlogseq____",logseq____"Every asset access must be check against the security policylogseq____",536872599]],[logseq____"^15logseq____",[273,logseq____"^Ologseq____",logseq____"^16logseq____",536872599]],[logseq____"^15logseq____",[273,logseq____"^@logseq____",false,536872599]],[logseq____"^15logseq____",[273,logseq____"^Flogseq____",274,536872613]],[logseq____"^15logseq____",[273,logseq____"^Xlogseq____",251,536872599]],[logseq____"^15logseq____",[273,logseq____"^Vlogseq____",274,536872613]],[logseq____"^15logseq____",[273,logseq____"^Ulogseq____",251,536872857]],[logseq____"^15logseq____",[273,logseq____"^?logseq____",[logseq____"^ logseq____"],536872599]],[logseq____"^15logseq____",[273,logseq____"^;logseq____",logseq____"~u67b741fc-7590-46e5-bcfe-2849866cbbb6logseq____",536872599]],[logseq____"^15logseq____",[274,logseq____"^Qlogseq____",logseq____"## Complete Mediationlogseq____",536872856]],[logseq____"^15logseq____",[274,logseq____"^Ologseq____",logseq____"^16logseq____",536872609]],[logseq____"^15logseq____",[274,logseq____"^@logseq____",false,536872609]],[logseq____"^15logseq____",[274,logseq____"^Flogseq____",252,536872615]],[logseq____"^15logseq____",[274,logseq____"^Xlogseq____",251,536872609]],[logseq____"^15logseq____",[274,logseq____"^Vlogseq____",251,536872615]],[logseq____"^15logseq____",[274,logseq____"^Ulogseq____",251,536872610]],[logseq____"^15logseq____",[274,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872856]],[logseq____"^15logseq____",[274,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872856]],[logseq____"^15logseq____",[274,logseq____"^;logseq____",logseq____"~u67b741ff-7f35-4293-bea7-c137d36a2b77logseq____",536872609]],[logseq____"^15logseq____",[275,logseq____"^Qlogseq____",logseq____"Kerckhoffslogseq____' principle, i.e., security should not rely on the secrecy of mechanismslogseq____",536872641]],[logseq____"^15logseq____",[275,logseq____"^Ologseq____",logseq____"^16logseq____",536872641]],[logseq____"^15logseq____",[275,logseq____"^@logseq____",false,536872641]],[logseq____"^15logseq____",[275,logseq____"^Flogseq____",256,536872641]],[logseq____"^15logseq____",[275,logseq____"^Xlogseq____",251,536872641]],[logseq____"^15logseq____",[275,logseq____"^Vlogseq____",256,536872641]],[logseq____"^15logseq____",[275,logseq____"^Ulogseq____",251,536872853]],[logseq____"^15logseq____",[275,logseq____"^?logseq____",[logseq____"^ logseq____"],536872641]],[logseq____"^15logseq____",[275,logseq____"^;logseq____",logseq____"~u67b74208-c6b7-49cb-aeee-28f188ab4865logseq____",536872641]],[logseq____"^15logseq____",[276,logseq____"^Qlogseq____",logseq____"Require multiple privilege attributes for accessing restricted resourceslogseq____",536872655]],[logseq____"^15logseq____",[276,logseq____"^Ologseq____",logseq____"^16logseq____",536872655]],[logseq____"^15logseq____",[276,logseq____"^@logseq____",false,536872655]],[logseq____"^15logseq____",[276,logseq____"^Flogseq____",257,536872655]],[logseq____"^15logseq____",[276,logseq____"^Xlogseq____",251,536872655]],[logseq____"^15logseq____",[276,logseq____"^Vlogseq____",257,536872655]],[logseq____"^15logseq____",[276,logseq____"^Ulogseq____",251,536872851]],[logseq____"^15logseq____",[276,logseq____"^?logseq____",[logseq____"^ logseq____"],536872655]],[logseq____"^15logseq____",[276,logseq____"^;logseq____",logseq____"~u67b74211-51bf-4e7c-a97a-15667746c85flogseq____",536872655]],[logseq____"^15logseq____",[277,logseq____"^Qlogseq____",logseq____"Do not give out more permissions than absolutely necessarylogseq____",536872686]],[logseq____"^15logseq____",[277,logseq____"^Ologseq____",logseq____"^16logseq____",536872679]],[logseq____"^15logseq____",[277,logseq____"^@logseq____",false,536872679]],[logseq____"^15logseq____",[277,logseq____"^Flogseq____",258,536872679]],[logseq____"^15logseq____",[277,logseq____"^Xlogseq____",251,536872679]],[logseq____"^15logseq____",[277,logseq____"^Vlogseq____",258,536872679]],[logseq____"^15logseq____",[277,logseq____"^Ulogseq____",251,536872847]],[logseq____"^15logseq____",[277,logseq____"^?logseq____",[logseq____"^ logseq____"],536872686]],[logseq____"^15logseq____",[277,logseq____"^;logseq____",logseq____"~u67b7421b-7705-4bdf-87d1-dac86395a787logseq____",536872679]],[logseq____"^15logseq____",[278,logseq____"^Qlogseq____",logseq____"## Least Common Mechanismlogseq____",536872842]],[logseq____"^15logseq____",[278,logseq____"^Ologseq____",logseq____"^16logseq____",536872686]],[logseq____"^15logseq____",[278,logseq____"^@logseq____",false,536872686]],[logseq____"^15logseq____",[278,logseq____"^Flogseq____",258,536872688]],[logseq____"^15logseq____",[278,logseq____"^Xlogseq____",251,536872686]],[logseq____"^15logseq____",[278,logseq____"^Vlogseq____",251,536872688]],[logseq____"^15logseq____",[278,logseq____"^Ulogseq____",251,536872687]],[logseq____"^15logseq____",[278,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872842]],[logseq____"^15logseq____",[278,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872842]],[logseq____"^15logseq____",[278,logseq____"^;logseq____",logseq____"~u67b74271-a0ee-4f8b-aaeb-14bb874c1771logseq____",536872686]],[logseq____"^15logseq____",[279,logseq____"^Qlogseq____",logseq____"Minimized shared functionalitylogseq____",536872698]],[logseq____"^15logseq____",[279,logseq____"^Ologseq____",logseq____"^16logseq____",536872698]],[logseq____"^15logseq____",[279,logseq____"^@logseq____",false,536872698]],[logseq____"^15logseq____",[279,logseq____"^Flogseq____",278,536872698]],[logseq____"^15logseq____",[279,logseq____"^Xlogseq____",251,536872698]],[logseq____"^15logseq____",[279,logseq____"^Vlogseq____",278,536872698]],[logseq____"^15logseq____",[279,logseq____"^Ulogseq____",251,536872843]],[logseq____"^15logseq____",[279,logseq____"^?logseq____",[logseq____"^ logseq____"],536872698]],[logseq____"^15logseq____",[279,logseq____"^;logseq____",logseq____"~u67b74277-da30-4e32-bc25-668fa475de54logseq____",536872698]],[logseq____"^15logseq____",[280,logseq____"^Qlogseq____",logseq____"Minimize systemlogseq____'s attack surfacelogseq____",536872715]],[logseq____"^15logseq____",[280,logseq____"^Ologseq____",logseq____"^16logseq____",536872715]],[logseq____"^15logseq____",[280,logseq____"^@logseq____",false,536872715]],[logseq____"^15logseq____",[280,logseq____"^Flogseq____",260,536872715]],[logseq____"^15logseq____",[280,logseq____"^Xlogseq____",251,536872715]],[logseq____"^15logseq____",[280,logseq____"^Vlogseq____",260,536872715]],[logseq____"^15logseq____",[280,logseq____"^Ulogseq____",251,536872841]],[logseq____"^15logseq____",[280,logseq____"^?logseq____",[logseq____"^ logseq____"],536872715]],[logseq____"^15logseq____",[280,logseq____"^;logseq____",logseq____"~u67b7427c-aecb-4da7-8228-17360d97e463logseq____",536872715]],[logseq____"^15logseq____",[281,logseq____"^Qlogseq____",logseq____"Critical resources should be isolated physically or logically, e.g., *encapsulation*logseq____",536872736]],[logseq____"^15logseq____",[281,logseq____"^Ologseq____",logseq____"^16logseq____",536872736]],[logseq____"^15logseq____",[281,logseq____"^@logseq____",false,536872736]],[logseq____"^15logseq____",[281,logseq____"^Flogseq____",261,536872736]],[logseq____"^15logseq____",[281,logseq____"^Xlogseq____",251,536872736]],[logseq____"^15logseq____",[281,logseq____"^Vlogseq____",261,536872736]],[logseq____"^15logseq____",[281,logseq____"^Ulogseq____",251,536872837]],[logseq____"^15logseq____",[281,logseq____"^?logseq____",[logseq____"^ logseq____"],536872736]],[logseq____"^15logseq____",[281,logseq____"^;logseq____",logseq____"~u67b7428e-6d67-41fc-8c02-623aa3117535logseq____",536872736]],[logseq____"^15logseq____",[282,logseq____"^Qlogseq____",logseq____"Modular system architecture and security mechanismslogseq____",536872761]],[logseq____"^15logseq____",[282,logseq____"^Ologseq____",logseq____"^16logseq____",536872761]],[logseq____"^15logseq____",[282,logseq____"^@logseq____",false,536872761]],[logseq____"^15logseq____",[282,logseq____"^Flogseq____",262,536872761]],[logseq____"^15logseq____",[282,logseq____"^Xlogseq____",251,536872761]],[logseq____"^15logseq____",[282,logseq____"^Vlogseq____",262,536872761]],[logseq____"^15logseq____",[282,logseq____"^Ulogseq____",251,536872909]],[logseq____"^15logseq____",[282,logseq____"^?logseq____",[logseq____"^ logseq____"],536872761]],[logseq____"^15logseq____",[282,logseq____"^;logseq____",logseq____"~u67b74296-9f20-4014-bce3-533f7b8067celogseq____",536872761]],[logseq____"^15logseq____",[283,logseq____"^Qlogseq____",logseq____"Multiple, overlapping protection mechanismslogseq____",536872780]],[logseq____"^15logseq____",[283,logseq____"^Ologseq____",logseq____"^16logseq____",536872780]],[logseq____"^15logseq____",[283,logseq____"^@logseq____",false,536872780]],[logseq____"^15logseq____",[283,logseq____"^Flogseq____",263,536872780]],[logseq____"^15logseq____",[283,logseq____"^Xlogseq____",251,536872780]],[logseq____"^15logseq____",[283,logseq____"^Vlogseq____",263,536872780]],[logseq____"^15logseq____",[283,logseq____"^Ulogseq____",251,536872831]],[logseq____"^15logseq____",[283,logseq____"^?logseq____",[logseq____"^ logseq____"],536872780]],[logseq____"^15logseq____",[283,logseq____"^;logseq____",logseq____"~u67b7429d-a243-42bb-9b38-698a1ab8a756logseq____",536872780]],[logseq____"^15logseq____",[284,logseq____"^Qlogseq____",logseq____"Satisfy trust assumptions using validated propertieslogseq____",536872809]],[logseq____"^15logseq____",[284,logseq____"^Ologseq____",logseq____"^16logseq____",536872793]],[logseq____"^15logseq____",[284,logseq____"^@logseq____",false,536872793]],[logseq____"^15logseq____",[284,logseq____"^Flogseq____",264,536872793]],[logseq____"^15logseq____",[284,logseq____"^Xlogseq____",251,536872793]],[logseq____"^15logseq____",[284,logseq____"^Vlogseq____",264,536872793]],[logseq____"^15logseq____",[284,logseq____"^Ulogseq____",251,536872829]],[logseq____"^15logseq____",[284,logseq____"^?logseq____",[logseq____"^ logseq____"],536872809]],[logseq____"^15logseq____",[284,logseq____"^;logseq____",logseq____"~u67b742a1-9e84-46e6-b732-897d1bdf171flogseq____",536872793]],[logseq____"^15logseq____",[285,logseq____"^Qlogseq____",logseq____"## Acceptance by Userslogseq____",536872820]],[logseq____"^15logseq____",[285,logseq____"^Ologseq____",logseq____"^16logseq____",536872809]],[logseq____"^15logseq____",[285,logseq____"^@logseq____",false,536872809]],[logseq____"^15logseq____",[285,logseq____"^Flogseq____",264,536872811]],[logseq____"^15logseq____",[285,logseq____"^Xlogseq____",251,536872809]],[logseq____"^15logseq____",[285,logseq____"^Vlogseq____",251,536872811]],[logseq____"^15logseq____",[285,logseq____"^Ulogseq____",251,536872810]],[logseq____"^15logseq____",[285,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872820]],[logseq____"^15logseq____",[285,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872820]],[logseq____"^15logseq____",[285,logseq____"^;logseq____",logseq____"~u67b742a8-c892-4c48-b5af-16b5ea51e72alogseq____",536872809]],[logseq____"^15logseq____",[286,logseq____"^Qlogseq____",logseq____"Security must be usablelogseq____",536872820]],[logseq____"^15logseq____",[286,logseq____"^Ologseq____",logseq____"^16logseq____",536872820]],[logseq____"^15logseq____",[286,logseq____"^@logseq____",false,536872820]],[logseq____"^15logseq____",[286,logseq____"^Flogseq____",285,536872820]],[logseq____"^15logseq____",[286,logseq____"^Xlogseq____",251,536872820]],[logseq____"^15logseq____",[286,logseq____"^Vlogseq____",285,536872822]],[logseq____"^15logseq____",[286,logseq____"^Ulogseq____",251,536872821]],[logseq____"^15logseq____",[286,logseq____"^?logseq____",[logseq____"^ logseq____"],536872820]],[logseq____"^15logseq____",[286,logseq____"^;logseq____",logseq____"~u67b742aa-72d6-4823-81f9-8c79adbb28e6logseq____",536872820]],[logseq____"^15logseq____",[287,logseq____"^Qlogseq____",logseq____"Privilege as ability to access/modify a resourcelogseq____",536872892]],[logseq____"^15logseq____",[287,logseq____"^Ologseq____",logseq____"^16logseq____",536872882]],[logseq____"^15logseq____",[287,logseq____"^@logseq____",false,536872882]],[logseq____"^15logseq____",[287,logseq____"^Flogseq____",277,536872882]],[logseq____"^15logseq____",[287,logseq____"^Xlogseq____",251,536872882]],[logseq____"^15logseq____",[287,logseq____"^Vlogseq____",258,536872882]],[logseq____"^15logseq____",[287,logseq____"^Ulogseq____",251,536872883]],[logseq____"^15logseq____",[287,logseq____"^?logseq____",[logseq____"^ logseq____"],536872892]],[logseq____"^15logseq____",[287,logseq____"^;logseq____",logseq____"~u67b742d2-ec7f-463a-8119-03d1626fa4a1logseq____",536872882]],[logseq____"^15logseq____",[288,logseq____"^Qlogseq____",logseq____"Fine-grained privileges allow for isolated [modules]((67b73d61-146d-41b7-88c1-bfe2f62977c9))logseq____",536872928]],[logseq____"^15logseq____",[288,logseq____"^Ologseq____",logseq____"^16logseq____",536872895]],[logseq____"^15logseq____",[288,logseq____"^@logseq____",false,536872895]],[logseq____"^15logseq____",[288,logseq____"^Flogseq____",287,536872895]],[logseq____"^15logseq____",[288,logseq____"^Xlogseq____",251,536872895]],[logseq____"^15logseq____",[288,logseq____"^Vlogseq____",258,536872895]],[logseq____"^15logseq____",[288,logseq____"^Ulogseq____",251,536872915]],[logseq____"^15logseq____",[288,logseq____"^?logseq____",[logseq____"^ logseq____"],536872928]],[logseq____"^15logseq____",[288,logseq____"^;logseq____",logseq____"~u67b743ec-95b8-4a4e-9552-9d16b078a2a6logseq____",536872895]],[logseq____"^15logseq____",[289,logseq____"^Qlogseq____",logseq____"## [[Sandboxing]]logseq____",536872935]],[logseq____"^15logseq____",[289,logseq____"^Ologseq____",logseq____"^16logseq____",536872931]],[logseq____"^15logseq____",[289,logseq____"^Flogseq____",187,536872931]],[logseq____"^15logseq____",[289,logseq____"^Xlogseq____",142,536872931]],[logseq____"^15logseq____",[289,logseq____"^Vlogseq____",147,536872931]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",142,536872936]],[logseq____"^15logseq____",[289,logseq____"^Ulogseq____",290,536872936]],[logseq____"^15logseq____",[289,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872935]],[logseq____"^15logseq____",[289,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872935]],[logseq____"^15logseq____",[289,logseq____"^Hlogseq____",290,536872935]],[logseq____"^15logseq____",[289,logseq____"^;logseq____",logseq____"~u67b7445d-800f-40e4-9887-75a08d2e3ea6logseq____",536872931]],[logseq____"^15logseq____",[290,logseq____"^Klogseq____",1740063846131,536872935]],[logseq____"^15logseq____",[290,logseq____"^Ologseq____",logseq____"^16logseq____",536872940]],[logseq____"^15logseq____",[290,logseq____"^@logseq____",false,536872935]],[logseq____"^15logseq____",[290,logseq____"^Ylogseq____",logseq____"sandboxinglogseq____",536872935]],[logseq____"^15logseq____",[290,logseq____"^11logseq____",logseq____"Sandboxinglogseq____",536872935]],[logseq____"^15logseq____",[290,logseq____"^Blogseq____",1740066673167,536873993]],[logseq____"^15logseq____",[290,logseq____"^;logseq____",logseq____"~u67b74466-8116-4fae-ad42-62ff16476c74logseq____",536872935]],[logseq____"^15logseq____",[291,logseq____"^Qlogseq____",logseq____"## General Idealogseq____",536872947]],[logseq____"^15logseq____",[291,logseq____"^Ologseq____",logseq____"^16logseq____",536872941]],[logseq____"^15logseq____",[291,logseq____"^@logseq____",false,536872941]],[logseq____"^15logseq____",[291,logseq____"^Flogseq____",290,536872941]],[logseq____"^15logseq____",[291,logseq____"^Xlogseq____",290,536872941]],[logseq____"^15logseq____",[291,logseq____"^Vlogseq____",290,536872941]],[logseq____"^15logseq____",[291,logseq____"^Ulogseq____",290,536872942]],[logseq____"^15logseq____",[291,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872947]],[logseq____"^15logseq____",[291,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872947]],[logseq____"^15logseq____",[291,logseq____"^;logseq____",logseq____"~u67b7446a-b311-4424-b990-2924e90e88falogseq____",536872941]],[logseq____"^15logseq____",[292,logseq____"^Qlogseq____",logseq____"Application sandbox specifies which system resources the application is allowed to accesslogseq____",536872988]],[logseq____"^15logseq____",[292,logseq____"^Ologseq____",logseq____"^16logseq____",536872947]],[logseq____"^15logseq____",[292,logseq____"^@logseq____",false,536872947]],[logseq____"^15logseq____",[292,logseq____"^Flogseq____",291,536872947]],[logseq____"^15logseq____",[292,logseq____"^Xlogseq____",290,536872947]],[logseq____"^15logseq____",[292,logseq____"^Vlogseq____",291,536872973]],[logseq____"^15logseq____",[292,logseq____"^Ulogseq____",290,536872948]],[logseq____"^15logseq____",[292,logseq____"^?logseq____",[logseq____"^ logseq____"],536872988]],[logseq____"^15logseq____",[292,logseq____"^;logseq____",logseq____"~u67b74476-1120-4601-9007-2026f3c530f5logseq____",536872947]],[logseq____"^15logseq____",[294,logseq____"^Qlogseq____",logseq____"## Application Isolationlogseq____",536872998]],[logseq____"^15logseq____",[294,logseq____"^Ologseq____",logseq____"^16logseq____",536872991]],[logseq____"^15logseq____",[294,logseq____"^@logseq____",false,536872991]],[logseq____"^15logseq____",[294,logseq____"^Flogseq____",291,536872995]],[logseq____"^15logseq____",[294,logseq____"^Xlogseq____",290,536872991]],[logseq____"^15logseq____",[294,logseq____"^Vlogseq____",290,536872995]],[logseq____"^15logseq____",[294,logseq____"^Ulogseq____",290,536872992]],[logseq____"^15logseq____",[294,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536872998]],[logseq____"^15logseq____",[294,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536872998]],[logseq____"^15logseq____",[294,logseq____"^;logseq____",logseq____"~u67b744d2-8870-47ff-a666-11dc247df70elogseq____",536872991]],[logseq____"^15logseq____",[295,logseq____"^Qlogseq____",logseq____"Isolating each application in its own sandbox allows for fine-grained *resource management*logseq____",536873029]],[logseq____"^15logseq____",[295,logseq____"^Ologseq____",logseq____"^16logseq____",536872998]],[logseq____"^15logseq____",[295,logseq____"^@logseq____",false,536872998]],[logseq____"^15logseq____",[295,logseq____"^Flogseq____",294,536872998]],[logseq____"^15logseq____",[295,logseq____"^Xlogseq____",290,536872998]],[logseq____"^15logseq____",[295,logseq____"^Vlogseq____",294,536873000]],[logseq____"^15logseq____",[295,logseq____"^Ulogseq____",290,536872999]],[logseq____"^15logseq____",[295,logseq____"^?logseq____",[logseq____"^ logseq____"],536873029]],[logseq____"^15logseq____",[295,logseq____"^;logseq____",logseq____"~u67b744d6-a3d9-4db1-a9f6-a482df62db39logseq____",536872998]],[logseq____"^15logseq____",[296,logseq____"^Qlogseq____",logseq____"Use of *UID* (user ID, assigned per application on installation)logseq____",536873256]],[logseq____"^15logseq____",[296,logseq____"^Ologseq____",logseq____"^16logseq____",536873032]],[logseq____"^15logseq____",[296,logseq____"^@logseq____",false,536873032]],[logseq____"^15logseq____",[296,logseq____"^Flogseq____",295,536873032]],[logseq____"^15logseq____",[296,logseq____"^Xlogseq____",290,536873032]],[logseq____"^15logseq____",[296,logseq____"^Vlogseq____",294,536873032]],[logseq____"^15logseq____",[296,logseq____"^Ulogseq____",290,536873033]],[logseq____"^15logseq____",[296,logseq____"^?logseq____",[logseq____"^ logseq____"],536873256]],[logseq____"^15logseq____",[296,logseq____"^;logseq____",logseq____"~u67b74507-5ef6-4528-961f-020f75c20c19logseq____",536873032]],[logseq____"^15logseq____",[297,logseq____"^Qlogseq____",logseq____"Private data folder for each applicationlogseq____",536873065]],[logseq____"^15logseq____",[297,logseq____"^Ologseq____",logseq____"^16logseq____",536873058]],[logseq____"^15logseq____",[297,logseq____"^@logseq____",false,536873058]],[logseq____"^15logseq____",[297,logseq____"^Flogseq____",296,536873058]],[logseq____"^15logseq____",[297,logseq____"^Xlogseq____",290,536873058]],[logseq____"^15logseq____",[297,logseq____"^Vlogseq____",294,536873058]],[logseq____"^15logseq____",[297,logseq____"^Ulogseq____",290,536873059]],[logseq____"^15logseq____",[297,logseq____"^?logseq____",[logseq____"^ logseq____"],536873065]],[logseq____"^15logseq____",[297,logseq____"^;logseq____",logseq____"~u67b74523-4a38-467e-8af6-762a8f6604d9logseq____",536873058]],[logseq____"^15logseq____",[298,logseq____"^Qlogseq____",logseq____"## Application Process Internalslogseq____",536873078]],[logseq____"^15logseq____",[298,logseq____"^Ologseq____",logseq____"^16logseq____",536873068]],[logseq____"^15logseq____",[298,logseq____"^@logseq____",false,536873068]],[logseq____"^15logseq____",[298,logseq____"^Flogseq____",294,536873206]],[logseq____"^15logseq____",[298,logseq____"^Xlogseq____",290,536873068]],[logseq____"^15logseq____",[298,logseq____"^Vlogseq____",290,536873072]],[logseq____"^15logseq____",[298,logseq____"^Ulogseq____",290,536873069]],[logseq____"^15logseq____",[298,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873078]],[logseq____"^15logseq____",[298,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873078]],[logseq____"^15logseq____",[298,logseq____"^;logseq____",logseq____"~u67b745c0-510f-48b8-8224-892167058600logseq____",536873068]],[logseq____"^15logseq____",[299,logseq____"^Qlogseq____",logseq____"{{renderer :mermaid_67b745c8-a8fc-4dda-9b93-2b2b2e91cc20, 3}}logseq____",536873087]],[logseq____"^15logseq____",[299,logseq____"^Ologseq____",logseq____"^16logseq____",536873078]],[logseq____"^15logseq____",[299,logseq____"^@logseq____",false,536873078]],[logseq____"^15logseq____",[299,logseq____"^Flogseq____",298,536873078]],[logseq____"^15logseq____",[299,logseq____"^Slogseq____",301,536873087]],[logseq____"^15logseq____",[299,logseq____"^Xlogseq____",290,536873078]],[logseq____"^15logseq____",[299,logseq____"^Vlogseq____",298,536873082]],[logseq____"^15logseq____",[299,logseq____"^Ulogseq____",290,536873207]],[logseq____"^15logseq____",[299,logseq____"^?logseq____",[logseq____"^ logseq____"],536873087]],[logseq____"^15logseq____",[299,logseq____"^;logseq____",logseq____"~u67b745c8-a8fc-4dda-9b93-2b2b2e91cc20logseq____",536873078]],[logseq____"^15logseq____",[300,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart LR\\n subgraph App Process\\n subgraph Dalvik VM / ART\\n A[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B[Core libs]\\n end\\n C[\\logseq____"JNI(Java Native Interface)\\logseq____"]\\n D[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n E[Kernel]\\n\\n A logseq____<--logseq____> B\\n A logseq____<--logseq____> C\\n B logseq____<-- syscalls --logseq____> E\\n B logseq____<--logseq____> C\\n C logseq____<--logseq____> D\\n D logseq____<-- syscalls --logseq____> E\\n```logseq____",536873131]],[logseq____"^15logseq____",[300,logseq____"^Ologseq____",logseq____"^16logseq____",536873085]],[logseq____"^15logseq____",[300,logseq____"^@logseq____",false,536873085]],[logseq____"^15logseq____",[300,logseq____"^Flogseq____",299,536873085]],[logseq____"^15logseq____",[300,logseq____"^Xlogseq____",290,536873085]],[logseq____"^15logseq____",[300,logseq____"^Vlogseq____",299,536873085]],[logseq____"^15logseq____",[300,logseq____"^Ulogseq____",290,536873207]],[logseq____"^15logseq____",[300,logseq____"^?logseq____",[logseq____"^ logseq____"],536873131]],[logseq____"^15logseq____",[300,logseq____"^;logseq____",logseq____"~u67b745ca-5af3-47e7-9aab-7dec5bc2e9a3logseq____",536873085]],[logseq____"^15logseq____",[301,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b745c8-a8fc-4dda-9b93-2b2b2e91cc20logseq____",logseq____"3logseq____"]],536873087]],[logseq____"^15logseq____",[301,logseq____"^Wlogseq____",logseq____"macrologseq____",536873087]],[logseq____"^15logseq____",[301,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b745c8-a8fc-4dda-9b93-2b2b2e91cc20 3logseq____",536873087]],[logseq____"^15logseq____",[302,logseq____"^Qlogseq____",logseq____"*DWM/ART* is not a security boundary (can be circumvented with native code)logseq____",536873166]],[logseq____"^15logseq____",[302,logseq____"^Ologseq____",logseq____"^16logseq____",536873134]],[logseq____"^15logseq____",[302,logseq____"^@logseq____",false,536873134]],[logseq____"^15logseq____",[302,logseq____"^Flogseq____",299,536873138]],[logseq____"^15logseq____",[302,logseq____"^Xlogseq____",290,536873134]],[logseq____"^15logseq____",[302,logseq____"^Vlogseq____",298,536873138]],[logseq____"^15logseq____",[302,logseq____"^Ulogseq____",290,536873207]],[logseq____"^15logseq____",[302,logseq____"^?logseq____",[logseq____"^ logseq____"],536873166]],[logseq____"^15logseq____",[302,logseq____"^;logseq____",logseq____"~u67b74674-386e-47b3-86f3-47c8065b7eb7logseq____",536873134]],[logseq____"^15logseq____",[303,logseq____"^Qlogseq____",logseq____"{{renderer :mermaid_67b7480e-1f48-4568-9397-b3a0012423c0, 3}}logseq____",536873175]],[logseq____"^15logseq____",[303,logseq____"^Ologseq____",logseq____"^16logseq____",536873169]],[logseq____"^15logseq____",[303,logseq____"^@logseq____",false,536873169]],[logseq____"^15logseq____",[303,logseq____"^Flogseq____",297,536873169]],[logseq____"^15logseq____",[303,logseq____"^Slogseq____",305,536873175]],[logseq____"^15logseq____",[303,logseq____"^Xlogseq____",290,536873169]],[logseq____"^15logseq____",[303,logseq____"^Vlogseq____",294,536873169]],[logseq____"^15logseq____",[303,logseq____"^Ulogseq____",290,536873170]],[logseq____"^15logseq____",[303,logseq____"^?logseq____",[logseq____"^ logseq____"],536873175]],[logseq____"^15logseq____",[303,logseq____"^;logseq____",logseq____"~u67b7480e-1f48-4568-9397-b3a0012423c0logseq____",536873169]],[logseq____"^15logseq____",[304,logseq____"^Qlogseq____",logseq____"~```mermaid\\nflowchart LR\\n subgraph Kernel\\n K[\\logseq____"Linux Kernel (enforces process isolation)\\logseq____"]\\n end\\n\\n subgraph UA[\\logseq____"Process Boundary (UID A)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 1)\\logseq____"\\n A1[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B1[Core libs]\\n end\\n C1[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n\\n subgraph UB[\\logseq____"Process Boundary (UID B)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 2)\\logseq____"\\n A2[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B2[Core libs]\\n end\\n C2[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n\\n subgraph UC[\\logseq____"Process Boundary (UID C)\\logseq____"]\\n direction TB\\n subgraph \\logseq____"Dalvik VM / ART (App 3)\\logseq____"\\n A3[\\logseq____"App Code (classes.dex)\\logseq____"]\\n B3[Core libs]\\n end\\n C3[\\logseq____"Native code (*.so)\\logseq____"]\\n end\\n A1 logseq____<--logseq____> B1\\n A2 logseq____<--logseq____> B2\\n A3 logseq____<--logseq____> B3\\n A1 logseq____<--logseq____> C1\\n A2 logseq____<--logseq____> C2\\n A3 logseq____<--logseq____> C3\\n K logseq____<-- syscalls --logseq____> UA\\n K logseq____<-- syscalls --logseq____> UB\\n K logseq____<-- syscalls --logseq____> UC\\n\\n```logseq____",536873199]],[logseq____"^15logseq____",[304,logseq____"^Ologseq____",logseq____"^16logseq____",536873173]],[logseq____"^15logseq____",[304,logseq____"^@logseq____",false,536873173]],[logseq____"^15logseq____",[304,logseq____"^Flogseq____",303,536873173]],[logseq____"^15logseq____",[304,logseq____"^Xlogseq____",290,536873173]],[logseq____"^15logseq____",[304,logseq____"^Vlogseq____",303,536873173]],[logseq____"^15logseq____",[304,logseq____"^Ulogseq____",290,536873176]],[logseq____"^15logseq____",[304,logseq____"^?logseq____",[logseq____"^ logseq____"],536873199]],[logseq____"^15logseq____",[304,logseq____"^;logseq____",logseq____"~u67b7480f-4326-4956-8aff-a2df39a060e5logseq____",536873173]],[logseq____"^15logseq____",[305,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^19logseq____",logseq____"rendererlogseq____",logseq____"^1:logseq____",[logseq____":mermaid_67b7480e-1f48-4568-9397-b3a0012423c0logseq____",logseq____"3logseq____"]],536873175]],[logseq____"^15logseq____",[305,logseq____"^Wlogseq____",logseq____"macrologseq____",536873175]],[logseq____"^15logseq____",[305,logseq____"^Tlogseq____",logseq____"renderer :mermaid_67b7480e-1f48-4568-9397-b3a0012423c0 3logseq____",536873175]],[logseq____"^15logseq____",[306,logseq____"^Qlogseq____",logseq____"Installed apps have separate `UID` and `GID`(group ID) ($logseq____> 10.000$ vs *predefined* UIDs for code Android apps and services)logseq____",536873469]],[logseq____"^15logseq____",[306,logseq____"^Ologseq____",logseq____"^16logseq____",536873202]],[logseq____"^15logseq____",[306,logseq____"^@logseq____",false,536873202]],[logseq____"^15logseq____",[306,logseq____"^Flogseq____",303,536873241]],[logseq____"^15logseq____",[306,logseq____"^Xlogseq____",290,536873202]],[logseq____"^15logseq____",[306,logseq____"^Vlogseq____",294,536873241]],[logseq____"^15logseq____",[306,logseq____"^Ulogseq____",290,536873203]],[logseq____"^15logseq____",[306,logseq____"^?logseq____",[logseq____"^ logseq____"],536873469]],[logseq____"^15logseq____",[306,logseq____"^;logseq____",logseq____"~u67b7485c-5e5f-4157-9d0e-3ee05157992clogseq____",536873202]],[logseq____"^15logseq____",[307,logseq____"^Qlogseq____",logseq____"Until Android 10, process of the same app (process attribute in the [[Application Manifest]] ) allowed for sharing their sandbox (only if signed with same developer key)logseq____",536873311]],[logseq____"^15logseq____",[307,logseq____"^Ologseq____",logseq____"^16logseq____",536873278]],[logseq____"^15logseq____",[307,logseq____"^@logseq____",false,536873278]],[logseq____"^15logseq____",[307,logseq____"^Flogseq____",306,536873445]],[logseq____"^15logseq____",[307,logseq____"^Xlogseq____",290,536873278]],[logseq____"^15logseq____",[307,logseq____"^Vlogseq____",294,536873278]],[logseq____"^15logseq____",[307,logseq____"^Ulogseq____",29,536873299]],[logseq____"^15logseq____",[307,logseq____"^Ulogseq____",290,536873299]],[logseq____"^15logseq____",[307,logseq____"^?logseq____",[logseq____"^ logseq____"],536873445]],[logseq____"^15logseq____",[307,logseq____"^Hlogseq____",29,536873445]],[logseq____"^15logseq____",[307,logseq____"^;logseq____",logseq____"~u67b7498f-de0c-4af5-af4c-c26ee65c3af4logseq____",536873278]],[logseq____"^15logseq____",[308,logseq____"^Qlogseq____",logseq____"## Starting Applicationslogseq____",536873324]],[logseq____"^15logseq____",[308,logseq____"^Ologseq____",logseq____"^16logseq____",536873314]],[logseq____"^15logseq____",[308,logseq____"^@logseq____",false,536873314]],[logseq____"^15logseq____",[308,logseq____"^Flogseq____",298,536873318]],[logseq____"^15logseq____",[308,logseq____"^Xlogseq____",290,536873314]],[logseq____"^15logseq____",[308,logseq____"^Vlogseq____",290,536873318]],[logseq____"^15logseq____",[308,logseq____"^Ulogseq____",290,536873315]],[logseq____"^15logseq____",[308,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873324]],[logseq____"^15logseq____",[308,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873324]],[logseq____"^15logseq____",[308,logseq____"^;logseq____",logseq____"~u67b74a0e-370e-477d-b929-901a5349e3bblogseq____",536873314]],[logseq____"^15logseq____",[309,logseq____"^Qlogseq____",logseq____"~`Zygote` calls `fork()` (setup DVM/ART)\\nlogseq.order-list-type:: numberlogseq____",536873488]],[logseq____"^15logseq____",[309,logseq____"^Ologseq____",logseq____"^16logseq____",536873324]],[logseq____"^15logseq____",[309,logseq____"^@logseq____",false,536873324]],[logseq____"^15logseq____",[309,logseq____"^Flogseq____",308,536873324]],[logseq____"^15logseq____",[309,logseq____"^Xlogseq____",290,536873324]],[logseq____"^15logseq____",[309,logseq____"^Vlogseq____",308,536873328]],[logseq____"^15logseq____",[309,logseq____"^Ulogseq____",290,536873325]],[logseq____"^15logseq____",[309,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"~:logseq.order-list-typelogseq____",logseq____"numberlogseq____"],536873488]],[logseq____"^15logseq____",[309,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^1@logseq____"]],536873488]],[logseq____"^15logseq____",[309,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873488]],[logseq____"^15logseq____",[309,logseq____"^;logseq____",logseq____"~u67b74a14-03e7-4fd1-9e03-c88887c05e29logseq____",536873324]],[logseq____"^15logseq____",[310,logseq____"^Qlogseq____",logseq____"Load APK app code\\nlogseq.order-list-type:: numberlogseq____",536873368]],[logseq____"^15logseq____",[310,logseq____"^Ologseq____",logseq____"^16logseq____",536873355]],[logseq____"^15logseq____",[310,logseq____"^@logseq____",false,536873355]],[logseq____"^15logseq____",[310,logseq____"^Flogseq____",309,536873355]],[logseq____"^15logseq____",[310,logseq____"^Xlogseq____",290,536873355]],[logseq____"^15logseq____",[310,logseq____"^Vlogseq____",308,536873355]],[logseq____"^15logseq____",[310,logseq____"^Ulogseq____",290,536873356]],[logseq____"^15logseq____",[310,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873368]],[logseq____"^15logseq____",[310,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^1@logseq____"]],536873368]],[logseq____"^15logseq____",[310,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873368]],[logseq____"^15logseq____",[310,logseq____"^;logseq____",logseq____"~u67b74aa5-c8d3-48bb-8f46-0c0bbe9c4ebdlogseq____",536873355]],[logseq____"^15logseq____",[311,logseq____"^Qlogseq____",logseq____"~`setUID()`\\nlogseq.order-list-type:: numberlogseq____",536873410]],[logseq____"^15logseq____",[311,logseq____"^Ologseq____",logseq____"^16logseq____",536873368]],[logseq____"^15logseq____",[311,logseq____"^@logseq____",false,536873368]],[logseq____"^15logseq____",[311,logseq____"^Flogseq____",310,536873368]],[logseq____"^15logseq____",[311,logseq____"^Xlogseq____",290,536873368]],[logseq____"^15logseq____",[311,logseq____"^Vlogseq____",308,536873368]],[logseq____"^15logseq____",[311,logseq____"^Ulogseq____",290,536873369]],[logseq____"^15logseq____",[311,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873410]],[logseq____"^15logseq____",[311,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^1@logseq____"]],536873410]],[logseq____"^15logseq____",[311,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873410]],[logseq____"^15logseq____",[311,logseq____"^;logseq____",logseq____"~u67b74aaf-469e-40dd-9c78-601668f6fc5clogseq____",536873368]],[logseq____"^15logseq____",[312,logseq____"^Qlogseq____",logseq____"Give control flow to VM process\\nlogseq.order-list-type:: numberlogseq____",536873407]],[logseq____"^15logseq____",[312,logseq____"^Ologseq____",logseq____"^16logseq____",536873397]],[logseq____"^15logseq____",[312,logseq____"^@logseq____",false,536873397]],[logseq____"^15logseq____",[312,logseq____"^Flogseq____",311,536873397]],[logseq____"^15logseq____",[312,logseq____"^Xlogseq____",290,536873397]],[logseq____"^15logseq____",[312,logseq____"^Vlogseq____",308,536873397]],[logseq____"^15logseq____",[312,logseq____"^Ulogseq____",290,536873398]],[logseq____"^15logseq____",[312,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873407]],[logseq____"^15logseq____",[312,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^1@logseq____"]],536873407]],[logseq____"^15logseq____",[312,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^1@logseq____",logseq____"numberlogseq____"],536873407]],[logseq____"^15logseq____",[312,logseq____"^;logseq____",logseq____"~u67b74ad4-53b6-4ead-a1b1-4bbb70609368logseq____",536873397]],[logseq____"^15logseq____",[315,logseq____"^Qlogseq____",logseq____"## Attackslogseq____",536873501]],[logseq____"^15logseq____",[315,logseq____"^Ologseq____",logseq____"^16logseq____",536873491]],[logseq____"^15logseq____",[315,logseq____"^@logseq____",false,536873491]],[logseq____"^15logseq____",[315,logseq____"^Flogseq____",332,536873910]],[logseq____"^15logseq____",[315,logseq____"^Xlogseq____",290,536873491]],[logseq____"^15logseq____",[315,logseq____"^Vlogseq____",290,536873495]],[logseq____"^15logseq____",[315,logseq____"^Ulogseq____",290,536873492]],[logseq____"^15logseq____",[315,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873501]],[logseq____"^15logseq____",[315,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873501]],[logseq____"^15logseq____",[315,logseq____"^;logseq____",logseq____"~u67b74c76-88af-45ec-ae17-8bd2a9c5939clogseq____",536873491]],[logseq____"^15logseq____",[316,logseq____"^Qlogseq____",logseq____"### Zimperlich root exploitlogseq____",536873508]],[logseq____"^15logseq____",[316,logseq____"^Ologseq____",logseq____"^16logseq____",536873501]],[logseq____"^15logseq____",[316,logseq____"^@logseq____",false,536873501]],[logseq____"^15logseq____",[316,logseq____"^Flogseq____",315,536873501]],[logseq____"^15logseq____",[316,logseq____"^Xlogseq____",290,536873501]],[logseq____"^15logseq____",[316,logseq____"^Vlogseq____",315,536873505]],[logseq____"^15logseq____",[316,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[316,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873508]],[logseq____"^15logseq____",[316,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873508]],[logseq____"^15logseq____",[316,logseq____"^;logseq____",logseq____"~u67b74c7d-a71f-4c6a-8197-5ccb32fd4b7alogseq____",536873501]],[logseq____"^15logseq____",[317,logseq____"^Qlogseq____",logseq____"~`Zygote` did not check the return value of `setUID`logseq____",536873528]],[logseq____"^15logseq____",[317,logseq____"^Ologseq____",logseq____"^16logseq____",536873508]],[logseq____"^15logseq____",[317,logseq____"^@logseq____",false,536873508]],[logseq____"^15logseq____",[317,logseq____"^Flogseq____",316,536873508]],[logseq____"^15logseq____",[317,logseq____"^Xlogseq____",290,536873508]],[logseq____"^15logseq____",[317,logseq____"^Vlogseq____",316,536873510]],[logseq____"^15logseq____",[317,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[317,logseq____"^?logseq____",[logseq____"^ logseq____"],536873528]],[logseq____"^15logseq____",[317,logseq____"^;logseq____",logseq____"~u67b74c84-a6cb-4a3e-a743-65d1d5c33597logseq____",536873508]],[logseq____"^15logseq____",[318,logseq____"^Qlogseq____",logseq____"Exhausting process limit for UID causes this to faillogseq____",536873553]],[logseq____"^15logseq____",[318,logseq____"^Ologseq____",logseq____"^16logseq____",536873531]],[logseq____"^15logseq____",[318,logseq____"^@logseq____",false,536873531]],[logseq____"^15logseq____",[318,logseq____"^Flogseq____",317,536873531]],[logseq____"^15logseq____",[318,logseq____"^Xlogseq____",290,536873531]],[logseq____"^15logseq____",[318,logseq____"^Vlogseq____",316,536873531]],[logseq____"^15logseq____",[318,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[318,logseq____"^?logseq____",[logseq____"^ logseq____"],536873553]],[logseq____"^15logseq____",[318,logseq____"^;logseq____",logseq____"~u67b74c95-e122-4222-b4db-6fd3c3881f57logseq____",536873531]],[logseq____"^15logseq____",[319,logseq____"^Qlogseq____",logseq____"Started application executed with root `Zygote`logseq____'s privileges, i.e., rootlogseq____",536873599]],[logseq____"^15logseq____",[319,logseq____"^Ologseq____",logseq____"^16logseq____",536873556]],[logseq____"^15logseq____",[319,logseq____"^@logseq____",false,536873556]],[logseq____"^15logseq____",[319,logseq____"^Flogseq____",318,536873556]],[logseq____"^15logseq____",[319,logseq____"^Xlogseq____",290,536873556]],[logseq____"^15logseq____",[319,logseq____"^Vlogseq____",316,536873556]],[logseq____"^15logseq____",[319,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[319,logseq____"^?logseq____",[logseq____"^ logseq____"],536873599]],[logseq____"^15logseq____",[319,logseq____"^;logseq____",logseq____"~u67b74cae-03b0-4ffc-a817-e3e0300d266dlogseq____",536873556]],[logseq____"^15logseq____",[321,logseq____"^Qlogseq____",logseq____"### Breaking ALSRlogseq____",536873619]],[logseq____"^15logseq____",[321,logseq____"^Ologseq____",logseq____"^16logseq____",536873612]],[logseq____"^15logseq____",[321,logseq____"^@logseq____",false,536873612]],[logseq____"^15logseq____",[321,logseq____"^Flogseq____",316,536873616]],[logseq____"^15logseq____",[321,logseq____"^Xlogseq____",290,536873612]],[logseq____"^15logseq____",[321,logseq____"^Vlogseq____",315,536873616]],[logseq____"^15logseq____",[321,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[321,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",3],536873619]],[logseq____"^15logseq____",[321,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873619]],[logseq____"^15logseq____",[321,logseq____"^;logseq____",logseq____"~u67b74ce7-77e0-4c4d-b4ff-5d3ecfdb6576logseq____",536873612]],[logseq____"^15logseq____",[322,logseq____"^Qlogseq____",logseq____"Apps *share memory locations* of shared libraries, e.g., core libslogseq____",536873666]],[logseq____"^15logseq____",[322,logseq____"^Ologseq____",logseq____"^16logseq____",536873620]],[logseq____"^15logseq____",[322,logseq____"^@logseq____",false,536873620]],[logseq____"^15logseq____",[322,logseq____"^Flogseq____",321,536873620]],[logseq____"^15logseq____",[322,logseq____"^Xlogseq____",290,536873620]],[logseq____"^15logseq____",[322,logseq____"^Vlogseq____",321,536873622]],[logseq____"^15logseq____",[322,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[322,logseq____"^?logseq____",[logseq____"^ logseq____"],536873666]],[logseq____"^15logseq____",[322,logseq____"^;logseq____",logseq____"~u67b74ced-c6a1-46db-93e5-0e755fb5f5bflogseq____",536873620]],[logseq____"^15logseq____",[323,logseq____"^Qlogseq____",logseq____"Disclosing these locations allows for exploits circumventing ASLRlogseq____",536873706]],[logseq____"^15logseq____",[323,logseq____"^Ologseq____",logseq____"^16logseq____",536873669]],[logseq____"^15logseq____",[323,logseq____"^@logseq____",false,536873669]],[logseq____"^15logseq____",[323,logseq____"^Flogseq____",322,536873669]],[logseq____"^15logseq____",[323,logseq____"^Xlogseq____",290,536873669]],[logseq____"^15logseq____",[323,logseq____"^Vlogseq____",321,536873669]],[logseq____"^15logseq____",[323,logseq____"^Ulogseq____",290,536873911]],[logseq____"^15logseq____",[323,logseq____"^?logseq____",[logseq____"^ logseq____"],536873706]],[logseq____"^15logseq____",[323,logseq____"^;logseq____",logseq____"~u67b74d2d-b170-4f6e-9043-16c44ea0279alogseq____",536873669]],[logseq____"^15logseq____",[324,logseq____"^Qlogseq____",logseq____"## Private App Directory\\nid:: 67b74d96-f668-44e4-83c6-0760487f0281logseq____",536873975]],[logseq____"^15logseq____",[324,logseq____"^Ologseq____",logseq____"^16logseq____",536873709]],[logseq____"^15logseq____",[324,logseq____"^@logseq____",false,536873709]],[logseq____"^15logseq____",[324,logseq____"^Flogseq____",308,536873713]],[logseq____"^15logseq____",[324,logseq____"^Xlogseq____",290,536873709]],[logseq____"^15logseq____",[324,logseq____"^Vlogseq____",290,536873713]],[logseq____"^15logseq____",[324,logseq____"^Ulogseq____",290,536873710]],[logseq____"^15logseq____",[324,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2,logseq____"^18logseq____",logseq____"67b74d96-f668-44e4-83c6-0760487f0281logseq____"],536873975]],[logseq____"^15logseq____",[324,logseq____"^Jlogseq____",[logseq____"^14logseq____",[logseq____"^18logseq____"]],536873975]],[logseq____"^15logseq____",[324,logseq____"^4logseq____",[logseq____"^ logseq____",logseq____"^18logseq____",logseq____"67b74d96-f668-44e4-83c6-0760487f0281logseq____"],536873975]],[logseq____"^15logseq____",[324,logseq____"^;logseq____",logseq____"~u67b74d96-f668-44e4-83c6-0760487f0281logseq____",536873709]],[logseq____"^15logseq____",[325,logseq____"^Qlogseq____",logseq____"Utilize Linuxlogseq____' *discretionary* file access control (owner can change permissions and ownership)logseq____",536873787]],[logseq____"^15logseq____",[325,logseq____"^Ologseq____",logseq____"^16logseq____",536873723]],[logseq____"^15logseq____",[325,logseq____"^@logseq____",false,536873723]],[logseq____"^15logseq____",[325,logseq____"^Flogseq____",324,536873723]],[logseq____"^15logseq____",[325,logseq____"^Xlogseq____",290,536873723]],[logseq____"^15logseq____",[325,logseq____"^Vlogseq____",324,536873725]],[logseq____"^15logseq____",[325,logseq____"^Ulogseq____",290,536873976]],[logseq____"^15logseq____",[325,logseq____"^?logseq____",[logseq____"^ logseq____"],536873787]],[logseq____"^15logseq____",[325,logseq____"^;logseq____",logseq____"~u67b74da2-d66d-46e2-9edd-b7ffff1b0ca3logseq____",536873723]],[logseq____"^15logseq____",[326,logseq____"^Qlogseq____",logseq____"Represented using for numbers (4: `read`, 2: `write`, 1: `execute`)logseq____",536873866]],[logseq____"^15logseq____",[326,logseq____"^Ologseq____",logseq____"^16logseq____",536873753]],[logseq____"^15logseq____",[326,logseq____"^@logseq____",false,536873753]],[logseq____"^15logseq____",[326,logseq____"^Flogseq____",329,536873800]],[logseq____"^15logseq____",[326,logseq____"^Xlogseq____",290,536873753]],[logseq____"^15logseq____",[326,logseq____"^Vlogseq____",324,536873753]],[logseq____"^15logseq____",[326,logseq____"^Ulogseq____",290,536873976]],[logseq____"^15logseq____",[326,logseq____"^?logseq____",[logseq____"^ logseq____"],536873866]],[logseq____"^15logseq____",[326,logseq____"^;logseq____",logseq____"~u67b74dcf-9b7b-4e9f-adc4-3c7418a708eclogseq____",536873753]],[logseq____"^15logseq____",[329,logseq____"^Qlogseq____",logseq____"Only owner and root can change permissionslogseq____",536873810]],[logseq____"^15logseq____",[329,logseq____"^Ologseq____",logseq____"^16logseq____",536873800]],[logseq____"^15logseq____",[329,logseq____"^@logseq____",false,536873800]],[logseq____"^15logseq____",[329,logseq____"^Flogseq____",325,536873800]],[logseq____"^15logseq____",[329,logseq____"^Xlogseq____",290,536873800]],[logseq____"^15logseq____",[329,logseq____"^Vlogseq____",324,536873800]],[logseq____"^15logseq____",[329,logseq____"^Ulogseq____",290,536873976]],[logseq____"^15logseq____",[329,logseq____"^?logseq____",[logseq____"^ logseq____"],536873810]],[logseq____"^15logseq____",[329,logseq____"^;logseq____",logseq____"~u67b74e29-97eb-4c36-ab66-5b912c10c819logseq____",536873800]],[logseq____"^15logseq____",[330,logseq____"^Qlogseq____",logseq____"Additionally, SELinux Mandatory access controllogseq____",536873888]],[logseq____"^15logseq____",[330,logseq____"^Ologseq____",logseq____"^16logseq____",536873869]],[logseq____"^15logseq____",[330,logseq____"^@logseq____",false,536873869]],[logseq____"^15logseq____",[330,logseq____"^Flogseq____",326,536873869]],[logseq____"^15logseq____",[330,logseq____"^Xlogseq____",290,536873869]],[logseq____"^15logseq____",[330,logseq____"^Vlogseq____",324,536873869]],[logseq____"^15logseq____",[330,logseq____"^Ulogseq____",290,536873976]],[logseq____"^15logseq____",[330,logseq____"^?logseq____",[logseq____"^ logseq____"],536873888]],[logseq____"^15logseq____",[330,logseq____"^;logseq____",logseq____"~u67b74e5f-fa19-4a96-ac9d-e69adb212201logseq____",536873869]],[logseq____"^15logseq____",[332,logseq____"^Qlogseq____",logseq____"## Storage Options for Appslogseq____",536873906]],[logseq____"^15logseq____",[332,logseq____"^Ologseq____",logseq____"^16logseq____",536873898]],[logseq____"^15logseq____",[332,logseq____"^@logseq____",false,536873898]],[logseq____"^15logseq____",[332,logseq____"^Flogseq____",324,536873902]],[logseq____"^15logseq____",[332,logseq____"^Xlogseq____",290,536873898]],[logseq____"^15logseq____",[332,logseq____"^Vlogseq____",290,536873902]],[logseq____"^15logseq____",[332,logseq____"^Ulogseq____",290,536873899]],[logseq____"^15logseq____",[332,logseq____"^?logseq____",[logseq____"^ logseq____",logseq____"^17logseq____",2],536873906]],[logseq____"^15logseq____",[332,logseq____"^Jlogseq____",[logseq____"^14logseq____",[]],536873906]],[logseq____"^15logseq____",[332,logseq____"^;logseq____",logseq____"~u67b74ee7-bc13-4ff5-8120-792d519ddaf9logseq____",536873898]],[logseq____"^15logseq____",[333,logseq____"^Qlogseq____",logseq____"*shared preferences*: persistent key-value store (by default readable only for the owning app)logseq____",536873950]],[logseq____"^15logseq____",[333,logseq____"^Ologseq____",logseq____"^16logseq____",536873906]],[logseq____"^15logseq____",[333,logseq____"^@logseq____",false,536873906]],[logseq____"^15logseq____",[333,logseq____"^Flogseq____",332,536873906]],[logseq____"^15logseq____",[333,logseq____"^Xlogseq____",290,536873906]],[logseq____"^15logseq____",[333,logseq____"^Vlogseq____",332,536873910]],[logseq____"^15logseq____",[333,logseq____"^Ulogseq____",290,536873907]],[logseq____"^15logseq____",[333,logseq____"^?logseq____",[logseq____"^ logseq____"],536873950]],[logseq____"^15logseq____",[333,logseq____"^;logseq____",logseq____"~u67b74eee-8116-49ff-8dd3-a4ed00525eb6logseq____",536873906]],[logseq____"^15logseq____",[334,logseq____"^Qlogseq____",logseq____"*internal storage*: write files to ((67b74d96-f668-44e4-83c6-0760487f0281))logseq____",536873979]],[logseq____"^15logseq____",[334,logseq____"^Ologseq____",logseq____"^16logseq____",536873953]],[logseq____"^15logseq____",[334,logseq____"^@logseq____",false,536873953]],[logseq____"^15logseq____",[334,logseq____"^Flogseq____",333,536873953]],[logseq____"^15logseq____",[334,logseq____"^Xlogseq____",290,536873953]],[logseq____"^15logseq____",[334,logseq____"^Vlogseq____",332,536873953]],[logseq____"^15logseq____",[334,logseq____"^Ulogseq____",290,536873980]],[logseq____"^15logseq____",[334,logseq____"^Ulogseq____",324,536873980]],[logseq____"^15logseq____",[334,logseq____"^?logseq____",[logseq____"^ logseq____"],536873979]],[logseq____"^15logseq____",[334,logseq____"^Hlogseq____",324,536873979]],[logseq____"^15logseq____",[334,logseq____"^;logseq____",logseq____"~u67b74f21-5cfe-4a98-984f-066ffbc323b3logseq____",536873953]],[logseq____"^15logseq____",[335,logseq____"^Qlogseq____",logseq____"*external storage*: no privacy guaranteeslogseq____",536873993]],[logseq____"^15logseq____",[335,logseq____"^Ologseq____",logseq____"^16logseq____",536873983]],[logseq____"^15logseq____",[335,logseq____"^@logseq____",false,536873983]],[logseq____"^15logseq____",[335,logseq____"^Flogseq____",334,536873983]],[logseq____"^15logseq____",[335,logseq____"^Xlogseq____",290,536873983]],[logseq____"^15logseq____",[335,logseq____"^Vlogseq____",332,536873983]],[logseq____"^15logseq____",[335,logseq____"^Ulogseq____",290,536873984]],[logseq____"^15logseq____",[335,logseq____"^?logseq____",[logseq____"^ logseq____"],536873993]],[logseq____"^15logseq____",[335,logseq____"^;logseq____",logseq____"~u67b74f49-b86e-47c6-8e21-43f3a7378d5blogseq____",536873983]]]]]]"</script>
|
|
<script>window.logseq_state="{:ui/theme \"light\", :ui/sidebar-collapsed-blocks {}, :config {\"local\" {:shortcuts {}, :default-templates {:journals \"\"}, :query/views {:pprint (fn [r] [:pre.code (pprint r)])}, :macros {}, :shortcut/doc-mode-enter-for-new-block? false, :favorites [], :ui/show-empty-bullets? false, :file/name-format :triple-lowbar, :preferred-workflow :now, :publishing/all-pages-public? true, :ref/default-open-blocks-level 2, :feature/enable-block-timestamps? false, :start-of-week 6, :ref/linked-references-collapsed-threshold 50, :outliner/block-title-collapse-enabled? false, :commands [], :ui/show-full-blocks? false, :meta/version 1, :hidden [], :default-queries {:journals [{:title \"🔨 NOW\", :query [:find (pull ?h [*]) :in $ ?start ?today :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"DOING\"} ?marker)] [?h :block/page ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(>= ?d ?start)] [(<= ?d ?today)]], :inputs [:14d :today], :result-transform (fn [result] (sort-by (fn [h] (get h :block/priority \"Z\")) result)), :group-by-page? false, :collapsed? false} {:title \"📅 NEXT\", :query [:find (pull ?h [*]) :in $ ?start ?next :where [?h :block/marker ?marker] [(contains? #{\"NOW\" \"LATER\" \"TODO\"} ?marker)] [?h :block/page ?p] [?p :block/journal? true] [?p :block/journal-day ?d] [(> ?d ?start)] [(< ?d ?next)]], :inputs [:today :7d-after], :group-by-page? false, :collapsed? false}]}, :ui/auto-expand-block-refs? true, :ui/enable-tooltip? true, :query/result-transforms {:sort-by-priority (fn [result] (sort-by (fn [h] (get h :block/priority \"Z\")) result))}, :property-pages/enabled? true, :block/content-max-length 10000, :ui/show-command-doc? true, :feature/enable-search-remove-accents? true}}}"</script>
|
|
<script type="text/javascript">// Single Page Apps for GitHub Pages
|
|
// https://github.com/rafgraph/spa-github-pages
|
|
// Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License
|
|
// ----------------------------------------------------------------------
|
|
// This script checks to see if a redirect is present in the query string
|
|
// and converts it back into the correct url and adds it to the
|
|
// browser's history using window.history.replaceState(...),
|
|
// which won't cause the browser to attempt to load the new url.
|
|
// When the single page app is loaded further down in this file,
|
|
// the correct url will be waiting in the browser's history for
|
|
// the single page app to route accordingly.
|
|
(function(l) {
|
|
if (l.search) {
|
|
var q = {};
|
|
l.search.slice(1).split('&').forEach(function(v) {
|
|
var a = v.split('=');
|
|
q[a[0]] = a.slice(1).join('=').replace(/~and~/g, '&');
|
|
});
|
|
if (q.p !== undefined) {
|
|
window.history.replaceState(null, null,
|
|
l.pathname.slice(0, -1) + (q.p || '') +
|
|
(q.q ? ('?' + q.q) : '') +
|
|
l.hash
|
|
);
|
|
}
|
|
}
|
|
}(window.location))</script>
|
|
<script src="static/js/react.production.min.js"></script>
|
|
<script src="static/js/react-dom.production.min.js"></script>
|
|
<script src="static/js/ui.js"></script>
|
|
<script src="static/js/main.js"></script>
|
|
<script src="static/js/interact.min.js"></script>
|
|
<script src="static/js/highlight.min.js"></script>
|
|
<script src="static/js/katex.min.js"></script>
|
|
<script src="static/js/html2canvas.min.js"></script>
|
|
<script src="static/js/code-editor.js"></script>
|
|
<script src="static/js/custom.js"></script>
|
|
</body>
|