[
  {
    "fragmentId": "method:hkgxib:render-markup__fragment",
    "ownerFileId": "file:11crtur:profile-razor",
    "ownerSymbolId": "method:hkgxib:render-markup",
    "ownerSymbolName": "Render (markup)",
    "entryNodeId": "method:hkgxib:render-markup__entry",
    "exitNodeIds": [
      "method:hkgxib:render-markup__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:hkgxib:render-markup__entry",
        "kind": "entry",
        "label": "Render (markup) entry",
        "line": 1,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.99,
        "detail": "Renders the profile UI, shows loading state when _profile is null, binds profile fields into the UI, and wires button click handlers."
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition",
        "kind": "condition",
        "label": "_profile == null",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78,
        "detail": "@if (_profile == null)"
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__true",
        "kind": "branch-true",
        "label": "true",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__false",
        "kind": "branch-false",
        "label": "false",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "kind": "statement",
        "label": "merge",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__condition",
        "kind": "condition",
        "label": "_profile == null",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "If _profile is null shows loading markup (lines 16-19), otherwise renders profile content (lines 22-101)"
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__true",
        "kind": "branch-true",
        "label": "render-loading",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__false",
        "kind": "branch-false",
        "label": "render-profile",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "kind": "statement",
        "label": "merge",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition",
        "kind": "condition",
        "label": "Falls back to alternate path",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84,
        "detail": "else"
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__true",
        "kind": "branch-true",
        "label": "fallback",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__false",
        "kind": "branch-false",
        "label": "otherwise",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "kind": "statement",
        "label": "merge",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_29_data_binding_29__linear",
        "kind": "statement",
        "label": "Bind profile fields into UI",
        "line": 29,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "Multiple bindings to _profile properties (Email, TenantId, AITokensUsed, AITokenLimit, AverageQuizScore, LastReadBookTitle, CurrentPlan)"
      },
      {
        "id": "method:hkgxib:render-markup__action_44_component_usage_44__linear",
        "kind": "statement",
        "label": "Uses NexusIcon components to render icons",
        "line": 44,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "Multiple NexusIcon component instances embedded in markup"
      },
      {
        "id": "method:hkgxib:render-markup__call_44_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 44,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "Name=\"robot\", Size=24, Color=var(--nexus-neon)"
      },
      {
        "id": "method:hkgxib:render-markup__call_55_CalculateProgress",
        "kind": "call",
        "label": "CalculateProgress",
        "line": 55,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "none"
      },
      {
        "id": "method:hkgxib:render-markup__call_65_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 65,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "Name=\"activity\", Size=24, Color=var(--nexus-neon)"
      },
      {
        "id": "method:hkgxib:render-markup__call_74_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 74,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "Name=\"book-open\", Size=14"
      },
      {
        "id": "method:hkgxib:render-markup__call_83_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 83,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "Name=\"shield\", Size=24, Color=var(--nexus-neon)"
      },
      {
        "id": "method:hkgxib:render-markup__action_92_event_handler_attachment_92__linear",
        "kind": "statement",
        "label": "Hook UI buttons to component handlers",
        "line": 92,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "Upgrade button @onclick -> HandleUpgrade (line 92); Logout button @onclick -> HandleLogout (line 93)"
      },
      {
        "id": "method:hkgxib:render-markup__call_94_NexusIcon",
        "kind": "call",
        "label": "NexusIcon",
        "line": 94,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "Name=\"log-out\", Size=18"
      },
      {
        "id": "method:hkgxib:render-markup__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 106,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:hkgxib:render-markup__entry__method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition",
        "from": "method:hkgxib:render-markup__entry",
        "to": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition__method:hkgxib:render-markup__action_14_render_markup_branch_14_0__true",
        "from": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition",
        "to": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__true",
        "kind": "condition-true",
        "label": "true",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition__method:hkgxib:render-markup__action_14_render_markup_branch_14_0__false",
        "from": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__condition",
        "to": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__false",
        "kind": "condition-false",
        "label": "false",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__true__method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "from": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__true",
        "to": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__false__method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "from": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__false",
        "to": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge__method:hkgxib:render-markup__action_14_guard_clause_14__condition",
        "from": "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
        "to": "method:hkgxib:render-markup__action_14_guard_clause_14__condition",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__condition__method:hkgxib:render-markup__action_14_guard_clause_14__true",
        "from": "method:hkgxib:render-markup__action_14_guard_clause_14__condition",
        "to": "method:hkgxib:render-markup__action_14_guard_clause_14__true",
        "kind": "condition-true",
        "label": "render-loading",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__condition__method:hkgxib:render-markup__action_14_guard_clause_14__false",
        "from": "method:hkgxib:render-markup__action_14_guard_clause_14__condition",
        "to": "method:hkgxib:render-markup__action_14_guard_clause_14__false",
        "kind": "condition-false",
        "label": "render-profile",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__true__method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "from": "method:hkgxib:render-markup__action_14_guard_clause_14__true",
        "to": "method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__false__method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "from": "method:hkgxib:render-markup__action_14_guard_clause_14__false",
        "to": "method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "kind": "next",
        "line": 14,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_14_guard_clause_14__merge__method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition",
        "from": "method:hkgxib:render-markup__action_14_guard_clause_14__merge",
        "to": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition",
        "kind": "fallback",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition__method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__true",
        "from": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition",
        "to": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__true",
        "kind": "condition-true",
        "label": "fallback",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition__method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__false",
        "from": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__condition",
        "to": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__false",
        "kind": "condition-false",
        "label": "otherwise",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__true__method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "from": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__true",
        "to": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "kind": "next",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__false__method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "from": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__false",
        "to": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "kind": "next",
        "line": 21,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.84
      },
      {
        "id": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge__method:hkgxib:render-markup__action_29_data_binding_29__linear",
        "from": "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge",
        "to": "method:hkgxib:render-markup__action_29_data_binding_29__linear",
        "kind": "next",
        "line": 29,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_29_data_binding_29__linear__method:hkgxib:render-markup__action_44_component_usage_44__linear",
        "from": "method:hkgxib:render-markup__action_29_data_binding_29__linear",
        "to": "method:hkgxib:render-markup__action_44_component_usage_44__linear",
        "kind": "next",
        "line": 44,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_44_component_usage_44__linear__call_method:hkgxib:render-markup__call_44_NexusIcon",
        "from": "method:hkgxib:render-markup__action_44_component_usage_44__linear",
        "to": "method:hkgxib:render-markup__call_44_NexusIcon",
        "kind": "call",
        "label": "Name=\"robot\", Size=24, Color=var(--nexus-neon)",
        "line": 44,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_44_NexusIcon__call_method:hkgxib:render-markup__call_55_CalculateProgress",
        "from": "method:hkgxib:render-markup__call_44_NexusIcon",
        "to": "method:hkgxib:render-markup__call_55_CalculateProgress",
        "kind": "call",
        "label": "none",
        "line": 55,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_55_CalculateProgress__call_method:hkgxib:render-markup__call_65_NexusIcon",
        "from": "method:hkgxib:render-markup__call_55_CalculateProgress",
        "to": "method:hkgxib:render-markup__call_65_NexusIcon",
        "kind": "call",
        "label": "Name=\"activity\", Size=24, Color=var(--nexus-neon)",
        "line": 65,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_65_NexusIcon__call_method:hkgxib:render-markup__call_74_NexusIcon",
        "from": "method:hkgxib:render-markup__call_65_NexusIcon",
        "to": "method:hkgxib:render-markup__call_74_NexusIcon",
        "kind": "call",
        "label": "Name=\"book-open\", Size=14",
        "line": 74,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_74_NexusIcon__call_method:hkgxib:render-markup__call_83_NexusIcon",
        "from": "method:hkgxib:render-markup__call_74_NexusIcon",
        "to": "method:hkgxib:render-markup__call_83_NexusIcon",
        "kind": "call",
        "label": "Name=\"shield\", Size=24, Color=var(--nexus-neon)",
        "line": 83,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_83_NexusIcon__method:hkgxib:render-markup__action_92_event_handler_attachment_92__linear",
        "from": "method:hkgxib:render-markup__call_83_NexusIcon",
        "to": "method:hkgxib:render-markup__action_92_event_handler_attachment_92__linear",
        "kind": "next",
        "line": 92,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:hkgxib:render-markup__action_92_event_handler_attachment_92__linear__call_method:hkgxib:render-markup__call_94_NexusIcon",
        "from": "method:hkgxib:render-markup__action_92_event_handler_attachment_92__linear",
        "to": "method:hkgxib:render-markup__call_94_NexusIcon",
        "kind": "call",
        "label": "Name=\"log-out\", Size=18",
        "line": 94,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:hkgxib:render-markup__call_94_NexusIcon__implicit_return",
        "from": "method:hkgxib:render-markup__call_94_NexusIcon",
        "to": "method:hkgxib:render-markup__implicit_return",
        "kind": "return",
        "line": 106,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:hkgxib:render-markup__call_44_NexusIcon__jump_NexusReader_UI_Shared_Components_Atoms_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:hkgxib:render-markup__call_44_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 44,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:hkgxib:render-markup__call_55_CalculateProgress__jump_NexusReader_UI_Shared_Pages_Account_Profile_razor_CalculateProgress",
        "fromNodeId": "method:hkgxib:render-markup__call_55_CalculateProgress",
        "kind": "call-target",
        "targetNodeId": "method:k7fbfq:calculateprogress",
        "targetPath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "targetHint": "CalculateProgress",
        "line": 55,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target CalculateProgress resolved to NexusReader.UI.Shared/Pages/Account/Profile.razor.",
        "status": "resolved"
      },
      {
        "id": "method:hkgxib:render-markup__call_65_NexusIcon__jump_NexusReader_UI_Shared_Components_Atoms_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:hkgxib:render-markup__call_65_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 65,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:hkgxib:render-markup__call_74_NexusIcon__jump_NexusReader_UI_Shared_Components_Atoms_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:hkgxib:render-markup__call_74_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 74,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:hkgxib:render-markup__call_83_NexusIcon__jump_NexusReader_UI_Shared_Components_Atoms_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:hkgxib:render-markup__call_83_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 83,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      },
      {
        "id": "method:hkgxib:render-markup__call_94_NexusIcon__jump_NexusReader_UI_Shared_Components_Atoms_NexusIcon_razor_NexusIcon",
        "fromNodeId": "method:hkgxib:render-markup__call_94_NexusIcon",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor",
        "targetHint": "NexusIcon",
        "line": 94,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target NexusIcon in NexusReader.UI.Shared/Components/Atoms/NexusIcon.razor could not be matched to an extracted method symbol.",
        "status": "unresolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [
      "method:hkgxib:render-markup__action_14_render_markup_branch_14_0__merge",
      "method:hkgxib:render-markup__action_14_guard_clause_14__merge",
      "method:hkgxib:render-markup__action_21_render_markup_fallback_21_1__merge"
    ],
    "language": "unknown",
    "confidence": 0.98,
    "lineSpan": {
      "start": 1,
      "end": 106
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "line": 1,
        "summary": "Control-flow fragment extracted for method Render (markup).",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:z1n8tn:oninitializedasync__fragment",
    "ownerFileId": "file:11crtur:profile-razor",
    "ownerSymbolId": "method:z1n8tn:oninitializedasync",
    "ownerSymbolName": "OnInitializedAsync",
    "entryNodeId": "method:z1n8tn:oninitializedasync__entry",
    "exitNodeIds": [
      "method:z1n8tn:oninitializedasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:z1n8tn:oninitializedasync__entry",
        "kind": "entry",
        "label": "OnInitializedAsync entry",
        "line": 111,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.99,
        "detail": "Lifecycle init method: asynchronously requests the current user's profile from IdentityService and updates component state."
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_113_oninitializedasync_await_113_0__await",
        "kind": "await",
        "label": "Waits for async work",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.81,
        "detail": "var result = await IdentityService.GetProfileAsync();"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_113_external_call_113__linear",
        "kind": "http-call",
        "label": "Fetch profile from identity service",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "await IdentityService.GetProfileAsync()"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync",
        "kind": "call",
        "label": "GetProfileAsync",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "none"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition",
        "kind": "condition",
        "label": "result.IsSuccess",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78,
        "detail": "if (result.IsSuccess)"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__true",
        "kind": "branch-true",
        "label": "true",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__false",
        "kind": "branch-false",
        "label": "false",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "kind": "statement",
        "label": "merge",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition",
        "kind": "condition",
        "label": "result.IsSuccess",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "If IsSuccess sets _profile = result.Value (line 116); otherwise leaves _profile null"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__true",
        "kind": "branch-true",
        "label": "assign-_profile",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__false",
        "kind": "branch-false",
        "label": "no-op",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "kind": "statement",
        "label": "merge",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_118_state_change_118__linear",
        "kind": "statement",
        "label": "Trigger UI refresh",
        "line": 118,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "StateHasChanged() invoked to update the rendered UI after profile assignment"
      },
      {
        "id": "method:z1n8tn:oninitializedasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 119,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:z1n8tn:oninitializedasync__entry__method:z1n8tn:oninitializedasync__action_113_oninitializedasync_await_113_0__await",
        "from": "method:z1n8tn:oninitializedasync__entry",
        "to": "method:z1n8tn:oninitializedasync__action_113_oninitializedasync_await_113_0__await",
        "kind": "next",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.81
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_113_oninitializedasync_await_113_0__await__method:z1n8tn:oninitializedasync__action_113_external_call_113__linear",
        "from": "method:z1n8tn:oninitializedasync__action_113_oninitializedasync_await_113_0__await",
        "to": "method:z1n8tn:oninitializedasync__action_113_external_call_113__linear",
        "kind": "next",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_113_external_call_113__linear__call_method:z1n8tn:oninitializedasync__call_113_GetProfileAsync",
        "from": "method:z1n8tn:oninitializedasync__action_113_external_call_113__linear",
        "to": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync",
        "kind": "call",
        "label": "none",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync__method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition",
        "from": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync",
        "to": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition__method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__true",
        "from": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition",
        "to": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__true",
        "kind": "condition-true",
        "label": "true",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition__method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__false",
        "from": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__condition",
        "to": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__false",
        "kind": "condition-false",
        "label": "false",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__true__method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "from": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__true",
        "to": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__false__method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "from": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__false",
        "to": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.78
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge__method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition",
        "from": "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
        "to": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition__method:z1n8tn:oninitializedasync__action_114_guard_clause_114__true",
        "from": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition",
        "to": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__true",
        "kind": "condition-true",
        "label": "assign-_profile",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition__method:z1n8tn:oninitializedasync__action_114_guard_clause_114__false",
        "from": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__condition",
        "to": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__false",
        "kind": "condition-false",
        "label": "no-op",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__true__method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "from": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__true",
        "to": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__false__method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "from": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__false",
        "to": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "kind": "next",
        "line": 114,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge__method:z1n8tn:oninitializedasync__action_118_state_change_118__linear",
        "from": "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge",
        "to": "method:z1n8tn:oninitializedasync__action_118_state_change_118__linear",
        "kind": "next",
        "line": 118,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:z1n8tn:oninitializedasync__action_118_state_change_118__linear__implicit_return",
        "from": "method:z1n8tn:oninitializedasync__action_118_state_change_118__linear",
        "to": "method:z1n8tn:oninitializedasync__implicit_return",
        "kind": "return",
        "line": 119,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync__jump_NexusReader_UI_Shared_Services_IIdentityService_cs_GetProfileAsync",
        "fromNodeId": "method:z1n8tn:oninitializedasync__call_113_GetProfileAsync",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Services/IIdentityService.cs",
        "targetHint": "GetProfileAsync",
        "line": 113,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target GetProfileAsync in NexusReader.UI.Shared/Services/IIdentityService.cs could not be matched to an extracted method symbol.",
        "status": "unresolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [
      "method:z1n8tn:oninitializedasync__action_114_oninitializedasync_branch_114_1__merge",
      "method:z1n8tn:oninitializedasync__action_114_guard_clause_114__merge"
    ],
    "language": "unknown",
    "confidence": 0.98,
    "lineSpan": {
      "start": 111,
      "end": 119
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "line": 111,
        "summary": "Control-flow fragment extracted for method OnInitializedAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:k7fbfq:calculateprogress__fragment",
    "ownerFileId": "file:11crtur:profile-razor",
    "ownerSymbolId": "method:k7fbfq:calculateprogress",
    "ownerSymbolName": "CalculateProgress",
    "entryNodeId": "method:k7fbfq:calculateprogress__entry",
    "exitNodeIds": [
      "method:k7fbfq:calculateprogress__action_125_calculateprogress_return_125_1__return"
    ],
    "nodes": [
      {
        "id": "method:k7fbfq:calculateprogress__entry",
        "kind": "entry",
        "label": "CalculateProgress entry",
        "line": 121,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.99,
        "detail": "Calculates percentage of AI tokens used and clamps it to a maximum of 100."
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition",
        "kind": "condition",
        "label": "_profile == null || _profile.AITokenLimit == 0",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9,
        "detail": "if (_profile == null || _profile.AITokenLimit == 0) return 0;"
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__true",
        "kind": "branch-true",
        "label": "exit",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__false",
        "kind": "branch-false",
        "label": "continue",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "kind": "statement",
        "label": "merge",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition",
        "kind": "condition",
        "label": "_profile == null || _profile.AITokenLimit == 0",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "Returns 0 when no profile or limit is zero"
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__true",
        "kind": "branch-true",
        "label": "return-0",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__false",
        "kind": "branch-false",
        "label": "compute-percent",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "kind": "statement",
        "label": "merge",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_124_calculation_124__linear",
        "kind": "statement",
        "label": "Compute percentage and cap",
        "line": 124,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "Computes percent = (AITokensUsed / AITokenLimit) * 100 and returns Math.Min(percent, 100)"
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_125_calculateprogress_return_125_1__return",
        "kind": "return",
        "label": "Returns result",
        "line": 125,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "return Math.Min(percent, 100);"
      }
    ],
    "edges": [
      {
        "id": "method:k7fbfq:calculateprogress__entry__method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition",
        "from": "method:k7fbfq:calculateprogress__entry",
        "to": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition__method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__true",
        "from": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition",
        "to": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__true",
        "kind": "condition-true",
        "label": "exit",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition__method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__false",
        "from": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__condition",
        "to": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__false",
        "kind": "condition-false",
        "label": "continue",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__true__method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "from": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__true",
        "to": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__false__method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "from": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__false",
        "to": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.9
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge__method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition",
        "from": "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
        "to": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition__method:k7fbfq:calculateprogress__action_123_guard_clause_123__true",
        "from": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition",
        "to": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__true",
        "kind": "condition-true",
        "label": "return-0",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition__method:k7fbfq:calculateprogress__action_123_guard_clause_123__false",
        "from": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__condition",
        "to": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__false",
        "kind": "condition-false",
        "label": "compute-percent",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__true__method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "from": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__true",
        "to": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__false__method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "from": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__false",
        "to": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "kind": "next",
        "line": 123,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge__method:k7fbfq:calculateprogress__action_124_calculation_124__linear",
        "from": "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge",
        "to": "method:k7fbfq:calculateprogress__action_124_calculation_124__linear",
        "kind": "next",
        "line": 124,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:k7fbfq:calculateprogress__action_124_calculation_124__linear__method:k7fbfq:calculateprogress__action_125_calculateprogress_return_125_1__return",
        "from": "method:k7fbfq:calculateprogress__action_124_calculation_124__linear",
        "to": "method:k7fbfq:calculateprogress__action_125_calculateprogress_return_125_1__return",
        "kind": "return",
        "line": 125,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [
      "method:k7fbfq:calculateprogress__action_123_calculateprogress_guard_clause_123_0__merge",
      "method:k7fbfq:calculateprogress__action_123_guard_clause_123__merge"
    ],
    "language": "unknown",
    "confidence": 0.98,
    "lineSpan": {
      "start": 121,
      "end": 126
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "line": 121,
        "summary": "Control-flow fragment extracted for method CalculateProgress.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:12nkjhc:handleupgrade__fragment",
    "ownerFileId": "file:11crtur:profile-razor",
    "ownerSymbolId": "method:12nkjhc:handleupgrade",
    "ownerSymbolName": "HandleUpgrade",
    "entryNodeId": "method:12nkjhc:handleupgrade__entry",
    "exitNodeIds": [
      "method:12nkjhc:handleupgrade__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:12nkjhc:handleupgrade__entry",
        "kind": "entry",
        "label": "HandleUpgrade entry",
        "line": 128,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.99,
        "detail": "Placeholder click handler intended to redirect user to billing/upgrade flow (not yet implemented)."
      },
      {
        "id": "method:12nkjhc:handleupgrade__action_130_placeholder_130__linear",
        "kind": "statement",
        "label": "Future redirect to billing portal",
        "line": 130,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "// Future: Redirect to Stripe billing portal"
      },
      {
        "id": "method:12nkjhc:handleupgrade__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 131,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:12nkjhc:handleupgrade__entry__method:12nkjhc:handleupgrade__action_130_placeholder_130__linear",
        "from": "method:12nkjhc:handleupgrade__entry",
        "to": "method:12nkjhc:handleupgrade__action_130_placeholder_130__linear",
        "kind": "next",
        "line": 130,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:12nkjhc:handleupgrade__action_130_placeholder_130__linear__implicit_return",
        "from": "method:12nkjhc:handleupgrade__action_130_placeholder_130__linear",
        "to": "method:12nkjhc:handleupgrade__implicit_return",
        "kind": "return",
        "line": 131,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "unknown",
    "confidence": 0.76,
    "lineSpan": {
      "start": 128,
      "end": 131
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "line": 128,
        "summary": "Control-flow fragment extracted for method HandleUpgrade.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1jxczws:handlelogout__fragment",
    "ownerFileId": "file:11crtur:profile-razor",
    "ownerSymbolId": "method:1jxczws:handlelogout",
    "ownerSymbolName": "HandleLogout",
    "entryNodeId": "method:1jxczws:handlelogout__entry",
    "exitNodeIds": [
      "method:1jxczws:handlelogout__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1jxczws:handlelogout__entry",
        "kind": "entry",
        "label": "HandleLogout entry",
        "line": 133,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.99,
        "detail": "Performs logout by calling IdentityService.LogoutAsync and then navigates to the logout form route."
      },
      {
        "id": "method:1jxczws:handlelogout__action_135_handlelogout_await_135_0__await",
        "kind": "await",
        "label": "Waits for async work",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.81,
        "detail": "await IdentityService.LogoutAsync();"
      },
      {
        "id": "method:1jxczws:handlelogout__action_135_external_call_135__linear",
        "kind": "http-call",
        "label": "Invoke logout on identity service",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "await IdentityService.LogoutAsync()"
      },
      {
        "id": "method:1jxczws:handlelogout__call_135_LogoutAsync",
        "kind": "call",
        "label": "LogoutAsync",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88,
        "detail": "none"
      },
      {
        "id": "method:1jxczws:handlelogout__action_136_navigation_136__linear",
        "kind": "statement",
        "label": "Redirect to logout route",
        "line": 136,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7,
        "detail": "NavigationManager.NavigateTo(\"/account/logout-form\", true)"
      },
      {
        "id": "method:1jxczws:handlelogout__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 137,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1jxczws:handlelogout__entry__method:1jxczws:handlelogout__action_135_handlelogout_await_135_0__await",
        "from": "method:1jxczws:handlelogout__entry",
        "to": "method:1jxczws:handlelogout__action_135_handlelogout_await_135_0__await",
        "kind": "next",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.81
      },
      {
        "id": "method:1jxczws:handlelogout__action_135_handlelogout_await_135_0__await__method:1jxczws:handlelogout__action_135_external_call_135__linear",
        "from": "method:1jxczws:handlelogout__action_135_handlelogout_await_135_0__await",
        "to": "method:1jxczws:handlelogout__action_135_external_call_135__linear",
        "kind": "next",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1jxczws:handlelogout__action_135_external_call_135__linear__call_method:1jxczws:handlelogout__call_135_LogoutAsync",
        "from": "method:1jxczws:handlelogout__action_135_external_call_135__linear",
        "to": "method:1jxczws:handlelogout__call_135_LogoutAsync",
        "kind": "call",
        "label": "none",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.88
      },
      {
        "id": "method:1jxczws:handlelogout__call_135_LogoutAsync__method:1jxczws:handlelogout__action_136_navigation_136__linear",
        "from": "method:1jxczws:handlelogout__call_135_LogoutAsync",
        "to": "method:1jxczws:handlelogout__action_136_navigation_136__linear",
        "kind": "next",
        "line": 136,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.7
      },
      {
        "id": "method:1jxczws:handlelogout__action_136_navigation_136__linear__implicit_return",
        "from": "method:1jxczws:handlelogout__action_136_navigation_136__linear",
        "to": "method:1jxczws:handlelogout__implicit_return",
        "kind": "return",
        "line": 137,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:1jxczws:handlelogout__call_135_LogoutAsync__jump_NexusReader_UI_Shared_Services_IIdentityService_cs_LogoutAsync",
        "fromNodeId": "method:1jxczws:handlelogout__call_135_LogoutAsync",
        "kind": "call-target",
        "targetPath": "NexusReader.UI.Shared/Services/IIdentityService.cs",
        "targetHint": "LogoutAsync",
        "line": 135,
        "sourcePath": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "reason": "Call target LogoutAsync in NexusReader.UI.Shared/Services/IIdentityService.cs could not be matched to an extracted method symbol.",
        "status": "unresolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "unknown",
    "confidence": 0.7999999999999999,
    "lineSpan": {
      "start": 133,
      "end": 137
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.UI.Shared/Pages/Account/Profile.razor",
        "line": 133,
        "summary": "Control-flow fragment extracted for method HandleLogout.",
        "kind": "file-summary"
      }
    ]
  }
]