



  

<!DOCTYPE html>
<html
  lang="en"
  
  data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
  data-a11y-animated-images="system" data-a11y-link-underlines="true"
  
  >




  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://github.githubassets.com">
  <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
  <link rel="preconnect" href="https://avatars.githubusercontent.com">

<script type="importmap">{"imports":{"react":"https://github.githubassets.com/assets/react-e27d1b3e03961e68.js","react-dom":"https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js","react-dom/client":"https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js","react-is":"https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js","react-reconciler":"https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js","react/compiler-runtime":"https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js","react/jsx-dev-runtime":"https://github.githubassets.com/assets/react-jsx-dev-runtime-ea55d68667d559e5.js","react/jsx-runtime":"https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js","scheduler":"https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js"}}</script>
<meta name="react-profiling" content="0" data-turbo-transient="true" />
<meta name="react-import-map" content="react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@777f63f87cd0" data-turbo-track="reload" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-e27d1b3e03961e68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js" />

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-5c4e9fc574bf49f3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-5c4e9fc574bf49f3.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-0f910d8806d5761b.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-a7abd4d4c49ac593.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-5fc4c4a9cb41e596.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-ed0cee9214dedabd.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-78a2491d538dab5a.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-c26b63d7c532d0a2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a6f60cea68c08405.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-f66faf28b2ea18b6.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-6701f6218c53cf5b.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-7037fa46ae124d97.css" />

  <style type="text/css">
    :root {
      --tab-size-preference: 4;
    }

    pre, code {
      tab-size: var(--tab-size-preference);
    }
  </style>

    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-97df7784617ce1ea.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-9be9fe6313f476af.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-62747e27e61258dc.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-b04ca6fccda778e2.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-72bd7d974b5ac1cc.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4c5c0895f723f870.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_caches_react_shell","actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","actions_runners_react_shell","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","alternate_user_config_repo","async_conversion_coverage_enabled","billing_billable_licenses_cost_center_bucket_fix","billing_budget_expiration","billing_cost_center_list_assigned_resources","billing_discount_threshold_notification","code_quality_enablement_banner_targeting","code_quality_remove_preview","code_view_raf_sticky_lines","codespaces_prebuild_region_target_update","coding_agent_third_party_model_ui","copilot_agent_snippy","copilot_ahp_tool_call_timing","copilot_api_agentic_issue_marshal_yaml","copilot_automation_repo_mcp_servers","copilot_automations_pagination","copilot_base_model_policy_row","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_early_task_provisioning","copilot_chat_persist_session_drafts","copilot_chat_vision_dotcom_chat_ga_gate","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_fix_failed_workflows_all_skus","copilot_hide_hovercard","copilot_immersive_task_hyperlinking","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_merge_fix_ci","copilot_mission_control_agent_merge_resolve_conflicts","copilot_mission_control_awps_batching","copilot_mission_control_early_stop","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_discussion_comment_trigger","copilot_swe_agent_discussion_opened_trigger","copilot_swe_agent_discussion_updated_trigger","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_assigned_trigger","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_issue_labeled_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_assigned_trigger","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_labeled_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_ready_for_review_trigger","copilot_swe_agent_pull_request_review_requested_trigger","copilot_swe_agent_pull_request_review_submitted_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_sub_issue_added_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_task_scoped_alive_channel","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_web_integration_cutover","copilot_workbench_sunset_redirect","dashboard_agents_module_auth_token_check","dashboard_indexeddb_caching","fgpat_permissions_selector_redesign","glc_code_quality_repo_settings_workflow_config","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_team_vs_personal","issue_relative_time_micro","issue_viewer_paved_path","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","labels_archiving","labels_archiving_info","landing_pages_ninetailed","lifecycle_label_name_updates","marketing_cookie_consent_banner","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_header_feedback","milestone_closed_issues_prioritization","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","primer_react_timeline_list_semantics","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_copilot_attribution_header","pull_request_overview_merge_control","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_navigation_shortcuts","pull_request_virtualization_image_estimate","pull_request_virtualization_loader_batching","pull_request_virtualization_scroll_compensation","pull_request_virtualization_scroll_intent","quick_search_lazy_suggestions","react_blob_isolate_code_lines","react_blob_ssr_content_visibility","react_data_router_tanstack_allowed","react_logged_out_repository_header","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_declutter","repo_pulls_dashboard_ga","repo_pulls_dashboard_persistence","repos_contributors_limited_default_range","review_involves_filter","rule_ignored_file_paths","rulesets_actor_list_editor","sample_network_conn_type","security_center_artifact_filters_popover","see_who_reacted","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","set_sha256_on_repo_creation_form","site_banner_desktop_copilot_app","site_ghca_pixel_mona","site_github_app_ga_page","site_github_app_ga_page_highlight","site_github_app_mobile_native_share","site_global_banner_dev_days_attendee","site_global_nav_spark_models_removed","speculation_rules_ui_service","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","update_issue_suggestions","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workstream_plugin_bootstrap"],"githubDomain":"https://github.com","copilotApiOverrideUrl":"https://api.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/high-contrast-cookie-3663bcaacc724f4c.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-721126455a2225e3.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-156c6259e31cc551.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-f6ce38f47c2e1d56.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-804a14996977c014.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-fb5d13278eb42203.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tp-ea613009a991e211.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-107a7753389a8a2d.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.25915bc98fb322a6.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-52ed81112a548e10.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e8810f64c443fb9b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-fe7e72f699fdf493.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-9da36843ba9d191d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-9a1160b939f2cd52.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3h-55903cf2303047ad.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hk-0d35a1220587d888.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-c964b1a3671f2a92.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-1d800d09e9a8720a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-1ad12374da9777f2.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-531d35538b61fd0d.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-bf5e3b2aee197122.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-5e0b3ae3c4036207.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-752acdc868e2da64.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-e87ffadced20a3c9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-75bc55d9971828b7.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a9-34620c7b13885011.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ur-643d2814115561a9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t6-5d0869970ac0aac0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/pb0-a5c5ec36d311aeef.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6n-afcf86ccabc4cad2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zj-f08c728cf00018aa.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/o6-2a1c68d269710ee9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/h9a-c6405aa090de0e84.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/vy6-3c3e6e96629c2ce4.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/js-4eb97d5803e657c0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/g7-baf9e817ae102b01.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/unc-96389cade7bad821.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/nu-65322a6997c6c93c.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-5dd3809b5c8bac3c.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.3792087592bf207a.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-4318f0f4c608f3dd.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-7afef75d393cf294.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/op-acddf38478d45ef9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-461e4b09f2e67ee5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/qmp-c7cfba40cf5a93b0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-148a74299e5a01ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-a52ba56147f77909.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4u-ec4874f70bfd5d76.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/s0-481bd34f90bc2bd7.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y5-ed17e73b4c0bd15e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4-be595475cdbf7d4b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8-23a3c5ff8eef412d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-27679061f16e1495.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/iu-9806a0291a782cbe.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ftx-39fb490e3c1d778f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zi-32a0c3c081ea5cce.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sg-7a5d50475874c0e1.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/pd-6a8710840033e042.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/86g-ec28c25ed7d5de06.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sn-1bab7384818953b7.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/iq-6d4ecf6d2fb6993c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p2-7d8e7cee5b46cb45.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7d-2e3cc25d719f3a95.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4d-76d8acdf21a33266.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tsb-e0f6288ab985d9d2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/lf-910ef220ce85c660.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2j-2f19c1afd2ceaf93.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/me-f1476ec44a29f34a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p2u-e654a57b1a70c47d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/5d-d97cc006d4da4d9b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/r5-38f013bc2c0fd298.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/r6s-9039f5619230a653.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9e-cece06724bf6ea3b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/x9-3e077a3a37a73f9f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/pj-87629cb5389d7663.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/eq-3764fd5f66494289.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/13-d889936dff7e5c0f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/44-8193eea4af825ead.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/v4-9c1327d212e52a0d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/id-7f39706ba9007db6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ah-271362a1ed227d03.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/s1g-d434d712bca59d3a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/vz-d7f4a583896f872e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/47-c8c0ce2700acc5be.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-4118a687d0150749.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.2d881b4d4a503d1c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/pj.75627bfeb9ceb1da.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ah.2623f7c6ecbe2ecd.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/47.78770c57a48a810c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.37656c95a9729fb9.module.css" />


  <title>netta/transfer_check.c at main · ariannamethod/netta · GitHub</title>



  <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
  <meta name="route-controller" content="blob" data-turbo-transient>
  <meta name="route-action" content="show" data-turbo-transient>
  <meta name="fetch-nonce" content="v2:c9104e9a-0314-2be2-71ed-5d90d229631f">

    
  <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">


  <meta name="request-id" content="8EE6:AE201:ADE9E2C:E2B1420:6ACA5D98" data-pjax-transient="true"/><meta name="html-safe-nonce" content="f055e5f76ed937973535528594e713e6f3723b05f34475baed4cac6ad4adb8dd" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RUU2OkFFMjAxOkFERTlFMkM6RTJCMTQyMDo2QUNBNUQ5OCIsInZpc2l0b3JfaWQiOiI4NDkxNDg2NzE0OTM3MzY3OTYwIiwicmVnaW9uX2VkZ2UiOiJmcmEiLCJyZWdpb25fcmVuZGVyIjoiZnJhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="b7e30d0daa24d607a26d1f369e77f3ca4f77a2671e249760799e85d81d24cbdc" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:1319338810" data-turbo-transient>


  <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
  

  <meta name="selected-link" value="repo_source" data-turbo-transient>
  <link rel="assets" href="https://github.githubassets.com/">

    <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">

<meta name="octolytics-url" content="https://collector.github.com/github/collect" />





  <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />

  




    <meta name="user-login" content="">

  

    <meta name="viewport" content="width=device-width">

    

      <meta name="description" content="netta : atten : recursive language neural network. Contribute to ariannamethod/netta development by creating an account on GitHub.">

      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/ariannamethod/netta/blob/main/transfer_check.c" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/22915a8514a87319b58f75fa9268ae21cb2baf6992fc42c05f23f4be6cfec82b/ariannamethod/netta" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="netta/transfer_check.c at main · ariannamethod/netta" /><meta name="twitter:description" content="netta : atten : recursive language neural network. Contribute to ariannamethod/netta development by creating an account on GitHub." />
  <meta property="og:image" content="https://opengraph.githubassets.com/22915a8514a87319b58f75fa9268ae21cb2baf6992fc42c05f23f4be6cfec82b/ariannamethod/netta" /><meta property="og:image:alt" content="netta : atten : recursive language neural network. Contribute to ariannamethod/netta development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="netta/transfer_check.c at main · ariannamethod/netta" /><meta property="og:url" content="https://github.com/ariannamethod/netta/blob/main/transfer_check.c" /><meta property="og:description" content="netta : atten : recursive language neural network. Contribute to ariannamethod/netta development by creating an account on GitHub." />
  




      <meta name="hostname" content="github.com">



        <meta name="expected-hostname" content="github.com">


  <meta http-equiv="x-pjax-version" content="d05be8f8b6905b6460fc264e80447721dfee1e32cf9e4291c4bf58f160c9f705" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="c4a65e47b0c850e1157ae8e66298070851d7e3b558038de5a3b4ff7a93e630ed" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="a80b0545b169f440b929ce2b977c76b6988f014cca6513fb83c5df6581635fb3" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="af51c6f9d659be0324665373df3ee542f817dbd7f66f352a087935f2ceabe545" data-turbo-track="reload">

  <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">

      <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>

    <meta data-hydrostats="publish">

  <meta name="go-import" content="github.com/ariannamethod/netta git https://github.com/ariannamethod/netta.git">

  <meta name="octolytics-dimension-user_id" content="211269477" /><meta name="octolytics-dimension-user_login" content="ariannamethod" /><meta name="octolytics-dimension-repository_id" content="1319338810" /><meta name="octolytics-dimension-repository_nwo" content="ariannamethod/netta" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="1319338810" /><meta name="octolytics-dimension-repository_network_root_nwo" content="ariannamethod/netta" />
  



    

    <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
  <meta name="disable-turbo" content="false">


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">


  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <meta name="release" content="3b1bb5b10f5c7fd1769d56e38b15dfddb34052a8" data-turbo-track="reload">
  <meta name="ui-target" content="full">

  <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
  <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
  <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">

<meta name="theme-color" content="#1e2327">
<meta name="color-scheme" content="light dark" />


  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
    <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
      <div id="__primerPortalRoot__" style="z-index: 1000; position: absolute; width: 100%;" data-turbo-permanent></div>
      

    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

      <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
    <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>      
      <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/19-c660652a0a1639be.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-47c5223d8d1af8ef.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.2d881b4d4a503d1c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.d53d993320d57e14.module.css" />

<react-partial
  partial-name="keyboard-shortcuts-dialog"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>





      

          <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-install-banner-partial-3c87deb7f0f20434.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.2d881b4d4a503d1c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-install-banner-partial.7b357012e82003e7.module.css" />

<react-partial
  partial-name="app-install-banner-partial"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>


          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/et9-7eeec247c287fca4.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/94v-e20946127faa8f6e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz5-892a9e99cc92858d.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jag-441e702bfd4c7904.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hw-8ce7888b57d0a23c.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/rq-0ec82a12cf538a4d.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/1m-a7a4c022483b2713.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-70703fe17422eb58.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.2d881b4d4a503d1c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.fbc35b3d20e988ff.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/1m.fec8b575d0e5234f.module.css" />

<react-partial
  partial-name="marketing-header"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2Fgithub.com%2Fariannamethod%2Fnetta%2Fblob%2Fmain%2Ftransfer_check.c","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow\u0026source=header-repo\u0026source_repo=ariannamethod%2Fnetta","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://github.com/ariannamethod/netta/blob/main/transfer_check.c\",\"user_id\":null}}","auth_hydro_click_hmac":"bbd7ad277cea98b12275d1c39985476785564719d049c22f7b978c20bea52a85","overlay":false,"fixed":false}}</script>
  <div data-target="react-partial.reactRoot"><div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"><header class="MarketingHeader-module__root__Tk7n3 HeaderMktg header-logged-out" role="banner" data-marketing-header="true" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark" data-is-top="true"><h2 class="MarketingHeader-module__visuallyHidden__sqKsl">Navigation Menu</h2><button type="button" class="MarketingHeader-module__backdrop__sw4RU" aria-label="Close navigation menu"></button><div class="MarketingHeader-module__bar__mBSyE"><div class="MarketingHeader-module__topRow__yeury"><div class="MarketingHeader-module__toggleSlot__hDxbh"><button type="button" class="HeaderMenuToggle-module__toggle__i8EiC" aria-label="Toggle navigation" aria-expanded="false"><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span></button></div><a href="/" aria-label="Homepage" class="HeaderLogo-module__logo__UFyHI" data-analytics-event="{&quot;action&quot;:&quot;homepage&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;logo&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;homepage_link_logo_header&quot;}"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="AuthCTAs-module__mobileActions__NNzeV"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fariannamethod%2Fnetta%2Fblob%2Fmain%2Ftransfer_check.c" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ariannamethod/netta/blob/main/transfer_check.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bbd7ad277cea98b12275d1c39985476785564719d049c22f7b978c20bea52a85"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_3dd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_3dd_">Appearance settings</div></div></div><div class="MarketingHeader-module__menu__GIy3y"><div class="MarketingHeader-module__menuWrapper__owstH"><nav class="MarketingNavigation-module__nav__W0KYY" aria-label="Global"><ul class="MarketingNavigation-module__list__tFbMb"><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_nd_">Platform<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5knd_">AI CODE CREATION</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot" data-analytics-event="{&quot;action&quot;:&quot;github_copilot&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>GitHub Copilot</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Write better code with AI</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/ai/github-app" data-analytics-event="{&quot;action&quot;:&quot;github_copilot_app&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_app_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656"></path></svg>GitHub Copilot app</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Direct agents from issue to merge</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/mcp" data-analytics-event="{&quot;action&quot;:&quot;mcp_registry&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mcp NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.52 1.12a3.578 3.578 0 0 1 6.078 2.98 3.578 3.578 0 0 1 2.982 6.08l-3.292 3.293a.252.252 0 0 0 0 .354l.843.843a.749.749 0 1 1-1.06 1.06l-.844-.843a1.75 1.75 0 0 1 0-2.474L13.52 9.12a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0L7.731 9.03A.75.75 0 0 1 6.67 7.97l2.85-2.85a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0l-4.799 4.8A.75.75 0 0 1 .72 5.92Z"></path><path d="M7.52 3.12a.749.749 0 1 1 1.06 1.06L5.731 7.03A2.079 2.079 0 0 0 8.67 9.97l2.85-2.85a.749.749 0 1 1 1.06 1.06l-2.849 2.85A3.578 3.578 0 0 1 4.67 5.97Z"></path></svg>MCP Registry</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Integrate external tools</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9knd_">DEVELOPER WORKFLOWS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/actions" data-analytics-event="{&quot;action&quot;:&quot;actions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-workflow NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg>Actions</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Automate any workflow</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/codespaces" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codespaces NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Instant dev environments</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/issues" data-analytics-event="{&quot;action&quot;:&quot;issues&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>Issues</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Plan and track work</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-review" data-analytics-event="{&quot;action&quot;:&quot;code_review&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>Code Review</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Manage code changes</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-quality" data-analytics-event="{&quot;action&quot;:&quot;code_quality&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_quality_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codescan-checkmark NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z"></path><path d="M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z"></path></svg>Code Quality</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enforce quality at merge</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dknd_">APPLICATION SECURITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Find and fix vulnerabilities</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/code-security" data-analytics-event="{&quot;action&quot;:&quot;code_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>Code security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Secure your code as you build</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/secret-protection" data-analytics-event="{&quot;action&quot;:&quot;secret_protection&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;secret_protection_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-lock NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>Secret protection</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Stop leaks before they start</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ NavGroup-module__hasSeparator__FnMrN"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_hknd_">EXPLORE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_hknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/why-github" data-analytics-event="{&quot;action&quot;:&quot;why_github&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Why GitHub</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog" data-analytics-event="{&quot;action&quot;:&quot;blog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Blog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog/changelog" data-analytics-event="{&quot;action&quot;:&quot;changelog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;changelog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Changelog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/marketplace" data-analytics-event="{&quot;action&quot;:&quot;marketplace&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;marketplace_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Marketplace</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/features" data-analytics-event="{&quot;action&quot;:&quot;view_all_features&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all features</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_17d_">Solutions<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_17d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5l7d_">BY COMPANY SIZE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprises&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Enterprises</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/team" data-analytics-event="{&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Small and medium teams</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise/startups" data-analytics-event="{&quot;action&quot;:&quot;startups&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Startups</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/nonprofits" data-analytics-event="{&quot;action&quot;:&quot;nonprofits&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Nonprofits</span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9l7d_">BY USE CASE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/app-modernization" data-analytics-event="{&quot;action&quot;:&quot;app_modernization&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">App Modernization</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devsecops" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevSecOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/ci-cd" data-analytics-event="{&quot;action&quot;:&quot;ci/cd&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ci/cd_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">CI/CD</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/use-case" data-analytics-event="{&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all use cases</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dl7d_">BY INDUSTRY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dl7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/healthcare" data-analytics-event="{&quot;action&quot;:&quot;healthcare&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Healthcare</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/financial-services" data-analytics-event="{&quot;action&quot;:&quot;financial_services&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Financial services</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/manufacturing" data-analytics-event="{&quot;action&quot;:&quot;manufacturing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Manufacturing</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/government" data-analytics-event="{&quot;action&quot;:&quot;government&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Government</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/industry" data-analytics-event="{&quot;action&quot;:&quot;view_all_industries&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all industries</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions" data-analytics-event="{&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all solutions</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_1nd_">Resources<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_1nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5lnd_">EXPLORE BY TOPIC</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=ai" data-analytics-event="{&quot;action&quot;:&quot;ai&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">AI</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=software-development" data-analytics-event="{&quot;action&quot;:&quot;software_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Software Development</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=security" data-analytics-event="{&quot;action&quot;:&quot;security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources/articles" data-analytics-event="{&quot;action&quot;:&quot;view_all_topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_topics_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all topics</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9lnd_">EXPLORE BY TYPE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/customer-stories" data-analytics-event="{&quot;action&quot;:&quot;customer_stories&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer stories</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/events" data-analytics-event="{&quot;action&quot;:&quot;events__webinars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;events__webinars_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Events &amp; webinars</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/whitepapers" data-analytics-event="{&quot;action&quot;:&quot;ebooks__reports&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ebooks__reports_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Ebooks &amp; reports</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/executive-insights" data-analytics-event="{&quot;action&quot;:&quot;business_insights&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;business_insights_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Business insights</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://skills.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_skills&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_skills_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Skills</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dlnd_">SUPPORT &amp; SERVICES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dlnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://support.github.com" data-analytics-event="{&quot;action&quot;:&quot;customer_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_support_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer support</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/orgs/community/discussions" data-analytics-event="{&quot;action&quot;:&quot;community_forum&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;community_forum_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Community forum</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trust-center" data-analytics-event="{&quot;action&quot;:&quot;trust_center&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trust_center_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trust center</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/partners" data-analytics-event="{&quot;action&quot;:&quot;partners&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Partners</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources" data-analytics-event="{&quot;action&quot;:&quot;view_all_resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_resources_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all resources</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_27d_">Open Source<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_27d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5m7d_">COMMUNITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/open-source/sponsors" data-analytics-event="{&quot;action&quot;:&quot;github_sponsors&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sponsor-tiers NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z"></path></svg>GitHub Sponsors</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Fund open source developers</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9m7d_">PROGRAMS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://securitylab.github.com" data-analytics-event="{&quot;action&quot;:&quot;security_lab&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_lab_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security Lab</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://maintainers.github.com" data-analytics-event="{&quot;action&quot;:&quot;maintainer_community&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;maintainer_community_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Maintainer Community</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://stars.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_stars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_stars_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Stars</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://archiveprogram.github.com" data-analytics-event="{&quot;action&quot;:&quot;archive_program&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;archive_program_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Archive Program</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dm7d_">REPOSITORIES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dm7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/topics" data-analytics-event="{&quot;action&quot;:&quot;topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Topics</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trending" data-analytics-event="{&quot;action&quot;:&quot;trending&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trending</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/collections" data-analytics-event="{&quot;action&quot;:&quot;collections&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Collections</span></a></li></ul></div></li></ul></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_2nd_">Enterprise<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_2nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5mnd_">ENTERPRISE SOLUTIONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-stack NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>Enterprise platform</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">AI-powered developer platform</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9mnd_">AVAILABLE ADD-ONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade security features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot/copilot-business" data-analytics-event="{&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>Copilot for Business</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade AI features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise/premium-support" data-analytics-event="{&quot;action&quot;:&quot;premium_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Premium Support</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade 24/7 support</span></span></a></li></ul></div></li></ul></div></div></li><li><a href="https://github.com/pricing" data-analytics-event="{&quot;action&quot;:&quot;pricing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;pricing&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;pricing_link_pricing_navbar&quot;}" class="MarketingNavigation-module__navLink__hUomM">Pricing</a></li></ul></nav><div class="MarketingHeader-module__ctaContainer__tBmPz"><div class="HeaderSearch-module__searchSlot__oVOUS"><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderSearch-module__trigger__zsF9q" type="button" aria-haspopup="dialog" aria-expanded="false" aria-label="Search or jump to, type / to search" data-analytics-event="{&quot;action&quot;:&quot;searchbar&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;context&quot;:&quot;global&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"><span class="HeaderSearch-module__content__kMpxU"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search HeaderSearch-module__icon__wcrHX" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><span class="HeaderSearch-module__label__d1iWG">Search</span><kbd class="HeaderSearch-module__kbd__HNG0o" aria-hidden="true">/</kbd></span></span></span></button><div class="d-none"></div></div><div class="AuthCTAs-module__signInWrap__q2P60"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq AuthCTAs-module__desktopActionGap__UZuXT AuthCTAs-module__hiddenBelowLg__BfKBw" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fariannamethod%2Fnetta%2Fblob%2Fmain%2Ftransfer_check.c" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ariannamethod/netta/blob/main/transfer_check.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bbd7ad277cea98b12275d1c39985476785564719d049c22f7b978c20bea52a85"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a></div><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--secondary___gHnw_ Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=ariannamethod%2Fnetta" data-analytics-event="{&quot;action&quot;:&quot;sign_up&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_up_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/ariannamethod/netta/blob/main/transfer_check.c&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bbd7ad277cea98b12275d1c39985476785564719d049c22f7b978c20bea52a85"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-secondary___eJ0_a">Sign up</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_fbd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_fbd_">Appearance settings</div></div></div></div></div><div class="MarketingHeader-module__bottomBorder__uZT38" aria-hidden="true"></div></header></div></div>
</react-partial>



      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>

    <button id="icon-button-1c258f5e-4b61-40d0-af27-9c11a2ffd0ef" aria-labelledby="tooltip-a272e8b0-83c2-4c78-a472-720c088e8e9a" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</button><tool-tip id="tooltip-a272e8b0-83c2-4c78-a472-720c088e8e9a" for="icon-button-1c258f5e-4b61-40d0-af27-9c11a2ffd0ef" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>


  
</div>
    </div>

  <div id="start-of-content" class="show-on-focus"></div>








    <div id="js-flash-container" class="flash-container" data-turbo-replace>






  <template class="js-flash-template">
    
<div class="flash flash-full   {{ className }}">
  <div >
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    <div aria-atomic="true" role="alert" class="js-flash-alert">
      
      <div>{{ message }}</div>

    </div>
  </div>
</div>
  </template>
</div>


    






  <div
    class="application-main "
    data-commit-hovercards-enabled
    data-discussion-hovercards-enabled
    data-issue-and-pr-hovercards-enabled
    data-project-hovercards-enabled
  >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <main id="js-repo-pjax-container" >
      
      








  

    <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ym-6bc2c9bf8112c038.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sk2-8deeef9351be3911.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ni-3e194d222c7770bf.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7x-71d30cb240cd901f.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wwk-ad869086822937b1.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a1-9f79841ecac1da8e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wzg-40a3213b3e83400b.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/5f-64f8e7d5bcbd4787.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/z5-b53a93078d026f1e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8h-cef26f68c1331011.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fq-3ce13a77e863807a.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a7-596b507bd20acddc.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xfx-c82d8352413aea0a.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j4-b3a9e87fa7878a98.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/global-nav-bar-29c7aef68ee9db41.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.2d881b4d4a503d1c.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/pj.75627bfeb9ceb1da.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-nav-bar.2f2560cba06ab359.module.css" />

<react-partial
  partial-name="global-nav-bar"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"contextRegion":{"crumbs":[{"crumb_type":"user","label":"ariannamethod","is_root":false,"href":"/ariannamethod"},{"crumb_type":"repository","label":"netta","is_root":false,"href":"/ariannamethod/netta"}],"localNavigation":[{"id":"code","icon":"code","label":"Code","href":"/ariannamethod/netta","selectedLinks":["repo_source","repo_downloads","repo_commits","repo_releases","repo_tags","repo_branches","repo_packages","repo_deployments","repo_attestations"],"popoverTarget":false,"commandId":"repositories:go-to-code","reactNav":{"appTarget":"code-view","anchor":"code-view-repo-link"},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"issues","icon":"issue-opened","label":"Issues","href":"/ariannamethod/netta/issues","selectedLinks":["repo_issues","repo_labels","repo_milestones"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-issues","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"pull-requests","icon":"git-pull-request","label":"Pull requests","href":"/ariannamethod/netta/pulls","selectedLinks":["repo_pulls","checks"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-pull-requests","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"actions","icon":"play","label":"Actions","href":"/ariannamethod/netta/actions","selectedLinks":["repo_actions"],"popoverTarget":false,"commandId":"repositories:go-to-actions","reactNav":{"appTarget":"actions-workflows","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"projects","icon":"table","label":"Projects","href":"/ariannamethod/netta/projects","selectedLinks":["repo_projects","new_repo_project","repo_project"],"popoverTarget":false,"commandId":"repositories:go-to-projects","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"security-and-quality","icon":"shield","label":"Security and quality","href":"/ariannamethod/netta/security","selectedLinks":["security","overview","alerts","policy","token_scanning","code_scanning"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-security","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"insights","icon":"graph","label":"Insights","href":"/ariannamethod/netta/pulse","selectedLinks":["repo_graphs","repo_contributors","dependency_graph","dependabot_updates","pulse","people","community"],"popoverTarget":false,"commandId":"repositories:go-to-insights","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}}],"localNavigationUpdateChannel":null,"selectedLink":"repo_source"},"owner":null,"headerLogo":{"href":"/","aria-label":"Homepage "},"notifications":{"indicatorMode":"disabled","websocketChannel":null,"fetchIndicatorSrc":"/notifications/indicator","fetchIndicatorEnabled":false},"issues":{"href":"/issues"},"pulls":{"href":"/pulls"},"contributedRepos":{"href":"/repos"},"copilot":{"show":false,"showAgentsButton":false,"showRelaunchAnnouncement":false,"copilotChatUrl":null,"copilotApiUrl":"https://api.githubcopilot.com"},"search":{"show":true,"showCommandPalette":false,"isSearchPage":false,"isJumpToSearch":false,"searchContext":{"scope":"repo:ariannamethod/netta","current_repo_name":"netta","current_repo_nwo":"ariannamethod/netta","user_id":"ariannamethod"}},"commandPalette":null,"enterpriseBar":{"show":false},"globalTransactionalMessage":[],"payloadsUrl":"/_global-navigation/payloads.json?can_toggle_site_admin_and_employee_status=0\u0026is_admin_mode_on=0\u0026is_ui_opted_out=0\u0026show_ui_opt_out=0\u0026v=7","contextRegionUrl":"/_global-navigation/context-region.json"}}</script>
  <div data-target="react-partial.reactRoot"><header aria-label="Global navigation menu" data-component="Stack" class="GlobalNav styles-module__appHeader__YzYWk prc-Stack-Stack-UQ9k6" data-gap="none" data-direction="vertical" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="none"><div data-component="Stack" class="prc-Stack-Stack-UQ9k6" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="center" data-padding="none"><div data-testid="top-nav-center" data-component="Stack" class="styles-module__center__R3QRv styles-module__withLocalNavigation__rjTJ_ GlobalNavBar-module__loggedOut__Jv1rk prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="normal"><nav class="styles-module__contextRegion__VbSp2 prc-Breadcrumbs-BreadcrumbsBase-3Gb-B" aria-label="Breadcrumbs" data-overflow="menu" data-variant="normal" data-component="Breadcrumbs"><ol class="prc-Breadcrumbs-BreadcrumbsList-BKjpe"><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/ariannamethod" data-discover="true"><span class="">ariannamethod</span></a></li><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/ariannamethod/netta" data-discover="true"><span class="styles-module__contextCrumbLast__tI2e3">netta</span></a></li></ol></nav></div><div data-testid="top-nav-right" data-component="Stack" class="styles-module__right__mlBQg styles-module__withLocalNavigation__rjTJ_ styles-module__rightWithResponsiveCreateButton__SKn2W prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="start" data-padding="normal"></div></div><h2 class="prc-src-InternalVisuallyHidden-2YaI6">Repository navigation</h2><nav class="prc-components-UnderlineWrapper-eT-Yj prc-UnderlineNav-UnderlineWrapper-GWONT LocalNavigation-module__LocalNavigation__b0Xc0" aria-label="Repository" data-variant="inset" data-overflow-mode="wrap" data-hide-icons-breakpoint="medium"><ul class="prc-UnderlineNav-ItemsList-oj8gN prc-components-UnderlineItemList-xKlKC" role="list"><li role="presentation" aria-hidden="true" class="prc-UnderlineNav-WrapSpacer--aLgz"></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a aria-current="page" data-tab-item="code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" data-content="Code">Code</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="issues" data-react-nav="repo" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/issues" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg></span><span data-component="text" data-content="Issues">Issues</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="pull-requests" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/pulls" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg></span><span data-component="text" data-content="Pull requests">Pull requests</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="actions" data-react-nav="actions-workflows" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/actions" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-play" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path></svg></span><span data-component="text" data-content="Actions">Actions</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="projects" data-react-nav="repo" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/projects" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-table" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path></svg></span><span data-component="text" data-content="Projects">Projects</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="security-and-quality" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/security" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg></span><span data-component="text" data-content="Security and quality">Security and quality</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="insights" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/ariannamethod/netta/pulse" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-graph" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></span><span data-component="text" data-content="Insights">Insights</span></a></li></ul><div class="prc-UnderlineNav-MoreButtonContainer-Dnrq6"><div class="prc-UnderlineNav-MoreButtonDivider-dN0a-"></div><button data-component="overflow-menu-button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk prc-UnderlineNav-MoreButton-Y8soj" data-loading="false" data-size="medium" data-variant="invisible" id="_R_2ktp_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3"><span>More<span class="prc-src-InternalVisuallyHidden-2YaI6"> items</span></span></span></span><span data-component="trailingAction" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></button></div></nav><div class="d-none"></div></header></div>
</react-partial>


  



<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    <div id="repo-content-pjax-container" class="repository-content " >
    



    
      
    








<react-app
  app-name="code-view"
  initial-path="/ariannamethod/netta/blob/main/transfer_check.c"
  style="display: block; min-height: calc(100vh - 64px);"
  data-attempted-ssr="true"
  data-ssr="true"
  data-lazy="false"
  data-alternate="false"
  data-data-router-enabled="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":null},"issueTemplate":null,"discussionTemplate":null,"richText":null,"richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Sha256","fully_qualified_name":"Sha256","kind":"type","ident_start":922,"ident_end":928,"extent_start":813,"extent_end":929,"ident_utf16":{"start":{"line_number":25,"utf16_col":2},"end":{"line_number":25,"utf16_col":8}},"extent_utf16":{"start":{"line_number":20,"utf16_col":0},"end":{"line_number":25,"utf16_col":9}}},{"name":"sha256_rotr","fully_qualified_name":"sha256_rotr","kind":"function","ident_start":1733,"ident_end":1744,"extent_start":1733,"extent_end":1763,"ident_utf16":{"start":{"line_number":38,"utf16_col":16},"end":{"line_number":38,"utf16_col":27}},"extent_utf16":{"start":{"line_number":38,"utf16_col":16},"end":{"line_number":38,"utf16_col":46}}},{"name":"sha256_transform","fully_qualified_name":"sha256_transform","kind":"function","ident_start":1816,"ident_end":1832,"extent_start":1816,"extent_end":1872,"ident_utf16":{"start":{"line_number":40,"utf16_col":12},"end":{"line_number":40,"utf16_col":28}},"extent_utf16":{"start":{"line_number":40,"utf16_col":12},"end":{"line_number":40,"utf16_col":68}}},{"name":"sha256_init","fully_qualified_name":"sha256_init","kind":"function","ident_start":3166,"ident_end":3177,"extent_start":3166,"extent_end":3190,"ident_utf16":{"start":{"line_number":67,"utf16_col":12},"end":{"line_number":67,"utf16_col":23}},"extent_utf16":{"start":{"line_number":67,"utf16_col":12},"end":{"line_number":67,"utf16_col":36}}},{"name":"sha256_update","fully_qualified_name":"sha256_update","kind":"function","ident_start":3462,"ident_end":3475,"extent_start":3462,"extent_end":3527,"ident_utf16":{"start":{"line_number":73,"utf16_col":12},"end":{"line_number":73,"utf16_col":25}},"extent_utf16":{"start":{"line_number":73,"utf16_col":12},"end":{"line_number":73,"utf16_col":77}}},{"name":"sha256_final","fully_qualified_name":"sha256_final","kind":"function","ident_start":3789,"ident_end":3801,"extent_start":3789,"extent_end":3837,"ident_utf16":{"start":{"line_number":85,"utf16_col":12},"end":{"line_number":85,"utf16_col":24}},"extent_utf16":{"start":{"line_number":85,"utf16_col":12},"end":{"line_number":85,"utf16_col":60}}},{"name":"sha256_hex","fully_qualified_name":"sha256_hex","kind":"function","ident_start":4505,"ident_end":4515,"extent_start":4505,"extent_end":4570,"ident_utf16":{"start":{"line_number":105,"utf16_col":12},"end":{"line_number":105,"utf16_col":22}},"extent_utf16":{"start":{"line_number":105,"utf16_col":12},"end":{"line_number":105,"utf16_col":77}}},{"name":"rng_next","fully_qualified_name":"rng_next","kind":"function","ident_start":4899,"ident_end":4907,"extent_start":4899,"extent_end":4924,"ident_utf16":{"start":{"line_number":116,"utf16_col":16},"end":{"line_number":116,"utf16_col":24}},"extent_utf16":{"start":{"line_number":116,"utf16_col":16},"end":{"line_number":116,"utf16_col":41}}},{"name":"read_file","fully_qualified_name":"read_file","kind":"function","ident_start":5109,"ident_end":5118,"extent_start":5109,"extent_end":5151,"ident_utf16":{"start":{"line_number":127,"utf16_col":22},"end":{"line_number":127,"utf16_col":31}},"extent_utf16":{"start":{"line_number":127,"utf16_col":22},"end":{"line_number":127,"utf16_col":64}}},{"name":"build_cipher_perm","fully_qualified_name":"build_cipher_perm","kind":"function","ident_start":5605,"ident_end":5622,"extent_start":5605,"extent_end":5662,"ident_utf16":{"start":{"line_number":142,"utf16_col":12},"end":{"line_number":142,"utf16_col":29}},"extent_utf16":{"start":{"line_number":142,"utf16_col":12},"end":{"line_number":142,"utf16_col":69}}},{"name":"build_w_iso","fully_qualified_name":"build_w_iso","kind":"function","ident_start":5968,"ident_end":5979,"extent_start":5968,"extent_end":6042,"ident_utf16":{"start":{"line_number":152,"utf16_col":22},"end":{"line_number":152,"utf16_col":33}},"extent_utf16":{"start":{"line_number":152,"utf16_col":22},"end":{"line_number":152,"utf16_col":96}}},{"name":"build_w_ghost","fully_qualified_name":"build_w_ghost","kind":"function","ident_start":6184,"ident_end":6197,"extent_start":6184,"extent_end":6270,"ident_utf16":{"start":{"line_number":158,"utf16_col":22},"end":{"line_number":158,"utf16_col":35}},"extent_utf16":{"start":{"line_number":158,"utf16_col":22},"end":{"line_number":158,"utf16_col":108}}},{"name":"WordFreq","fully_qualified_name":"WordFreq","kind":"type","ident_start":7074,"ident_end":7082,"extent_start":6994,"extent_end":7083,"ident_utf16":{"start":{"line_number":181,"utf16_col":80},"end":{"line_number":181,"utf16_col":88}},"extent_utf16":{"start":{"line_number":181,"utf16_col":0},"end":{"line_number":181,"utf16_col":89}}},{"name":"is_ws","fully_qualified_name":"is_ws","kind":"function","ident_start":7096,"ident_end":7101,"extent_start":7096,"extent_end":7118,"ident_utf16":{"start":{"line_number":183,"utf16_col":11},"end":{"line_number":183,"utf16_col":16}},"extent_utf16":{"start":{"line_number":183,"utf16_col":11},"end":{"line_number":183,"utf16_col":33}}},{"name":"build_w_ff","fully_qualified_name":"build_w_ff","kind":"function","ident_start":7433,"ident_end":7443,"extent_start":7433,"extent_end":7623,"ident_utf16":{"start":{"line_number":190,"utf16_col":22},"end":{"line_number":190,"utf16_col":32}},"extent_utf16":{"start":{"line_number":190,"utf16_col":22},"end":{"line_number":192,"utf16_col":84}}},{"name":"Merge","fully_qualified_name":"Merge","kind":"type","ident_start":10648,"ident_end":10653,"extent_start":10615,"extent_end":10654,"ident_utf16":{"start":{"line_number":275,"utf16_col":33},"end":{"line_number":275,"utf16_col":38}},"extent_utf16":{"start":{"line_number":275,"utf16_col":0},"end":{"line_number":275,"utf16_col":39}}},{"name":"TokStream","fully_qualified_name":"TokStream","kind":"type","ident_start":10705,"ident_end":10714,"extent_start":10656,"extent_end":10715,"ident_utf16":{"start":{"line_number":280,"utf16_col":2},"end":{"line_number":280,"utf16_col":11}},"extent_utf16":{"start":{"line_number":277,"utf16_col":0},"end":{"line_number":280,"utf16_col":12}}},{"name":"grow_bpe","fully_qualified_name":"grow_bpe","kind":"function","ident_start":11072,"ident_end":11080,"extent_start":11072,"extent_end":11206,"ident_utf16":{"start":{"line_number":287,"utf16_col":17},"end":{"line_number":287,"utf16_col":25}},"extent_utf16":{"start":{"line_number":287,"utf16_col":17},"end":{"line_number":288,"utf16_col":65}}},{"name":"segment_with_merges","fully_qualified_name":"segment_with_merges","kind":"function","ident_start":13963,"ident_end":13982,"extent_start":13963,"extent_end":14047,"ident_utf16":{"start":{"line_number":357,"utf16_col":17},"end":{"line_number":357,"utf16_col":36}},"extent_utf16":{"start":{"line_number":357,"utf16_col":17},"end":{"line_number":357,"utf16_col":101}}},{"name":"bytes_to_units","fully_qualified_name":"bytes_to_units","kind":"function","ident_start":14969,"ident_end":14983,"extent_start":14969,"extent_end":15015,"ident_utf16":{"start":{"line_number":388,"utf16_col":16},"end":{"line_number":388,"utf16_col":30}},"extent_utf16":{"start":{"line_number":388,"utf16_col":16},"end":{"line_number":388,"utf16_col":62}}},{"name":"Pair2","fully_qualified_name":"Pair2","kind":"type","ident_start":15260,"ident_end":15265,"extent_start":15211,"extent_end":15266,"ident_utf16":{"start":{"line_number":399,"utf16_col":2},"end":{"line_number":399,"utf16_col":7}},"extent_utf16":{"start":{"line_number":396,"utf16_col":0},"end":{"line_number":399,"utf16_col":8}}},{"name":"Pair3","fully_qualified_name":"Pair3","kind":"type","ident_start":15319,"ident_end":15324,"extent_start":15267,"extent_end":15325,"ident_utf16":{"start":{"line_number":403,"utf16_col":2},"end":{"line_number":403,"utf16_col":7}},"extent_utf16":{"start":{"line_number":400,"utf16_col":0},"end":{"line_number":403,"utf16_col":8}}},{"name":"cmp_pair2","fully_qualified_name":"cmp_pair2","kind":"function","ident_start":15338,"ident_end":15347,"extent_start":15338,"extent_end":15377,"ident_utf16":{"start":{"line_number":405,"utf16_col":11},"end":{"line_number":405,"utf16_col":20}},"extent_utf16":{"start":{"line_number":405,"utf16_col":11},"end":{"line_number":405,"utf16_col":50}}},{"name":"cmp_pair3","fully_qualified_name":"cmp_pair3","kind":"function","ident_start":15533,"ident_end":15542,"extent_start":15533,"extent_end":15572,"ident_utf16":{"start":{"line_number":410,"utf16_col":11},"end":{"line_number":410,"utf16_col":20}},"extent_utf16":{"start":{"line_number":410,"utf16_col":11},"end":{"line_number":410,"utf16_col":50}}},{"name":"CountTable","fully_qualified_name":"CountTable","kind":"type","ident_start":16027,"ident_end":16037,"extent_start":15771,"extent_end":16038,"ident_utf16":{"start":{"line_number":424,"utf16_col":2},"end":{"line_number":424,"utf16_col":12}},"extent_utf16":{"start":{"line_number":417,"utf16_col":0},"end":{"line_number":424,"utf16_col":13}}},{"name":"build_n1","fully_qualified_name":"build_n1","kind":"function","ident_start":16053,"ident_end":16061,"extent_start":16053,"extent_end":16097,"ident_utf16":{"start":{"line_number":426,"utf16_col":13},"end":{"line_number":426,"utf16_col":21}},"extent_utf16":{"start":{"line_number":426,"utf16_col":13},"end":{"line_number":426,"utf16_col":57}}},{"name":"rle_pairs2","fully_qualified_name":"rle_pairs2","kind":"function","ident_start":16284,"ident_end":16294,"extent_start":16284,"extent_end":16347,"ident_utf16":{"start":{"line_number":433,"utf16_col":14},"end":{"line_number":433,"utf16_col":24}},"extent_utf16":{"start":{"line_number":433,"utf16_col":14},"end":{"line_number":433,"utf16_col":77}}},{"name":"rle_pairs3","fully_qualified_name":"rle_pairs3","kind":"function","ident_start":16745,"ident_end":16755,"extent_start":16745,"extent_end":16815,"ident_utf16":{"start":{"line_number":446,"utf16_col":14},"end":{"line_number":446,"utf16_col":24}},"extent_utf16":{"start":{"line_number":446,"utf16_col":14},"end":{"line_number":446,"utf16_col":84}}},{"name":"build_counts","fully_qualified_name":"build_counts","kind":"function","ident_start":17249,"ident_end":17261,"extent_start":17249,"extent_end":17297,"ident_utf16":{"start":{"line_number":459,"utf16_col":18},"end":{"line_number":459,"utf16_col":30}},"extent_utf16":{"start":{"line_number":459,"utf16_col":18},"end":{"line_number":459,"utf16_col":66}}},{"name":"free_counts","fully_qualified_name":"free_counts","kind":"function","ident_start":18098,"ident_end":18109,"extent_start":18098,"extent_end":18125,"ident_utf16":{"start":{"line_number":480,"utf16_col":12},"end":{"line_number":480,"utf16_col":23}},"extent_utf16":{"start":{"line_number":480,"utf16_col":12},"end":{"line_number":480,"utf16_col":39}}},{"name":"fwd_lower_bound","fully_qualified_name":"fwd_lower_bound","kind":"function","ident_start":18265,"ident_end":18280,"extent_start":18265,"extent_end":18321,"ident_utf16":{"start":{"line_number":485,"utf16_col":12},"end":{"line_number":485,"utf16_col":27}},"extent_utf16":{"start":{"line_number":485,"utf16_col":12},"end":{"line_number":485,"utf16_col":68}}},{"name":"tri_lower_bound","fully_qualified_name":"tri_lower_bound","kind":"function","ident_start":18475,"ident_end":18490,"extent_start":18475,"extent_end":18542,"ident_utf16":{"start":{"line_number":490,"utf16_col":12},"end":{"line_number":490,"utf16_col":27}},"extent_utf16":{"start":{"line_number":490,"utf16_col":12},"end":{"line_number":490,"utf16_col":79}}},{"name":"ctx2_lookup","fully_qualified_name":"ctx2_lookup","kind":"function","ident_start":18860,"ident_end":18871,"extent_start":18860,"extent_end":18944,"ident_utf16":{"start":{"line_number":502,"utf16_col":12},"end":{"line_number":502,"utf16_col":23}},"extent_utf16":{"start":{"line_number":502,"utf16_col":12},"end":{"line_number":502,"utf16_col":96}}},{"name":"ctx3_lookup","fully_qualified_name":"ctx3_lookup","kind":"function","ident_start":19219,"ident_end":19230,"extent_start":19219,"extent_end":19315,"ident_utf16":{"start":{"line_number":512,"utf16_col":12},"end":{"line_number":512,"utf16_col":23}},"extent_utf16":{"start":{"line_number":512,"utf16_col":12},"end":{"line_number":512,"utf16_col":108}}},{"name":"EPS","fully_qualified_name":"EPS","kind":"macro","ident_start":19613,"ident_end":19616,"extent_start":19605,"extent_end":19621,"ident_utf16":{"start":{"line_number":523,"utf16_col":8},"end":{"line_number":523,"utf16_col":11}},"extent_utf16":{"start":{"line_number":523,"utf16_col":0},"end":{"line_number":524,"utf16_col":0}}},{"name":"P1_of","fully_qualified_name":"P1_of","kind":"function","ident_start":19636,"ident_end":19641,"extent_start":19636,"extent_end":19689,"ident_utf16":{"start":{"line_number":525,"utf16_col":14},"end":{"line_number":525,"utf16_col":19}},"extent_utf16":{"start":{"line_number":525,"utf16_col":14},"end":{"line_number":525,"utf16_col":67}}},{"name":"P2_of","fully_qualified_name":"P2_of","kind":"function","ident_start":19890,"ident_end":19895,"extent_start":19890,"extent_end":19955,"ident_utf16":{"start":{"line_number":530,"utf16_col":14},"end":{"line_number":530,"utf16_col":19}},"extent_utf16":{"start":{"line_number":530,"utf16_col":14},"end":{"line_number":530,"utf16_col":79}}},{"name":"P3_of","fully_qualified_name":"P3_of","kind":"function","ident_start":20159,"ident_end":20164,"extent_start":20159,"extent_end":20236,"ident_utf16":{"start":{"line_number":536,"utf16_col":14},"end":{"line_number":536,"utf16_col":19}},"extent_utf16":{"start":{"line_number":536,"utf16_col":14},"end":{"line_number":536,"utf16_col":91}}},{"name":"price_unit","fully_qualified_name":"price_unit","kind":"function","ident_start":20691,"ident_end":20701,"extent_start":20691,"extent_end":20818,"ident_utf16":{"start":{"line_number":547,"utf16_col":14},"end":{"line_number":547,"utf16_col":24}},"extent_utf16":{"start":{"line_number":547,"utf16_col":14},"end":{"line_number":548,"utf16_col":60}}},{"name":"build_unit_len","fully_qualified_name":"build_unit_len","kind":"function","ident_start":21085,"ident_end":21099,"extent_start":21085,"extent_end":21134,"ident_utf16":{"start":{"line_number":556,"utf16_col":13},"end":{"line_number":556,"utf16_col":27}},"extent_utf16":{"start":{"line_number":556,"utf16_col":13},"end":{"line_number":556,"utf16_col":62}}},{"name":"build_dist_pairs","fully_qualified_name":"build_dist_pairs","kind":"function","ident_start":21390,"ident_end":21406,"extent_start":21390,"extent_end":21454,"ident_utf16":{"start":{"line_number":564,"utf16_col":14},"end":{"line_number":564,"utf16_col":30}},"extent_utf16":{"start":{"line_number":564,"utf16_col":14},"end":{"line_number":564,"utf16_col":78}}},{"name":"build_reverse_pairs","fully_qualified_name":"build_reverse_pairs","kind":"function","ident_start":21776,"ident_end":21795,"extent_start":21776,"extent_end":21825,"ident_utf16":{"start":{"line_number":574,"utf16_col":14},"end":{"line_number":574,"utf16_col":33}},"extent_utf16":{"start":{"line_number":574,"utf16_col":14},"end":{"line_number":574,"utf16_col":63}}},{"name":"NDESC","fully_qualified_name":"NDESC","kind":"macro","ident_start":22082,"ident_end":22087,"extent_start":22074,"extent_end":22091,"ident_utf16":{"start":{"line_number":581,"utf16_col":8},"end":{"line_number":581,"utf16_col":13}},"extent_utf16":{"start":{"line_number":581,"utf16_col":0},"end":{"line_number":582,"utf16_col":0}}},{"name":"Descriptors","fully_qualified_name":"Descriptors","kind":"type","ident_start":22279,"ident_end":22290,"extent_start":22092,"extent_end":22291,"ident_utf16":{"start":{"line_number":588,"utf16_col":2},"end":{"line_number":588,"utf16_col":13}},"extent_utf16":{"start":{"line_number":583,"utf16_col":0},"end":{"line_number":588,"utf16_col":14}}},{"name":"for_each_group","fully_qualified_name":"for_each_group","kind":"function","ident_start":22397,"ident_end":22411,"extent_start":22397,"extent_end":22502,"ident_utf16":{"start":{"line_number":591,"utf16_col":12},"end":{"line_number":591,"utf16_col":26}},"extent_utf16":{"start":{"line_number":591,"utf16_col":12},"end":{"line_number":591,"utf16_col":117}}},{"name":"EntropyCtx","fully_qualified_name":"EntropyCtx","kind":"type","ident_start":22752,"ident_end":22762,"extent_start":22667,"extent_end":22763,"ident_utf16":{"start":{"line_number":605,"utf16_col":2},"end":{"line_number":605,"utf16_col":12}},"extent_utf16":{"start":{"line_number":601,"utf16_col":0},"end":{"line_number":605,"utf16_col":13}}},{"name":"entropy_pass","fully_qualified_name":"entropy_pass","kind":"function","ident_start":22777,"ident_end":22789,"extent_start":22777,"extent_end":22834,"ident_utf16":{"start":{"line_number":607,"utf16_col":12},"end":{"line_number":607,"utf16_col":24}},"extent_utf16":{"start":{"line_number":607,"utf16_col":12},"end":{"line_number":607,"utf16_col":69}}},{"name":"LeftCtx","fully_qualified_name":"LeftCtx","kind":"type","ident_start":23791,"ident_end":23798,"extent_start":23720,"extent_end":23799,"ident_utf16":{"start":{"line_number":636,"utf16_col":2},"end":{"line_number":636,"utf16_col":9}},"extent_utf16":{"start":{"line_number":632,"utf16_col":0},"end":{"line_number":636,"utf16_col":10}}},{"name":"left_entropy_pass","fully_qualified_name":"left_entropy_pass","kind":"function","ident_start":23813,"ident_end":23830,"extent_start":23813,"extent_end":23875,"ident_utf16":{"start":{"line_number":638,"utf16_col":12},"end":{"line_number":638,"utf16_col":29}},"extent_utf16":{"start":{"line_number":638,"utf16_col":12},"end":{"line_number":638,"utf16_col":74}}},{"name":"ConcCtx","fully_qualified_name":"ConcCtx","kind":"type","ident_start":24458,"ident_end":24465,"extent_start":24346,"extent_end":24466,"ident_utf16":{"start":{"line_number":657,"utf16_col":2},"end":{"line_number":657,"utf16_col":9}},"extent_utf16":{"start":{"line_number":652,"utf16_col":0},"end":{"line_number":657,"utf16_col":10}}},{"name":"concentration_pass","fully_qualified_name":"concentration_pass","kind":"function","ident_start":24480,"ident_end":24498,"extent_start":24480,"extent_end":24543,"ident_utf16":{"start":{"line_number":659,"utf16_col":12},"end":{"line_number":659,"utf16_col":30}},"extent_utf16":{"start":{"line_number":659,"utf16_col":12},"end":{"line_number":659,"utf16_col":75}}},{"name":"RefineCtx","fully_qualified_name":"RefineCtx","kind":"type","ident_start":25147,"ident_end":25156,"extent_start":25076,"extent_end":25157,"ident_utf16":{"start":{"line_number":678,"utf16_col":2},"end":{"line_number":678,"utf16_col":11}},"extent_utf16":{"start":{"line_number":674,"utf16_col":0},"end":{"line_number":678,"utf16_col":12}}},{"name":"refine_pass","fully_qualified_name":"refine_pass","kind":"function","ident_start":25171,"ident_end":25182,"extent_start":25171,"extent_end":25227,"ident_utf16":{"start":{"line_number":680,"utf16_col":12},"end":{"line_number":680,"utf16_col":23}},"extent_utf16":{"start":{"line_number":680,"utf16_col":12},"end":{"line_number":680,"utf16_col":68}}},{"name":"compute_descriptors","fully_qualified_name":"compute_descriptors","kind":"function","ident_start":25720,"ident_end":25739,"extent_start":25720,"extent_end":25809,"ident_utf16":{"start":{"line_number":695,"utf16_col":19},"end":{"line_number":695,"utf16_col":38}},"extent_utf16":{"start":{"line_number":695,"utf16_col":19},"end":{"line_number":695,"utf16_col":108}}},{"name":"free_descriptors","fully_qualified_name":"free_descriptors","kind":"function","ident_start":27742,"ident_end":27758,"extent_start":27742,"extent_end":27774,"ident_utf16":{"start":{"line_number":744,"utf16_col":12},"end":{"line_number":744,"utf16_col":28}},"extent_utf16":{"start":{"line_number":744,"utf16_col":12},"end":{"line_number":744,"utf16_col":44}}},{"name":"zdist","fully_qualified_name":"zdist","kind":"function","ident_start":27840,"ident_end":27845,"extent_start":27840,"extent_end":27912,"ident_utf16":{"start":{"line_number":748,"utf16_col":14},"end":{"line_number":748,"utf16_col":19}},"extent_utf16":{"start":{"line_number":748,"utf16_col":14},"end":{"line_number":748,"utf16_col":86}}},{"name":"ByteStr","fully_qualified_name":"ByteStr","kind":"type","ident_start":28220,"ident_end":28227,"extent_start":28171,"extent_end":28228,"ident_utf16":{"start":{"line_number":759,"utf16_col":49},"end":{"line_number":759,"utf16_col":56}},"extent_utf16":{"start":{"line_number":759,"utf16_col":0},"end":{"line_number":759,"utf16_col":57}}},{"name":"build_bytestrings","fully_qualified_name":"build_bytestrings","kind":"function","ident_start":28246,"ident_end":28263,"extent_start":28246,"extent_end":28298,"ident_utf16":{"start":{"line_number":761,"utf16_col":16},"end":{"line_number":761,"utf16_col":33}},"extent_utf16":{"start":{"line_number":761,"utf16_col":16},"end":{"line_number":761,"utf16_col":68}}},{"name":"free_bytestrings","fully_qualified_name":"free_bytestrings","kind":"function","ident_start":28872,"ident_end":28888,"extent_start":28872,"extent_end":28909,"ident_utf16":{"start":{"line_number":775,"utf16_col":12},"end":{"line_number":775,"utf16_col":28}},"extent_utf16":{"start":{"line_number":775,"utf16_col":12},"end":{"line_number":775,"utf16_col":49}}},{"name":"XformKind","fully_qualified_name":"XformKind","kind":"type","ident_start":29120,"ident_end":29129,"extent_start":29068,"extent_end":29130,"ident_utf16":{"start":{"line_number":782,"utf16_col":52},"end":{"line_number":782,"utf16_col":61}},"extent_utf16":{"start":{"line_number":782,"utf16_col":0},"end":{"line_number":782,"utf16_col":62}}},{"name":"OracleXform","fully_qualified_name":"OracleXform","kind":"type","ident_start":29265,"ident_end":29276,"extent_start":29131,"extent_end":29277,"ident_utf16":{"start":{"line_number":788,"utf16_col":2},"end":{"line_number":788,"utf16_col":13}},"extent_utf16":{"start":{"line_number":783,"utf16_col":0},"end":{"line_number":788,"utf16_col":14}}},{"name":"xform_apply","fully_qualified_name":"xform_apply","kind":"function","ident_start":29291,"ident_end":29302,"extent_start":29291,"extent_end":29393,"ident_utf16":{"start":{"line_number":790,"utf16_col":12},"end":{"line_number":790,"utf16_col":23}},"extent_utf16":{"start":{"line_number":790,"utf16_col":12},"end":{"line_number":790,"utf16_col":114}}},{"name":"BSEntry","fully_qualified_name":"BSEntry","kind":"type","ident_start":30233,"ident_end":30240,"extent_start":30166,"extent_end":30241,"ident_utf16":{"start":{"line_number":814,"utf16_col":67},"end":{"line_number":814,"utf16_col":74}},"extent_utf16":{"start":{"line_number":814,"utf16_col":0},"end":{"line_number":814,"utf16_col":75}}},{"name":"cmp_bsentry","fully_qualified_name":"cmp_bsentry","kind":"function","ident_start":30253,"ident_end":30264,"extent_start":30253,"extent_end":30294,"ident_utf16":{"start":{"line_number":815,"utf16_col":11},"end":{"line_number":815,"utf16_col":22}},"extent_utf16":{"start":{"line_number":815,"utf16_col":11},"end":{"line_number":815,"utf16_col":52}}},{"name":"OracleMap","fully_qualified_name":"OracleMap","kind":"type","ident_start":30550,"ident_end":30559,"extent_start":30507,"extent_end":30560,"ident_utf16":{"start":{"line_number":823,"utf16_col":43},"end":{"line_number":823,"utf16_col":52}},"extent_utf16":{"start":{"line_number":823,"utf16_col":0},"end":{"line_number":823,"utf16_col":53}}},{"name":"build_oracle_map","fully_qualified_name":"build_oracle_map","kind":"function","ident_start":30579,"ident_end":30595,"extent_start":30579,"extent_end":30689,"ident_utf16":{"start":{"line_number":825,"utf16_col":17},"end":{"line_number":825,"utf16_col":33}},"extent_utf16":{"start":{"line_number":825,"utf16_col":17},"end":{"line_number":825,"utf16_col":127}}},{"name":"free_oracle_map","fully_qualified_name":"free_oracle_map","kind":"function","ident_start":31894,"ident_end":31909,"extent_start":31894,"extent_end":31923,"ident_utf16":{"start":{"line_number":852,"utf16_col":12},"end":{"line_number":852,"utf16_col":27}},"extent_utf16":{"start":{"line_number":852,"utf16_col":12},"end":{"line_number":852,"utf16_col":41}}},{"name":"AlignMap","fully_qualified_name":"AlignMap","kind":"type","ident_start":32090,"ident_end":32098,"extent_start":32013,"extent_end":32099,"ident_utf16":{"start":{"line_number":856,"utf16_col":77},"end":{"line_number":856,"utf16_col":85}},"extent_utf16":{"start":{"line_number":856,"utf16_col":0},"end":{"line_number":856,"utf16_col":86}}},{"name":"FreqItem","fully_qualified_name":"FreqItem","kind":"type","ident_start":32143,"ident_end":32151,"extent_start":32101,"extent_end":32152,"ident_utf16":{"start":{"line_number":858,"utf16_col":42},"end":{"line_number":858,"utf16_col":50}},"extent_utf16":{"start":{"line_number":858,"utf16_col":0},"end":{"line_number":858,"utf16_col":51}}},{"name":"cmp_freq_desc","fully_qualified_name":"cmp_freq_desc","kind":"function","ident_start":32164,"ident_end":32177,"extent_start":32164,"extent_end":32207,"ident_utf16":{"start":{"line_number":859,"utf16_col":11},"end":{"line_number":859,"utf16_col":24}},"extent_utf16":{"start":{"line_number":859,"utf16_col":11},"end":{"line_number":859,"utf16_col":54}}},{"name":"CandPair","fully_qualified_name":"CandPair","kind":"type","ident_start":32393,"ident_end":32401,"extent_start":32345,"extent_end":32402,"ident_utf16":{"start":{"line_number":864,"utf16_col":48},"end":{"line_number":864,"utf16_col":56}},"extent_utf16":{"start":{"line_number":864,"utf16_col":0},"end":{"line_number":864,"utf16_col":57}}},{"name":"cmp_candpair","fully_qualified_name":"cmp_candpair","kind":"function","ident_start":32414,"ident_end":32426,"extent_start":32414,"extent_end":32456,"ident_utf16":{"start":{"line_number":865,"utf16_col":11},"end":{"line_number":865,"utf16_col":23}},"extent_utf16":{"start":{"line_number":865,"utf16_col":11},"end":{"line_number":865,"utf16_col":53}}},{"name":"build_align_map","fully_qualified_name":"build_align_map","kind":"function","ident_start":32688,"ident_end":32703,"extent_start":32688,"extent_end":32875,"ident_utf16":{"start":{"line_number":872,"utf16_col":16},"end":{"line_number":872,"utf16_col":31}},"extent_utf16":{"start":{"line_number":872,"utf16_col":16},"end":{"line_number":874,"utf16_col":53}}},{"name":"free_align_map","fully_qualified_name":"free_align_map","kind":"function","ident_start":34845,"ident_end":34859,"extent_start":34845,"extent_end":34872,"ident_utf16":{"start":{"line_number":918,"utf16_col":12},"end":{"line_number":918,"utf16_col":26}},"extent_utf16":{"start":{"line_number":918,"utf16_col":12},"end":{"line_number":918,"utf16_col":39}}},{"name":"align_style_prior_raw","fully_qualified_name":"align_style_prior_raw","kind":"function","ident_start":35354,"ident_end":35375,"extent_start":35354,"extent_end":35608,"ident_utf16":{"start":{"line_number":926,"utf16_col":14},"end":{"line_number":926,"utf16_col":35}},"extent_utf16":{"start":{"line_number":926,"utf16_col":14},"end":{"line_number":928,"utf16_col":84}}},{"name":"get_top4_right","fully_qualified_name":"get_top4_right","kind":"function","ident_start":36520,"ident_end":36534,"extent_start":36520,"extent_end":36612,"ident_utf16":{"start":{"line_number":954,"utf16_col":12},"end":{"line_number":954,"utf16_col":26}},"extent_utf16":{"start":{"line_number":954,"utf16_col":12},"end":{"line_number":954,"utf16_col":104}}},{"name":"CacheCtxInfo","fully_qualified_name":"CacheCtxInfo","kind":"type","ident_start":37517,"ident_end":37529,"extent_start":37418,"extent_end":37530,"ident_utf16":{"start":{"line_number":981,"utf16_col":2},"end":{"line_number":981,"utf16_col":14}},"extent_utf16":{"start":{"line_number":977,"utf16_col":0},"end":{"line_number":981,"utf16_col":15}}},{"name":"min_zdist_to_top4","fully_qualified_name":"min_zdist_to_top4","kind":"function","ident_start":37546,"ident_end":37563,"extent_start":37546,"extent_end":37703,"ident_utf16":{"start":{"line_number":983,"utf16_col":14},"end":{"line_number":983,"utf16_col":31}},"extent_utf16":{"start":{"line_number":983,"utf16_col":14},"end":{"line_number":984,"utf16_col":82}}},{"name":"compute_cache_ctx","fully_qualified_name":"compute_cache_ctx","kind":"function","ident_start":37997,"ident_end":38014,"extent_start":37997,"extent_end":38168,"ident_utf16":{"start":{"line_number":995,"utf16_col":20},"end":{"line_number":995,"utf16_col":37}},"extent_utf16":{"start":{"line_number":995,"utf16_col":20},"end":{"line_number":996,"utf16_col":95}}},{"name":"cache_prior_raw","fully_qualified_name":"cache_prior_raw","kind":"function","ident_start":39488,"ident_end":39503,"extent_start":39488,"extent_end":39642,"ident_utf16":{"start":{"line_number":1031,"utf16_col":14},"end":{"line_number":1031,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1031,"utf16_col":14},"end":{"line_number":1032,"utf16_col":66}}},{"name":"ArmLedger","fully_qualified_name":"ArmLedger","kind":"type","ident_start":40064,"ident_end":40073,"extent_start":40008,"extent_end":40074,"ident_utf16":{"start":{"line_number":1042,"utf16_col":56},"end":{"line_number":1042,"utf16_col":65}},"extent_utf16":{"start":{"line_number":1042,"utf16_col":0},"end":{"line_number":1042,"utf16_col":66}}},{"name":"price_with_ledger","fully_qualified_name":"price_with_ledger","kind":"function","ident_start":40358,"ident_end":40375,"extent_start":40358,"extent_end":40448,"ident_utf16":{"start":{"line_number":1048,"utf16_col":14},"end":{"line_number":1048,"utf16_col":31}},"extent_utf16":{"start":{"line_number":1048,"utf16_col":14},"end":{"line_number":1048,"utf16_col":104}}},{"name":"escape_mix","fully_qualified_name":"escape_mix","kind":"function","ident_start":41183,"ident_end":41193,"extent_start":41183,"extent_end":41221,"ident_utf16":{"start":{"line_number":1072,"utf16_col":14},"end":{"line_number":1072,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1072,"utf16_col":14},"end":{"line_number":1072,"utf16_col":52}}},{"name":"ArmId","fully_qualified_name":"ArmId","kind":"type","ident_start":41423,"ident_end":41428,"extent_start":41333,"extent_end":41429,"ident_utf16":{"start":{"line_number":1078,"utf16_col":90},"end":{"line_number":1078,"utf16_col":95}},"extent_utf16":{"start":{"line_number":1078,"utf16_col":0},"end":{"line_number":1078,"utf16_col":96}}},{"name":"ArmChunkResult","fully_qualified_name":"ArmChunkResult","kind":"type","ident_start":41683,"ident_end":41697,"extent_start":41518,"extent_end":41698,"ident_utf16":{"start":{"line_number":1087,"utf16_col":2},"end":{"line_number":1087,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1081,"utf16_col":0},"end":{"line_number":1087,"utf16_col":17}}},{"name":"APast","fully_qualified_name":"APast","kind":"type","ident_start":41943,"ident_end":41948,"extent_start":41766,"extent_end":41949,"ident_utf16":{"start":{"line_number":1100,"utf16_col":2},"end":{"line_number":1100,"utf16_col":7}},"extent_utf16":{"start":{"line_number":1091,"utf16_col":0},"end":{"line_number":1100,"utf16_col":8}}},{"name":"build_a_past","fully_qualified_name":"build_a_past","kind":"function","ident_start":41964,"ident_end":41976,"extent_start":41964,"extent_end":42016,"ident_utf16":{"start":{"line_number":1102,"utf16_col":13},"end":{"line_number":1102,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1102,"utf16_col":13},"end":{"line_number":1102,"utf16_col":65}}},{"name":"prove_isomorphism","fully_qualified_name":"prove_isomorphism","kind":"function","ident_start":42659,"ident_end":42676,"extent_start":42659,"extent_end":42908,"ident_utf16":{"start":{"line_number":1118,"utf16_col":12},"end":{"line_number":1118,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1118,"utf16_col":12},"end":{"line_number":1120,"utf16_col":54}}},{"name":"build_shuffle_map","fully_qualified_name":"build_shuffle_map","kind":"function","ident_start":43934,"ident_end":43951,"extent_start":43934,"extent_end":43989,"ident_utf16":{"start":{"line_number":1144,"utf16_col":16},"end":{"line_number":1144,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1144,"utf16_col":16},"end":{"line_number":1144,"utf16_col":71}}},{"name":"CourtResult","fully_qualified_name":"CourtResult","kind":"type","ident_start":44876,"ident_end":44887,"extent_start":44805,"extent_end":44888,"ident_utf16":{"start":{"line_number":1169,"utf16_col":2},"end":{"line_number":1169,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1166,"utf16_col":0},"end":{"line_number":1169,"utf16_col":14}}},{"name":"WARMUP_BYTES","fully_qualified_name":"WARMUP_BYTES","kind":"macro","ident_start":44898,"ident_end":44910,"extent_start":44890,"extent_end":44917,"ident_utf16":{"start":{"line_number":1171,"utf16_col":8},"end":{"line_number":1171,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1171,"utf16_col":0},"end":{"line_number":1172,"utf16_col":0}}},{"name":"run_full_court","fully_qualified_name":"run_full_court","kind":"function","ident_start":44937,"ident_end":44951,"extent_start":44937,"extent_end":45163,"ident_utf16":{"start":{"line_number":1173,"utf16_col":19},"end":{"line_number":1173,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1173,"utf16_col":19},"end":{"line_number":1175,"utf16_col":58}}},{"name":"main","fully_qualified_name":"main","kind":"function","ident_start":53963,"ident_end":53967,"extent_start":53963,"extent_end":53973,"ident_utf16":{"start":{"line_number":1346,"utf16_col":4},"end":{"line_number":1346,"utf16_col":8}},"extent_utf16":{"start":{"line_number":1346,"utf16_col":4},"end":{"line_number":1346,"utf16_col":14}}}]}},"codeViewLayoutRoute":{"repo":{"id":1319338810,"defaultBranch":"main","name":"netta","ownerLogin":"ariannamethod","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2026-08-01T13:59:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/211269477?v=4","public":true,"private":false,"isOrgOwned":false,"isArchived":false},"currentUser":null,"uploadToken":"05M47k604rFNbOKas9YdfLSz_5jsPe9TJL44Yuy3u4FYfGtp-vrHh7AKos4zxPtqgvIFsTDft1AaMzqh5ziGjg","allShortcutsEnabled":false,"treeExpanded":true,"path":"transfer_check.c","symbolsExpanded":false,"refInfo":{"name":"main","listCacheKey":"v0:1791156330.0","canEdit":false,"currentOid":"896a7686dbe9027c26e975a446398e854dda6a72"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":"body0","path":"body0","contentType":"directory"},{"name":"byte_recurrence","path":"byte_recurrence","contentType":"directory"},{"name":"court4","path":"court4","contentType":"directory"},{"name":"portable_recurrence","path":"portable_recurrence","contentType":"directory"},{"name":"speech_court","path":"speech_court","contentType":"directory"},{"name":"transfer0","path":"transfer0","contentType":"directory"},{"name":"turns","path":"turns","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"ARIANNA_METHOD_MANIFESTO.md","path":"ARIANNA_METHOD_MANIFESTO.md","contentType":"file"},{"name":"BANK_PROPOSAL.md","path":"BANK_PROPOSAL.md","contentType":"file"},{"name":"CLAUDE.md","path":"CLAUDE.md","contentType":"file"},{"name":"COURT2_SNAPSHOT.md","path":"COURT2_SNAPSHOT.md","contentType":"file"},{"name":"INVARIANTS.md","path":"INVARIANTS.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"MOUTH_PROTOCOL.md","path":"MOUTH_PROTOCOL.md","contentType":"file"},{"name":"MOUTH_PROTOCOL_A1.md","path":"MOUTH_PROTOCOL_A1.md","contentType":"file"},{"name":"MOUTH_PROTOCOL_A2.md","path":"MOUTH_PROTOCOL_A2.md","contentType":"file"},{"name":"MOUTH_PROTOCOL_A3.md","path":"MOUTH_PROTOCOL_A3.md","contentType":"file"},{"name":"NETTALOG0.md","path":"NETTALOG0.md","contentType":"file"},{"name":"PARITY.md","path":"PARITY.md","contentType":"file"},{"name":"PROTOCOL.md","path":"PROTOCOL.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SPEECH_COURT.md","path":"SPEECH_COURT.md","contentType":"file"},{"name":"TRANSFER_PROTOCOL.md","path":"TRANSFER_PROTOCOL.md","contentType":"file"},{"name":"mapdiag.c","path":"mapdiag.c","contentType":"file"},{"name":"netta.c","path":"netta.c","contentType":"file"},{"name":"netta.py","path":"netta.py","contentType":"file"},{"name":"netta.txt","path":"netta.txt","contentType":"file"},{"name":"netta_check.c","path":"netta_check.c","contentType":"file"},{"name":"netta_mouth.c","path":"netta_mouth.c","contentType":"file"},{"name":"netta_mouth_check.c","path":"netta_mouth_check.c","contentType":"file"},{"name":"transfer.c","path":"transfer.c","contentType":"file"},{"name":"transfer_check.c","path":"transfer_check.c","contentType":"file"}],"totalCount":33}},"fileTreeProcessingTime":65.73604800000001,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"main","listCacheKey":"v0:1791156330.0","canEdit":false,"refType":"branch","currentOid":"896a7686dbe9027c26e975a446398e854dda6a72","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"transfer_check.c","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/ariannamethod/netta/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"transfer_check.c","displayUrl":"https://github.com/ariannamethod/netta/blob/main/transfer_check.c?raw=true","headerInfo":{"blobSize":"68.4 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"4e3f50e","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fariannamethod%2Fnetta%2Fblob%2Fmain%2Ftransfer_check.c","isCSV":false,"isRichtext":false,"lineInfo":{"truncatedLoc":"1654","truncatedSloc":"1491"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/ariannamethod/netta/blob/main/transfer_check.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/ariannamethod/netta/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/ariannamethod/netta/raw/refs/heads/main/transfer_check.c","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":null,"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["/* transfer_check.c — independent verifier for the NETTA transfer court."," * Law: TRANSFER_PROTOCOL.md (SHA-256 230030d7...1dd72), consulted alone,"," * plus PROTOCOL.md of Body 0 for the probability chain it references."," * Written without reading transfer.c, netta.c or netta_check.c."," *"," * Stage 1: worlds, BPE growth (permutation-equivariant tie-break),"," * cipher isomorphism proof, ghost raw invariants, and the prequential"," * LOCAL pricing loop (cold arm) for all three worlds. Stage 2 (in a"," * later edit of this same file) adds descriptors, cache/align/oracle/"," * shuffled priors, the shadow/earn/revoke ledger, G_N and verdicts."," */","","#include \u003cstdio.h\u003e","#include \u003cstdlib.h\u003e","#include \u003cstring.h\u003e","#include \u003cstdint.h\u003e","#include \u003cmath.h\u003e","","/* ---------------- SHA-256 (public domain, compact) ---------------- */","","typedef struct {","    uint32_t state[8];","    uint64_t bitlen;","    unsigned char buf[64];","    size_t buflen;","} Sha256;","","static const uint32_t sha256_k[64] = {","    0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,","    0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,","    0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,","    0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,","    0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,","    0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,","    0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,","    0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2","};","","static uint32_t sha256_rotr(uint32_t x, int n) { return (x \u003e\u003e n) | (x \u003c\u003c (32 - n)); }","","static void sha256_transform(Sha256 *ctx, const unsigned char *data) {","    uint32_t m[64], a, b, c, d, e, f, g, h, t1, t2;","    int i;","    for (i = 0; i \u003c 16; i++)","        m[i] = ((uint32_t)data[i*4] \u003c\u003c 24) | ((uint32_t)data[i*4+1] \u003c\u003c 16) |","               ((uint32_t)data[i*4+2] \u003c\u003c 8) | ((uint32_t)data[i*4+3]);","    for (i = 16; i \u003c 64; i++) {","        uint32_t s0 = sha256_rotr(m[i-15], 7) ^ sha256_rotr(m[i-15], 18) ^ (m[i-15] \u003e\u003e 3);","        uint32_t s1 = sha256_rotr(m[i-2], 17) ^ sha256_rotr(m[i-2], 19) ^ (m[i-2] \u003e\u003e 10);","        m[i] = m[i-16] + s0 + m[i-7] + s1;","    }","    a = ctx-\u003estate[0]; b = ctx-\u003estate[1]; c = ctx-\u003estate[2]; d = ctx-\u003estate[3];","    e = ctx-\u003estate[4]; f = ctx-\u003estate[5]; g = ctx-\u003estate[6]; h = ctx-\u003estate[7];","    for (i = 0; i \u003c 64; i++) {","        uint32_t S1 = sha256_rotr(e,6) ^ sha256_rotr(e,11) ^ sha256_rotr(e,25);","        uint32_t ch = (e \u0026 f) ^ ((~e) \u0026 g);","        t1 = h + S1 + ch + sha256_k[i] + m[i];","        uint32_t S0 = sha256_rotr(a,2) ^ sha256_rotr(a,13) ^ sha256_rotr(a,22);","        uint32_t maj = (a \u0026 b) ^ (a \u0026 c) ^ (b \u0026 c);","        t2 = S0 + maj;","        h = g; g = f; f = e; e = d + t1;","        d = c; c = b; b = a; a = t1 + t2;","    }","    ctx-\u003estate[0] += a; ctx-\u003estate[1] += b; ctx-\u003estate[2] += c; ctx-\u003estate[3] += d;","    ctx-\u003estate[4] += e; ctx-\u003estate[5] += f; ctx-\u003estate[6] += g; ctx-\u003estate[7] += h;","}","","static void sha256_init(Sha256 *ctx) {","    ctx-\u003estate[0]=0x6a09e667; ctx-\u003estate[1]=0xbb67ae85; ctx-\u003estate[2]=0x3c6ef372; ctx-\u003estate[3]=0xa54ff53a;","    ctx-\u003estate[4]=0x510e527f; ctx-\u003estate[5]=0x9b05688c; ctx-\u003estate[6]=0x1f83d9ab; ctx-\u003estate[7]=0x5be0cd19;","    ctx-\u003ebitlen = 0; ctx-\u003ebuflen = 0;","}","","static void sha256_update(Sha256 *ctx, const unsigned char *data, size_t len) {","    size_t i;","    for (i = 0; i \u003c len; i++) {","        ctx-\u003ebuf[ctx-\u003ebuflen++] = data[i];","        if (ctx-\u003ebuflen == 64) {","            sha256_transform(ctx, ctx-\u003ebuf);","            ctx-\u003ebitlen += 512;","            ctx-\u003ebuflen = 0;","        }","    }","}","","static void sha256_final(Sha256 *ctx, unsigned char out[32]) {","    size_t i = ctx-\u003ebuflen;","    ctx-\u003ebitlen += (uint64_t)ctx-\u003ebuflen * 8;","    ctx-\u003ebuf[i++] = 0x80;","    if (i \u003e 56) {","        while (i \u003c 64) ctx-\u003ebuf[i++] = 0;","        sha256_transform(ctx, ctx-\u003ebuf);","        i = 0;","    }","    while (i \u003c 56) ctx-\u003ebuf[i++] = 0;","    for (int k = 7; k \u003e= 0; k--) ctx-\u003ebuf[i++] = (unsigned char)(ctx-\u003ebitlen \u003e\u003e (k*8));","    sha256_transform(ctx, ctx-\u003ebuf);","    for (i = 0; i \u003c 8; i++) {","        out[i*4]   = (unsigned char)(ctx-\u003estate[i] \u003e\u003e 24);","        out[i*4+1] = (unsigned char)(ctx-\u003estate[i] \u003e\u003e 16);","        out[i*4+2] = (unsigned char)(ctx-\u003estate[i] \u003e\u003e 8);","        out[i*4+3] = (unsigned char)(ctx-\u003estate[i]);","    }","}","","static void sha256_hex(const unsigned char *data, long len, char out_hex[65]) {","    Sha256 ctx; unsigned char digest[32];","    sha256_init(\u0026ctx);","    sha256_update(\u0026ctx, data, (size_t)len);","    sha256_final(\u0026ctx, digest);","    for (int i = 0; i \u003c 32; i++) sprintf(out_hex + i*2, \"%02x\", digest[i]);","    out_hex[64] = 0;","}","","/* ---------------- xorshift64 RNG (frozen law) ---------------- */","","static uint64_t rng_next(uint64_t *state) {","    uint64_t x = *state;","    x ^= x \u003c\u003c 13;","    x ^= x \u003e\u003e 7;","    x ^= x \u003c\u003c 17;","    *state = x;","    return x;","}","","/* ---------------- file IO ---------------- */","","static unsigned char *read_file(const char *path, long *out_len) {","    FILE *f = fopen(path, \"rb\");","    if (!f) { fprintf(stderr, \"cannot open %s\\n\", path); exit(1); }","    fseek(f, 0, SEEK_END);","    long n = ftell(f);","    fseek(f, 0, SEEK_SET);","    unsigned char *buf = malloc((size_t)n);","    if (fread(buf, 1, (size_t)n, f) != (size_t)n) { fprintf(stderr, \"short read %s\\n\", path); exit(1); }","    fclose(f);","    *out_len = n;","    return buf;","}","","/* ---------------- World construction ---------------- */","","static void build_cipher_perm(unsigned char perm[256], uint64_t seed) {","    uint64_t st = seed;","    for (int i = 0; i \u003c 256; i++) perm[i] = (unsigned char)i;","    for (int i = 255; i \u003e= 1; i--) {","        uint64_t r = rng_next(\u0026st);","        int j = (int)(r % (uint64_t)(i + 1));","        unsigned char t = perm[i]; perm[i] = perm[j]; perm[j] = t;","    }","}","","static unsigned char *build_w_iso(const unsigned char *A, long n, const unsigned char perm[256]) {","    unsigned char *out = malloc((size_t)n);","    for (long i = 0; i \u003c n; i++) out[i] = perm[A[i]];","    return out;","}","","static unsigned char *build_w_ghost(const unsigned char *A_train, long train_len, long out_n, uint64_t seed) {","    long counts[256] = {0};","    for (long i = 0; i \u003c train_len; i++) counts[A_train[i]]++;","    long cum[257]; cum[0] = 0;","    for (int b = 0; b \u003c 256; b++) cum[b+1] = cum[b] + counts[b];","    long total = train_len;","    unsigned char *out = malloc((size_t)out_n);","    uint64_t st = seed;","    for (long i = 0; i \u003c out_n; i++) {","        uint64_t r = rng_next(\u0026st);","        long v = (long)(r % (uint64_t)total);","        int lo = 0, hi = 255, b = 0;","        /* binary search: cum[b] \u003c= v \u003c cum[b+1] */","        while (lo \u003c= hi) {","            int mid = (lo + hi) / 2;","            if (v \u003c cum[mid+1]) { b = mid; hi = mid - 1; }","            else lo = mid + 1;","        }","        out[i] = (unsigned char)b;","    }","    return out;","}","","typedef struct { unsigned char word[32]; int len; long count; long first_pos; } WordFreq;","","static int is_ws(unsigned char c) {","    return c==' '||c=='\\t'||c=='\\n'||c=='\\r'||c=='\\v'||c=='\\f';","}","","/* Returns malloc'd output buffer, sets out_n. pairs[16][2][32] hold the"," * swapped words (rank order 0..15) and their lengths in pair_len[16][2],"," * for reporting; swap_map is filled with the from/to byte-strings used. */","static unsigned char *build_w_ff(const unsigned char *A, long n, long train_len,","                                  long *out_n,","                                  unsigned char rank_word[16][32], int rank_len[16]) {","    /* tokenize train region by whitespace, count frequency + first occurrence word-index */","    WordFreq *freqs = NULL; long nfreq = 0, cap = 0;","    long widx = 0;","    long i = 0;","    while (i \u003c train_len) {","        if (is_ws(A[i])) { i++; continue; }","        long j = i;","        while (j \u003c train_len \u0026\u0026 !is_ws(A[j])) j++;","        int wlen = (int)(j - i);","        if (wlen \u003e 31) wlen = 31; /* clamp; top words are short in practice */","        /* find in freqs */","        long found = -1;","        for (long k = 0; k \u003c nfreq; k++) {","            if (freqs[k].len == wlen \u0026\u0026 memcmp(freqs[k].word, A + i, (size_t)wlen) == 0) { found = k; break; }","        }","        if (found \u003e= 0) {","            freqs[found].count++;","        } else {","            if (nfreq == cap) {","                cap = cap ? cap * 2 : 1024;","                freqs = realloc(freqs, (size_t)cap * sizeof(WordFreq));","            }","            memcpy(freqs[nfreq].word, A + i, (size_t)wlen);","            freqs[nfreq].len = wlen;","            freqs[nfreq].count = 1;","            freqs[nfreq].first_pos = widx;","            nfreq++;","        }","        widx++;","        i = j;","    }","    /* sort by count desc, tie-break first_pos asc (simple insertion since top16 needed, but do full sort for determinism) */","    for (long a = 1; a \u003c nfreq; a++) {","        WordFreq key = freqs[a];","        long b = a - 1;","        while (b \u003e= 0 \u0026\u0026 (freqs[b].count \u003c key.count ||","               (freqs[b].count == key.count \u0026\u0026 freqs[b].first_pos \u003e key.first_pos))) {","            freqs[b+1] = freqs[b];","            b--;","        }","        freqs[b+1] = key;","    }","    int top = nfreq \u003c 16 ? (int)nfreq : 16;","    if (top \u003c 16) { fprintf(stderr, \"FATAL: fewer than 16 distinct words in A-train\\n\"); exit(1); }","    for (int k = 0; k \u003c 16; k++) {","        rank_len[k] = freqs[k].len;","        memcpy(rank_word[k], freqs[k].word, (size_t)freqs[k].len);","    }","    free(freqs);","","    /* build swap: pairs (0,1)(2,3)... */","    /* apply to full A: tokenize by whitespace, replace matching words */","    unsigned char *out = malloc((size_t)n * 4 + 16); /* generous upper bound */","    long oi = 0;","    i = 0;","    while (i \u003c n) {","        if (is_ws(A[i])) { out[oi++] = A[i]; i++; continue; }","        long j = i;","        while (j \u003c n \u0026\u0026 !is_ws(A[j])) j++;","        int wlen = (int)(j - i);","        int matched = -1;","        if (wlen \u003c= 31) {","            for (int k = 0; k \u003c 16; k++) {","                if (rank_len[k] == wlen \u0026\u0026 memcmp(rank_word[k], A + i, (size_t)wlen) == 0) { matched = k; break; }","            }","        }","        if (matched \u003e= 0) {","            int partner = matched ^ 1; /* 0\u003c-\u003e1, 2\u003c-\u003e3, ... */","            memcpy(out + oi, rank_word[partner], (size_t)rank_len[partner]);","            oi += rank_len[partner];","        } else {","            memcpy(out + oi, A + i, (size_t)wlen);","            oi += wlen;","        }","        i = j;","    }","    *out_n = oi;","    return out;","}","","/* ---------------- BPE growth (permutation-equivariant tie-break) ---------------- */","","typedef struct { int32_t l, r; } Merge;","","typedef struct {","    int32_t *tok;","    long n;","} TokStream;","","/* grow_bpe: builds up to max_merges merges from byte/unit stream `init`,"," * length n0. Tie-break: max count; ties broken by earliest first"," * position of pair appearance. Stops at max_merges or max count \u003c min_pair."," * Returns final token stream (caller frees .tok) and fills *merges_out"," * (caller frees) with *n_merges_out entries. */","static TokStream grow_bpe(const int32_t *init, long n0, int max_merges, int min_pair,","                           Merge **merges_out, int *n_merges_out) {","    int32_t *tok = malloc((size_t)(n0 ? n0 : 1) * sizeof(int32_t));","    memcpy(tok, init, (size_t)n0 * sizeof(int32_t));","    int32_t *scratch = malloc((size_t)(n0 ? n0 : 1) * sizeof(int32_t));","    long n = n0;","    Merge *merges = malloc((size_t)max_merges * sizeof(Merge));","    int nm = 0;","    int32_t next_id = 256;","","    /* generation-stamped hashmap for pair -\u003e (count, first_pos): avoids","     * clearing the whole table every merge iteration (O(1) \"clear\" via","     * bumping cur_gen instead of O(cap) writes). */","    long cap = 1;","    while (cap \u003c (n0 * 2 + 16)) cap \u003c\u003c= 1;","    int64_t *keys = malloc(cap * sizeof(int64_t));","    long *counts = malloc(cap * sizeof(long));","    long *firstpos = malloc(cap * sizeof(long));","    uint32_t *gen = calloc((size_t)cap, sizeof(uint32_t));","    uint32_t cur_gen = 0;","","    for (int m = 0; m \u003c max_merges; m++) {","        if (n \u003c 2) break;","        cur_gen++;","        long best_count = -1, best_first = -1;","        int32_t best_l = 0, best_r = 0;","        int have_best = 0;","        for (long i = 0; i \u003c n - 1; i++) {","            int64_t key = ((int64_t)tok[i] \u003c\u003c 32) ^ (int64_t)(uint32_t)tok[i+1];","            uint64_t h = (uint64_t)key * 0x9E3779B97F4A7C15ULL;","            long slot = (long)(h \u0026 (uint64_t)(cap - 1));","            while (gen[slot] == cur_gen \u0026\u0026 keys[slot] != key) slot = (slot + 1) \u0026 (cap - 1);","            if (gen[slot] != cur_gen) { gen[slot] = cur_gen; keys[slot] = key; counts[slot] = 0; firstpos[slot] = i; }","            counts[slot]++;","            long c = counts[slot], f = firstpos[slot];","            if (c \u003e best_count || (c == best_count \u0026\u0026 f \u003c best_first)) {","                best_count = c; best_first = f;","                best_l = tok[i]; best_r = tok[i+1];","                have_best = 1;","            }","        }","        if (!have_best || best_count \u003c min_pair) break;","        /* apply merge left-to-right, non-overlapping, into the scratch","         * buffer, then swap (avoids malloc/free every iteration) */","        long ni = 0;","        long i = 0;","        while (i \u003c n) {","            if (i \u003c n - 1 \u0026\u0026 tok[i] == best_l \u0026\u0026 tok[i+1] == best_r) {","                scratch[ni++] = next_id;","                i += 2;","            } else {","                scratch[ni++] = tok[i];","                i += 1;","            }","        }","        { int32_t *tmp = tok; tok = scratch; scratch = tmp; }","        n = ni;","        merges[nm].l = best_l; merges[nm].r = best_r;","        nm++;","        next_id++;","    }","    free(scratch);","    free(keys); free(counts); free(firstpos); free(gen);","    *merges_out = merges;","    *n_merges_out = nm;","    TokStream result; result.tok = tok; result.n = n;","    return result;","}","","/* segment: replay merges in creation order over a fresh byte/unit stream */","static TokStream segment_with_merges(const int32_t *init, long n0, const Merge *merges, int n_merges) {","    int32_t *tok = malloc((size_t)n0 * sizeof(int32_t));","    memcpy(tok, init, (size_t)n0 * sizeof(int32_t));","    long n = n0;","    int32_t next_id = 256;","    for (int m = 0; m \u003c n_merges; m++) {","        int32_t l = merges[m].l, r = merges[m].r;","        long ni = 0;","        long i = 0;","        int any = 0;","        for (long k = 0; k \u003c n - 1; k++) if (tok[k]==l \u0026\u0026 tok[k+1]==r) { any = 1; break; }","        if (!any) { next_id++; continue; }","        int32_t *nt = malloc((size_t)n * sizeof(int32_t));","        while (i \u003c n) {","            if (i \u003c n - 1 \u0026\u0026 tok[i] == l \u0026\u0026 tok[i+1] == r) {","                nt[ni++] = next_id;","                i += 2;","            } else {","                nt[ni++] = tok[i];","                i += 1;","            }","        }","        free(tok);","        tok = nt;","        n = ni;","        next_id++;","    }","    TokStream result; result.tok = tok; result.n = n;","    return result;","}","","static int32_t *bytes_to_units(const unsigned char *b, long n) {","    int32_t *u = malloc((size_t)n * sizeof(int32_t));","    for (long i = 0; i \u003c n; i++) u[i] = b[i];","    return u;","}","","/* ---------------- count tables + backoff probability ---------------- */","","typedef struct {","    int32_t a, b;","    long c;","} Pair2;","typedef struct {","    int32_t a, b, c;","    long n;","} Pair3;","","static int cmp_pair2(const void *x, const void *y) {","    const Pair2 *p = x, *q = y;","    if (p-\u003ea != q-\u003ea) return (p-\u003ea \u003c q-\u003ea) ? -1 : 1;","    return (p-\u003eb \u003c q-\u003eb) ? -1 : (p-\u003eb \u003e q-\u003eb) ? 1 : 0;","}","static int cmp_pair3(const void *x, const void *y) {","    const Pair3 *p = x, *q = y;","    if (p-\u003ea != q-\u003ea) return (p-\u003ea \u003c q-\u003ea) ? -1 : 1;","    if (p-\u003eb != q-\u003eb) return (p-\u003eb \u003c q-\u003eb) ? -1 : 1;","    return (p-\u003ec \u003c q-\u003ec) ? -1 : (p-\u003ec \u003e q-\u003ec) ? 1 : 0;","}","","typedef struct {","    long *n1;         /* size V, unigram counts */","    long V;","    Pair2 *fwd;        /* sorted by (a,b), RLE counts, distance-1 forward pairs */","    long n_fwd;","    Pair3 *tri;        /* sorted by (a,b,c), RLE counts */","    long n_tri;","} CountTable;","","static long *build_n1(const int32_t *tok, long n, long V) {","    long *n1 = calloc((size_t)V, sizeof(long));","    for (long i = 0; i \u003c n; i++) n1[tok[i]]++;","    return n1;","}","","/* build RLE'd, sorted pair table from raw (a,b) list */","static Pair2 *rle_pairs2(int32_t *raw_a, int32_t *raw_b, long m, long *out_n) {","    Pair2 *p = malloc((size_t)m * sizeof(Pair2));","    for (long i = 0; i \u003c m; i++) { p[i].a = raw_a[i]; p[i].b = raw_b[i]; p[i].c = 1; }","    qsort(p, (size_t)m, sizeof(Pair2), cmp_pair2);","    long w = 0;","    for (long i = 0; i \u003c m; i++) {","        if (w \u003e 0 \u0026\u0026 p[w-1].a == p[i].a \u0026\u0026 p[w-1].b == p[i].b) p[w-1].c++;","        else p[w++] = p[i];","    }","    *out_n = w;","    return p;","}","","static Pair3 *rle_pairs3(int32_t *ra, int32_t *rb, int32_t *rc, long m, long *out_n) {","    Pair3 *p = malloc((size_t)m * sizeof(Pair3));","    for (long i = 0; i \u003c m; i++) { p[i].a = ra[i]; p[i].b = rb[i]; p[i].c = rc[i]; p[i].n = 1; }","    qsort(p, (size_t)m, sizeof(Pair3), cmp_pair3);","    long w = 0;","    for (long i = 0; i \u003c m; i++) {","        if (w \u003e 0 \u0026\u0026 p[w-1].a == p[i].a \u0026\u0026 p[w-1].b == p[i].b \u0026\u0026 p[w-1].c == p[i].c) p[w-1].n++;","        else p[w++] = p[i];","    }","    *out_n = w;","    return p;","}","","static CountTable build_counts(const int32_t *tok, long n, long V) {","    CountTable ct;","    ct.V = V;","    ct.n1 = build_n1(tok, n, V);","    long m2 = n \u003e 1 ? n - 1 : 0;","    int32_t *a2 = malloc((size_t)(m2?m2:1) * sizeof(int32_t));","    int32_t *b2 = malloc((size_t)(m2?m2:1) * sizeof(int32_t));","    for (long i = 0; i \u003c m2; i++) { a2[i] = tok[i]; b2[i] = tok[i+1]; }","    ct.fwd = rle_pairs2(a2, b2, m2, \u0026ct.n_fwd);","    free(a2); free(b2);","","    long m3 = n \u003e 2 ? n - 2 : 0;","    int32_t *a3 = malloc((size_t)(m3?m3:1) * sizeof(int32_t));","    int32_t *b3 = malloc((size_t)(m3?m3:1) * sizeof(int32_t));","    int32_t *c3 = malloc((size_t)(m3?m3:1) * sizeof(int32_t));","    for (long i = 0; i \u003c m3; i++) { a3[i] = tok[i]; b3[i] = tok[i+1]; c3[i] = tok[i+2]; }","    ct.tri = rle_pairs3(a3, b3, c3, m3, \u0026ct.n_tri);","    free(a3); free(b3); free(c3);","    return ct;","}","","static void free_counts(CountTable *ct) {","    free(ct-\u003en1); free(ct-\u003efwd); free(ct-\u003etri);","}","","/* binary search: first index in fwd with a==key (fwd sorted by (a,b)) */","static long fwd_lower_bound(const Pair2 *fwd, long n_fwd, int32_t a) {","    long lo = 0, hi = n_fwd;","    while (lo \u003c hi) { long mid = (lo+hi)/2; if (fwd[mid].a \u003c a) lo = mid+1; else hi = mid; }","    return lo;","}","static long tri_lower_bound(const Pair3 *tri, long n_tri, int32_t a, int32_t b) {","    long lo = 0, hi = n_tri;","    while (lo \u003c hi) {","        long mid = (lo+hi)/2;","        Pair3 *p = (Pair3*)\u0026tri[mid];","        int less = (p-\u003ea \u003c a) || (p-\u003ea == a \u0026\u0026 p-\u003eb \u003c b);","        if (less) lo = mid+1; else hi = mid;","    }","    return lo;","}","","/* context sum + specific weight for level-2 (bigram) */","static void ctx2_lookup(const CountTable *ct, int32_t c1, int32_t u, long *sum_out, long *w_out) {","    long i = fwd_lower_bound(ct-\u003efwd, ct-\u003en_fwd, c1);","    long sum = 0, w = 0;","    while (i \u003c ct-\u003en_fwd \u0026\u0026 ct-\u003efwd[i].a == c1) {","        sum += ct-\u003efwd[i].c;","        if (ct-\u003efwd[i].b == u) w = ct-\u003efwd[i].c;","        i++;","    }","    *sum_out = sum; *w_out = w;","}","static void ctx3_lookup(const CountTable *ct, int32_t c2, int32_t c1, int32_t u, long *sum_out, long *w_out) {","    long i = tri_lower_bound(ct-\u003etri, ct-\u003en_tri, c2, c1);","    long sum = 0, w = 0;","    while (i \u003c ct-\u003en_tri \u0026\u0026 ct-\u003etri[i].a == c2 \u0026\u0026 ct-\u003etri[i].b == c1) {","        sum += ct-\u003etri[i].n;","        if (ct-\u003etri[i].c == u) w = ct-\u003etri[i].n;","        i++;","    }","    *sum_out = sum; *w_out = w;","}","","#define EPS 0.1","","static double P1_of(const CountTable *ct, long n1_total, int32_t u) {","    long w = (u \u003e= 0 \u0026\u0026 u \u003c ct-\u003eV) ? ct-\u003en1[u] : 0;","    double top = (n1_total \u003e 0) ? (1.0 - EPS) * (double)w / (double)n1_total : 0.0;","    return top + EPS * (1.0 / (double)ct-\u003eV);","}","static double P2_of(const CountTable *ct, long n1_total, int32_t c1, int32_t u) {","    long sum, w;","    ctx2_lookup(ct, c1, u, \u0026sum, \u0026w);","    if (sum == 0) return P1_of(ct, n1_total, u);","    return (1.0 - EPS) * (double)w / (double)sum + EPS * P1_of(ct, n1_total, u);","}","static double P3_of(const CountTable *ct, long n1_total, int32_t c2, int32_t c1, int32_t u) {","    long sum, w;","    ctx3_lookup(ct, c2, c1, u, \u0026sum, \u0026w);","    if (sum == 0) return P2_of(ct, n1_total, c1, u);","    return (1.0 - EPS) * (double)w / (double)sum + EPS * P2_of(ct, n1_total, c1, u);","}","","/* boundary-aware price: pos_in_world is the absolute position (0-based)"," * in the FULL lived destination stream (not just this chunk); ctx2/ctx1"," * are the previous two units of that same lived stream (or -1 if not"," * yet available). */","static double price_unit(const CountTable *ct, long n1_total, long pos_in_world,","                          int32_t c2, int32_t c1, int32_t u) {","    if (pos_in_world == 0) return P1_of(ct, n1_total, u);","    if (pos_in_world == 1) return P2_of(ct, n1_total, c1, u);","    return P3_of(ct, n1_total, c2, c1, u);","}","","/* ---------------- unit byte-length + descriptors (12 scalars) ---------------- */","","static long *build_unit_len(const Merge *merges, int n_merges) {","    long V = 256 + n_merges;","    long *ulen = malloc((size_t)V * sizeof(long));","    for (int i = 0; i \u003c 256; i++) ulen[i] = 1;","    for (int i = 0; i \u003c n_merges; i++) ulen[256+i] = ulen[merges[i].l] + ulen[merges[i].r];","    return ulen;","}","","static Pair2 *build_dist_pairs(const int32_t *tok, long n, int d, long *out_n) {","    long m = (n \u003e d) ? n - d : 0;","    int32_t *a = malloc((size_t)(m?m:1) * sizeof(int32_t));","    int32_t *b = malloc((size_t)(m?m:1) * sizeof(int32_t));","    for (long i = 0; i \u003c m; i++) { a[i] = tok[i]; b[i] = tok[i+d]; }","    Pair2 *p = rle_pairs2(a, b, m, out_n);","    free(a); free(b);","    return p;","}","","static Pair2 *build_reverse_pairs(const Pair2 *fwd, long n_fwd) {","    Pair2 *rev = malloc((size_t)(n_fwd?n_fwd:1) * sizeof(Pair2));","    for (long i = 0; i \u003c n_fwd; i++) { rev[i].a = fwd[i].b; rev[i].b = fwd[i].a; rev[i].c = fwd[i].c; }","    qsort(rev, (size_t)n_fwd, sizeof(Pair2), cmp_pair2);","    return rev;","}","","#define NDESC 12","","typedef struct {","    long V;","    unsigned char *alive; /* 0/1, size V */","    double *raw;          /* V*NDESC */","    double *z;            /* V*NDESC, z-scored over alive units only */","} Descriptors;","","/* group-wise pass over a Pair2 array sorted by 'a': calls fn(u, group_start, group_len) */","static void for_each_group(const Pair2 *p, long n, void (*fn)(int32_t u, long start, long len, void *ctx), void *ctx) {","    long i = 0;","    while (i \u003c n) {","        long j = i;","        while (j \u003c n \u0026\u0026 p[j].a == p[i].a) j++;","        fn(p[i].a, i, j - i, ctx);","        i = j;","    }","}","","typedef struct {","    const Pair2 *fwd1;","    double *raw; /* V*NDESC */","    long V;","} EntropyCtx;","","static void entropy_pass(int32_t u, long start, long len, void *ctx_) {","    EntropyCtx *ctx = ctx_;","    long total = 0;","    for (long k = 0; k \u003c len; k++) total += ctx-\u003efwd1[start+k].c;","    if (total == 0 || u \u003c 0 || u \u003e= ctx-\u003eV) return;","    double H = 0.0, top1 = 0.0, sorted4[4] = {0,0,0,0};","    for (long k = 0; k \u003c len; k++) {","        double p = (double)ctx-\u003efwd1[start+k].c / (double)total;","        H += -p * log2(p);","        if (p \u003e top1) top1 = p;","        for (int s = 0; s \u003c 4; s++) {","            if (p \u003e sorted4[s]) {","                for (int t = 3; t \u003e s; t--) sorted4[t] = sorted4[t-1];","                sorted4[s] = p;","                break;","            }","        }","    }","    double top4 = sorted4[0]+sorted4[1]+sorted4[2]+sorted4[3];","    ctx-\u003eraw[u*NDESC + 2] = H;      /* right transition entropy */","    ctx-\u003eraw[u*NDESC + 4] = log2((double)len); /* log2 right degree */","    ctx-\u003eraw[u*NDESC + 6] = top1;","    ctx-\u003eraw[u*NDESC + 7] = top4;","}","","typedef struct {","    const Pair2 *rev1;","    double *raw;","    long V;","} LeftCtx;","","static void left_entropy_pass(int32_t u, long start, long len, void *ctx_) {","    LeftCtx *ctx = ctx_;","    long total = 0;","    for (long k = 0; k \u003c len; k++) total += ctx-\u003erev1[start+k].c;","    if (total == 0 || u \u003c 0 || u \u003e= ctx-\u003eV) return;","    double H = 0.0;","    for (long k = 0; k \u003c len; k++) {","        double p = (double)ctx-\u003erev1[start+k].c / (double)total;","        H += -p * log2(p);","    }","    ctx-\u003eraw[u*NDESC + 3] = H;                 /* left transition entropy */","    ctx-\u003eraw[u*NDESC + 5] = log2((double)len); /* log2 left degree */","}","","typedef struct {","    const Pair2 *dtab;","    double *raw;","    int dimidx; /* 8,9,10 for d=1,2,4 */","    long V;","} ConcCtx;","","static void concentration_pass(int32_t u, long start, long len, void *ctx_) {","    ConcCtx *ctx = ctx_;","    long total = 0;","    for (long k = 0; k \u003c len; k++) total += ctx-\u003edtab[start+k].c;","    if (total == 0 || u \u003c 0 || u \u003e= ctx-\u003eV) return;","    double simpson = 0.0;","    for (long k = 0; k \u003c len; k++) {","        double frac = (double)ctx-\u003edtab[start+k].c / (double)total;","        simpson += frac * frac;","    }","    ctx-\u003eraw[u*NDESC + ctx-\u003edimidx] = simpson;","}","","/* refinement (dim 11): transition-probability-weighted mean of right"," * neighbors' right-entropies. Needs H_right (dim index 2) already filled. */","typedef struct {","    const Pair2 *fwd1;","    double *raw;","    long V;","} RefineCtx;","","static void refine_pass(int32_t u, long start, long len, void *ctx_) {","    RefineCtx *ctx = ctx_;","    long total = 0;","    for (long k = 0; k \u003c len; k++) total += ctx-\u003efwd1[start+k].c;","    if (total == 0 || u \u003c 0 || u \u003e= ctx-\u003eV) return;","    double acc = 0.0;","    for (long k = 0; k \u003c len; k++) {","        int32_t v = ctx-\u003efwd1[start+k].b;","        double p = (double)ctx-\u003efwd1[start+k].c / (double)total;","        double Hv = (v \u003e= 0 \u0026\u0026 v \u003c ctx-\u003eV) ? ctx-\u003eraw[v*NDESC + 2] : 0.0;","        acc += p * Hv;","    }","    ctx-\u003eraw[u*NDESC + 11] = acc;","}","","static Descriptors compute_descriptors(const int32_t *tok, long n, long V, const long *n1, const long *ulen) {","    Descriptors d;","    d.V = V;","    d.alive = calloc((size_t)V, 1);","    d.raw = calloc((size_t)V * NDESC, sizeof(double));","    d.z = calloc((size_t)V * NDESC, sizeof(double));","","    long n_fwd1; Pair2 *fwd1 = build_dist_pairs(tok, n, 1, \u0026n_fwd1);","    long n_fwd2; Pair2 *fwd2 = build_dist_pairs(tok, n, 2, \u0026n_fwd2);","    long n_fwd4; Pair2 *fwd4 = build_dist_pairs(tok, n, 4, \u0026n_fwd4);","    Pair2 *rev1 = build_reverse_pairs(fwd1, n_fwd1);","","    for (long u = 0; u \u003c V; u++) {","        d.alive[u] = (n1[u] \u003e 0);","        if (n1[u] \u003e 0) d.raw[u*NDESC + 0] = log2((double)n1[u]);","        d.raw[u*NDESC + 1] = (double)ulen[u];","    }","","    EntropyCtx ec = { fwd1, d.raw, V };","    for_each_group(fwd1, n_fwd1, entropy_pass, \u0026ec);","    LeftCtx lc = { rev1, d.raw, V };","    for_each_group(rev1, n_fwd1, left_entropy_pass, \u0026lc);","    ConcCtx cc1 = { fwd1, d.raw, 8, V };","    for_each_group(fwd1, n_fwd1, concentration_pass, \u0026cc1);","    ConcCtx cc2 = { fwd2, d.raw, 9, V };","    for_each_group(fwd2, n_fwd2, concentration_pass, \u0026cc2);","    ConcCtx cc4 = { fwd4, d.raw, 10, V };","    for_each_group(fwd4, n_fwd4, concentration_pass, \u0026cc4);","    RefineCtx rc = { fwd1, d.raw, V };","    for_each_group(fwd1, n_fwd1, refine_pass, \u0026rc);","","    free(fwd1); free(fwd2); free(fwd4); free(rev1);","","    /* z-score per dimension over alive units */","    for (int k = 0; k \u003c NDESC; k++) {","        double sum = 0.0; long cnt = 0;","        for (long u = 0; u \u003c V; u++) if (d.alive[u]) { sum += d.raw[u*NDESC+k]; cnt++; }","        double mean = cnt ? sum / (double)cnt : 0.0;","        double var = 0.0;","        for (long u = 0; u \u003c V; u++) if (d.alive[u]) { double diff = d.raw[u*NDESC+k]-mean; var += diff*diff; }","        double std = cnt ? sqrt(var / (double)cnt) : 0.0;","        for (long u = 0; u \u003c V; u++) {","            if (!d.alive[u]) continue;","            d.z[u*NDESC+k] = (std \u003e 1e-12) ? (d.raw[u*NDESC+k]-mean)/std : 0.0;","        }","    }","    return d;","}","","static void free_descriptors(Descriptors *d) {","    free(d-\u003ealive); free(d-\u003eraw); free(d-\u003ez);","}","","static double zdist(const Descriptors *d, int32_t u, const Descriptors *d2, int32_t v) {","    double s = 0.0;","    for (int k = 0; k \u003c NDESC; k++) {","        double diff = d-\u003ez[u*NDESC+k] - d2-\u003ez[v*NDESC+k];","        s += diff*diff;","    }","    return sqrt(s);","}","","/* ---------------- unit byte-strings (for the oracle's true map) ---------------- */","","typedef struct { unsigned char *data; int len; } ByteStr;","","static ByteStr *build_bytestrings(const Merge *merges, int n_merges) {","    long V = 256 + n_merges;","    ByteStr *bs = malloc((size_t)V * sizeof(ByteStr));","    for (int i = 0; i \u003c 256; i++) { bs[i].data = malloc(1); bs[i].data[0] = (unsigned char)i; bs[i].len = 1; }","    for (int i = 0; i \u003c n_merges; i++) {","        int32_t l = merges[i].l, r = merges[i].r;","        int len = bs[l].len + bs[r].len;","        unsigned char *d = malloc((size_t)len);","        memcpy(d, bs[l].data, (size_t)bs[l].len);","        memcpy(d + bs[l].len, bs[r].data, (size_t)bs[r].len);","        bs[256+i].data = d; bs[256+i].len = len;","    }","    return bs;","}","static void free_bytestrings(ByteStr *bs, long V) {","    for (long i = 0; i \u003c V; i++) free(bs[i].data);","    free(bs);","}","","/* ---------------- oracle true-map (byte permutation / word swap) ---------------- */","","typedef enum { XFORM_NONE, XFORM_CIPHER, XFORM_FF } XformKind;","typedef struct {","    XformKind kind;","    unsigned char cipher_perm[256];","    unsigned char rank_word[16][32];","    int rank_len[16];","} OracleXform;","","static void xform_apply(const OracleXform *x, const unsigned char *in, int inlen, unsigned char *out, int *outlen) {","    if (x-\u003ekind == XFORM_CIPHER) {","        for (int i = 0; i \u003c inlen; i++) out[i] = x-\u003ecipher_perm[in[i]];","        *outlen = inlen;","    } else if (x-\u003ekind == XFORM_FF) {","        int matched = -1;","        if (inlen \u003c= 31) {","            for (int k = 0; k \u003c 16; k++)","                if (x-\u003erank_len[k] == inlen \u0026\u0026 memcmp(x-\u003erank_word[k], in, (size_t)inlen) == 0) { matched = k; break; }","        }","        if (matched \u003e= 0) {","            int partner = matched ^ 1;","            memcpy(out, x-\u003erank_word[partner], (size_t)x-\u003erank_len[partner]);","            *outlen = x-\u003erank_len[partner];","        } else {","            memcpy(out, in, (size_t)inlen);","            *outlen = inlen;","        }","    } else {","        memcpy(out, in, (size_t)inlen);","        *outlen = inlen;","    }","}","","typedef struct { const unsigned char *data; int len; int32_t id; } BSEntry;","static int cmp_bsentry(const void *x, const void *y) {","    const BSEntry *p = x, *q = y;","    int minlen = p-\u003elen \u003c q-\u003elen ? p-\u003elen : q-\u003elen;","    int c = minlen ? memcmp(p-\u003edata, q-\u003edata, (size_t)minlen) : 0;","    if (c != 0) return c;","    return p-\u003elen - q-\u003elen;","}","","typedef struct { int32_t *map; long V_A; } OracleMap;","","static OracleMap build_oracle_map(const ByteStr *A_bs, long V_A, const ByteStr *dest_bs, long V_dest, const OracleXform *xform) {","    OracleMap om; om.V_A = V_A; om.map = malloc((size_t)V_A * sizeof(int32_t));","    for (long i = 0; i \u003c V_A; i++) om.map[i] = -1;","    if (xform-\u003ekind == XFORM_NONE) return om;","    BSEntry *entries = malloc((size_t)V_dest * sizeof(BSEntry));","    for (long i = 0; i \u003c V_dest; i++) { entries[i].data = dest_bs[i].data; entries[i].len = dest_bs[i].len; entries[i].id = (int32_t)i; }","    qsort(entries, (size_t)V_dest, sizeof(BSEntry), cmp_bsentry);","    unsigned char buf[8192];","    for (long i = 0; i \u003c V_A; i++) {","        if (A_bs[i].len \u003e 8000) continue;","        int outlen;","        xform_apply(xform, A_bs[i].data, A_bs[i].len, buf, \u0026outlen);","        long lo = 0, hi = V_dest - 1, found = -1;","        while (lo \u003c= hi) {","            long mid = (lo + hi) / 2;","            BSEntry *e = \u0026entries[mid];","            int minlen = e-\u003elen \u003c outlen ? e-\u003elen : outlen;","            int c = minlen ? memcmp(e-\u003edata, buf, (size_t)minlen) : 0;","            if (c == 0) c = e-\u003elen - outlen;","            if (c == 0) { found = mid; break; }","            else if (c \u003c 0) lo = mid + 1; else hi = mid - 1;","        }","        if (found \u003e= 0) om.map[i] = entries[found].id;","    }","    free(entries);","    return om;","}","static void free_oracle_map(OracleMap *m) { free(m-\u003emap); }","","/* ---------------- greedy top-256 alignment map ---------------- */","","typedef struct { int32_t *dest_to_A; int32_t *A_to_dest; long V_dest, V_A; } AlignMap;","","typedef struct { int32_t id; long freq; } FreqItem;","static int cmp_freq_desc(const void *x, const void *y) {","    const FreqItem *p = x, *q = y;","    if (p-\u003efreq != q-\u003efreq) return p-\u003efreq \u003e q-\u003efreq ? -1 : 1;","    return p-\u003eid \u003c q-\u003eid ? -1 : 1;","}","typedef struct { double dist; int32_t di, ai; } CandPair;","static int cmp_candpair(const void *x, const void *y) {","    const CandPair *p = x, *q = y;","    if (p-\u003edist != q-\u003edist) return p-\u003edist \u003c q-\u003edist ? -1 : 1;","    if (p-\u003eai != q-\u003eai) return p-\u003eai \u003c q-\u003eai ? -1 : 1;","    return p-\u003edi \u003c q-\u003edi ? -1 : (p-\u003edi \u003e q-\u003edi ? 1 : 0);","}","","static AlignMap build_align_map(const Descriptors *dd, const long *dest_n1,","                                 const Descriptors *ad, const long *a_n1,","                                 const int32_t *shuf) {","    AlignMap am; am.V_dest = dd-\u003eV; am.V_A = ad-\u003eV;","    am.dest_to_A = malloc((size_t)dd-\u003eV * sizeof(int32_t));","    am.A_to_dest = malloc((size_t)ad-\u003eV * sizeof(int32_t));","    for (long i = 0; i \u003c dd-\u003eV; i++) am.dest_to_A[i] = -1;","    for (long i = 0; i \u003c ad-\u003eV; i++) am.A_to_dest[i] = -1;","","    FreqItem *df = malloc((size_t)dd-\u003eV * sizeof(FreqItem)); long ndf = 0;","    for (long i = 0; i \u003c dd-\u003eV; i++) if (dd-\u003ealive[i]) { df[ndf].id = (int32_t)i; df[ndf].freq = dest_n1[i]; ndf++; }","    qsort(df, (size_t)ndf, sizeof(FreqItem), cmp_freq_desc);","    long topD = ndf \u003c 256 ? ndf : 256;","","    FreqItem *af = malloc((size_t)ad-\u003eV * sizeof(FreqItem)); long naf = 0;","    for (long i = 0; i \u003c ad-\u003eV; i++) if (ad-\u003ealive[i]) { af[naf].id = (int32_t)i; af[naf].freq = a_n1[i]; naf++; }","    qsort(af, (size_t)naf, sizeof(FreqItem), cmp_freq_desc);","    long topA = naf \u003c 256 ? naf : 256;","","    long cap_pairs = topD * topA;","    if (cap_pairs \u003c 1) cap_pairs = 1;","    CandPair *pairs = malloc((size_t)cap_pairs * sizeof(CandPair));","    long pi = 0;","    for (long i = 0; i \u003c topA; i++) {","        int32_t a = af[i].id;","        int32_t eff_a = shuf ? shuf[a] : a;","        if (!ad-\u003ealive[eff_a]) continue;","        for (long j = 0; j \u003c topD; j++) {","            int32_t di = df[j].id;","            pairs[pi].dist = zdist(dd, di, ad, eff_a);","            pairs[pi].di = di; pairs[pi].ai = a;","            pi++;","        }","    }","    qsort(pairs, (size_t)pi, sizeof(CandPair), cmp_candpair);","    unsigned char *matchedD = calloc((size_t)dd-\u003eV, 1), *matchedA = calloc((size_t)ad-\u003eV, 1);","    for (long k = 0; k \u003c pi; k++) {","        if (pairs[k].dist \u003e 2.0) break;","        if (matchedD[pairs[k].di] || matchedA[pairs[k].ai]) continue;","        matchedD[pairs[k].di] = 1; matchedA[pairs[k].ai] = 1;","        am.dest_to_A[pairs[k].di] = pairs[k].ai;","        am.A_to_dest[pairs[k].ai] = pairs[k].di;","    }","    free(matchedD); free(matchedA); free(pairs); free(df); free(af);","    return am;","}","static void free_align_map(AlignMap *m) { free(m-\u003edest_to_A); free(m-\u003eA_to_dest); }","","/* raw (pre-escape) prior via an alignment map (used identically for"," * learned align and for oracle, which only swaps in the true map)."," * \"only aligned continuations count\": among a_star's own right-neighbour"," * distribution in A (denominator = A's own full mass, not renormalized),"," * only neighbours that are themselves aligned to some destination unit"," * contribute; if none are aligned the position is undefined. */","static double align_style_prior_raw(const int32_t *dest_to_A, const int32_t *A_to_dest, long V_dest, long V_A,","                                     const Pair2 *a_fwd1, long a_n_fwd1,","                                     const int32_t *shuf, int32_t c1, int32_t truth) {","    if (c1 \u003c 0 || c1 \u003e= V_dest) return -1.0;","    int32_t a_star = dest_to_A[c1];","    if (a_star \u003c 0) return -1.0;","    int32_t eff_star = shuf ? shuf[a_star] : a_star;","    long i = fwd_lower_bound(a_fwd1, a_n_fwd1, eff_star);","    long total_all = 0, aligned_count = 0;","    double truth_weight = -1.0;","    while (i \u003c a_n_fwd1 \u0026\u0026 a_fwd1[i].a == eff_star) {","        int32_t v = a_fwd1[i].b;","        total_all += a_fwd1[i].c;","        if (v \u003e= 0 \u0026\u0026 v \u003c V_A) {","            int32_t dest_v = A_to_dest[v];","            if (dest_v \u003e= 0) {","                aligned_count++;","                if (dest_v == truth) truth_weight = (double)a_fwd1[i].c;","            }","        }","        i++;","    }","    if (total_all == 0 || aligned_count == 0) return -1.0;","    return truth_weight \u003e= 0 ? truth_weight / (double)total_all : 0.0;","}","","/* ---------------- cache prior (context-keyed, cached per chunk) ---------------- */","","static void get_top4_right(const Pair2 *fwd1, long n_fwd1, int32_t unit, int32_t out_ids[4], int *n_out) {","    long i = fwd_lower_bound(fwd1, n_fwd1, unit);","    long start = i, total = 0;","    while (i \u003c n_fwd1 \u0026\u0026 fwd1[i].a == unit) { total += fwd1[i].c; i++; }","    double sorted_p[4] = {-1,-1,-1,-1};","    int32_t sorted_id[4] = {-1,-1,-1,-1};","    if (total \u003e 0) {","        for (long k = start; k \u003c i; k++) {","            double p = (double)fwd1[k].c / (double)total;","            for (int s = 0; s \u003c 4; s++) {","                if (p \u003e sorted_p[s]) {","                    for (int t = 3; t \u003e s; t--) { sorted_p[t]=sorted_p[t-1]; sorted_id[t]=sorted_id[t-1]; }","                    sorted_p[s] = p; sorted_id[s] = fwd1[k].b;","                    break;","                }","            }","        }","    }","    int n = 0;","    for (int s = 0; s \u003c 4; s++) if (sorted_id[s] \u003e= 0) out_ids[n++] = sorted_id[s];","    *n_out = n;","}","","typedef struct {","    int32_t a_star;","    int32_t top4[4]; int n_top4;","    double max_r, sum_exp;","} CacheCtxInfo;","","static double min_zdist_to_top4(const Descriptors *dd, int32_t u, const Descriptors *ad,","                                 const int32_t *top4, int n4, const int32_t *shuf) {","    double mind = 1e300;","    for (int k = 0; k \u003c n4; k++) {","        int32_t eff_nb = shuf ? shuf[top4[k]] : top4[k];","        if (!ad-\u003ealive[eff_nb]) continue;","        double dtmp = zdist(dd, u, ad, eff_nb);","        if (dtmp \u003c mind) mind = dtmp;","    }","    return mind;","}","","static CacheCtxInfo compute_cache_ctx(int32_t c1, const Descriptors *dd, const Descriptors *ad,","                                       const Pair2 *a_fwd1, long a_n_fwd1, const int32_t *shuf) {","    CacheCtxInfo info; memset(\u0026info, 0, sizeof(info)); info.a_star = -1;","    if (c1 \u003c 0 || c1 \u003e= dd-\u003eV || !dd-\u003ealive[c1]) return info;","    double best = 1e300; int32_t best_a = -1;","    for (long a = 0; a \u003c ad-\u003eV; a++) {","        if (!ad-\u003ealive[a]) continue;","        int32_t eff_a = shuf ? shuf[a] : (int32_t)a;","        if (!ad-\u003ealive[eff_a]) continue;","        double dist = zdist(dd, c1, ad, eff_a);","        if (dist \u003c best) { best = dist; best_a = (int32_t)a; }","    }","    if (best_a \u003c 0) return info;","    info.a_star = best_a;","    int32_t eff_star = shuf ? shuf[best_a] : best_a;","    get_top4_right(a_fwd1, a_n_fwd1, eff_star, info.top4, \u0026info.n_top4);","    if (info.n_top4 == 0) { info.a_star = -1; return info; }","","    double max_r = -1e300;","    for (long u = 0; u \u003c dd-\u003eV; u++) {","        if (!dd-\u003ealive[u]) continue;","        double mind = min_zdist_to_top4(dd, (int32_t)u, ad, info.top4, info.n_top4, shuf);","        double r = -mind;","        if (r \u003e max_r) max_r = r;","    }","    double sum_exp = 0.0;","    for (long u = 0; u \u003c dd-\u003eV; u++) {","        if (!dd-\u003ealive[u]) continue;","        double mind = min_zdist_to_top4(dd, (int32_t)u, ad, info.top4, info.n_top4, shuf);","        double r = -mind;","        sum_exp += exp(r - max_r);","    }","    info.max_r = max_r; info.sum_exp = sum_exp;","    return info;","}","","static double cache_prior_raw(const CacheCtxInfo *info, const Descriptors *dd, const Descriptors *ad,","                               const int32_t *shuf, int32_t truth) {","    if (info-\u003ea_star \u003c 0 || info-\u003esum_exp \u003c= 0.0) return -1.0;","    if (truth \u003c 0 || truth \u003e= dd-\u003eV || !dd-\u003ealive[truth]) return -1.0;","    double mind = min_zdist_to_top4(dd, truth, ad, info-\u003etop4, info-\u003en_top4, shuf);","    double r = -mind;","    return exp(r - info-\u003emax_r) / info-\u003esum_exp;","}","","/* ---------------- shadow / earn / revoke ledger ---------------- */","","typedef struct { double L; double ledger; int earned; } ArmLedger;","","/* price_with_ledger takes an ALREADY-ESCAPED prior probability"," * (P_prior_used = 0.9*raw + 0.1*P_local), or a negative value meaning"," * \"undefined at this position\" (unaligned context / empty carried set /"," * no destination-side descriptor for the context unit). */","static double price_with_ledger(ArmLedger *st, double P_local, double P_prior_used, long *undefined_ctr) {","    double l_local = -log2(P_local);","    if (P_prior_used \u003c 0.0) {","        if (undefined_ctr) (*undefined_ctr)++;","        return l_local;","    }","    double l_prior = -log2(P_prior_used);","    double L = st-\u003eearned ? st-\u003eL : 0.0;","    double P_final = (1.0 - L) * P_local + L * P_prior_used;","    double bits = -log2(P_final);","    st-\u003eledger += (l_local - l_prior);","    if (!st-\u003eearned) {","        if (st-\u003eledger \u003e= 32.0) { st-\u003eearned = 1; st-\u003eL = 0.05; }","    } else {","        if (st-\u003eledger \u003c 16.0) { st-\u003eearned = 0; st-\u003eL = 0.0; }","        else {","            st-\u003eL *= exp(0.05 * (l_local - l_prior));","            if (st-\u003eL \u003c 0.01) st-\u003eL = 0.01;","            if (st-\u003eL \u003e 0.5) st-\u003eL = 0.5;","        }","    }","    return bits;","}","","static double escape_mix(double raw, double P_local) {","    return raw \u003e= 0.0 ? (0.9 * raw + 0.1 * P_local) : -1.0;","}","","/* ---------------- arms ---------------- */","","typedef enum { ARM_COLD=0, ARM_CACHE, ARM_ALIGN, ARM_BOTH, ARM_SHUF, ARM_ORACLE, N_ARMS } ArmId;","static const char *ARM_NAME[N_ARMS] = {\"cold\",\"cache\",\"align\",\"both\",\"shuf\",\"oracle\"};","","typedef struct {","    long chunk, byte_offset, byte_len, positions;","    double bits;","    double L_end, ledger_end;","    int state_end;","    long undefined_positions;","} ArmChunkResult;","","/* ---------------- A-side past (built once) ---------------- */","","typedef struct {","    long train_len;","    TokStream tok;","    Merge *merges; int n_merges;","    long V;","    CountTable ct;","    long *ulen;","    Descriptors desc;","    ByteStr *bs;","} APast;","","static APast build_a_past(const unsigned char *A, long train_len) {","    APast p; memset(\u0026p, 0, sizeof(p));","    p.train_len = train_len;","    int32_t *units = bytes_to_units(A, train_len);","    p.tok = grow_bpe(units, train_len, 2048, 4, \u0026p.merges, \u0026p.n_merges);","    free(units);","    p.V = 256 + p.n_merges;","    p.ct = build_counts(p.tok.tok, p.tok.n, p.V);","    p.ulen = build_unit_len(p.merges, p.n_merges);","    p.desc = compute_descriptors(p.tok.tok, p.tok.n, p.V, p.ct.n1, p.ulen);","    p.bs = build_bytestrings(p.merges, p.n_merges);","    return p;","}","","/* grow BPE on cipher(A-train) independently and prove, in lockstep, that"," * merges correspond to A's own merges under the known permutation. */","static void prove_isomorphism(const unsigned char *A, long train_len, const unsigned char perm[256],","                               const Merge *merges_A, int n_merges_A, long *out_matched, long *out_total,","                               int *out_cipher_merges) {","    unsigned char *cipherA = malloc((size_t)train_len);","    for (long i = 0; i \u003c train_len; i++) cipherA[i] = perm[A[i]];","    int32_t *units = bytes_to_units(cipherA, train_len);","    Merge *merges_C; int n_merges_C;","    TokStream t = grow_bpe(units, train_len, 2048, 4, \u0026merges_C, \u0026n_merges_C);","    free(units); free(cipherA); free(t.tok);","","    long V_max = 256 + (n_merges_A \u003e n_merges_C ? n_merges_A : n_merges_C);","    int32_t *corr = malloc((size_t)V_max * sizeof(int32_t));","    for (int b = 0; b \u003c 256; b++) corr[b] = perm[b];","    for (long i = 256; i \u003c V_max; i++) corr[i] = -1;","    int total = n_merges_A \u003c n_merges_C ? n_merges_A : n_merges_C;","    int matched = 0;","    for (int i = 0; i \u003c total; i++) {","        if (corr[merges_A[i].l] == merges_C[i].l \u0026\u0026 corr[merges_A[i].r] == merges_C[i].r) {","            corr[256+i] = 256+i;","            matched++;","        } else break;","    }","    free(corr); free(merges_C);","    *out_matched = matched; *out_total = n_merges_A; *out_cipher_merges = n_merges_C;","}","","static int32_t *build_shuffle_map(const Descriptors *ad, uint64_t seed) {","    long V = ad-\u003eV;","    int32_t *ids = malloc((size_t)(V?V:1) * sizeof(int32_t));","    long m = 0;","    for (long i = 0; i \u003c V; i++) if (ad-\u003ealive[i]) ids[m++] = (int32_t)i;","    long *order = malloc((size_t)(m?m:1) * sizeof(long));","    for (long i = 0; i \u003c m; i++) order[i] = i;","    uint64_t st = seed;","    for (long i = m - 1; i \u003e= 1; i--) {","        uint64_t r = rng_next(\u0026st);","        long j = (long)(r % (uint64_t)(i + 1));","        long tmp = order[i]; order[i] = order[j]; order[j] = tmp;","    }","    int32_t *sigma = malloc((size_t)(V?V:1) * sizeof(int32_t));","    for (long i = 0; i \u003c V; i++) sigma[i] = (int32_t)i;","    for (long k = 0; k \u003c m; k++) sigma[ids[k]] = ids[order[k]];","    free(ids); free(order);","    return sigma;","}","","/* ---------------- full per-world, per-arm prequential court ---------------- */","","typedef struct {","    long n_chunks;","    ArmChunkResult *res[N_ARMS];","} CourtResult;","","#define WARMUP_BYTES 16384","","static CourtResult run_full_court(const unsigned char *dest, long dn, const APast *past,","                                   const OracleXform *xform, const int32_t *shuf_map, int report,","                                   const char *world_name) {","    long chunk_size = 1024;","    long n_chunks = (dn + chunk_size - 1) / chunk_size;","    CourtResult cr; cr.n_chunks = n_chunks;","    for (int a = 0; a \u003c N_ARMS; a++) cr.res[a] = malloc((size_t)n_chunks * sizeof(ArmChunkResult));","","    Merge *cur_merges = NULL; int n_cur_merges = 0;","    TokStream prefix_tok; prefix_tok.tok = NULL; prefix_tok.n = 0;","    long V = 256;","    CountTable ct; memset(\u0026ct, 0, sizeof(ct)); ct.V = V; ct.n1 = calloc((size_t)V, sizeof(long));","    long n1_total = 0;","    long world_token_index = 0;","","    Descriptors dd; memset(\u0026dd, 0, sizeof(dd)); dd.V = V;","    dd.alive = calloc((size_t)V, 1); dd.raw = calloc((size_t)V*NDESC, sizeof(double)); dd.z = calloc((size_t)V*NDESC, sizeof(double));","    ByteStr *dest_bs = build_bytestrings(NULL, 0); /* 256 raw bytes, no merges yet */","    long *dest_ulen = build_unit_len(NULL, 0);","","    ArmLedger ledger[N_ARMS];","    for (int a = 0; a \u003c N_ARMS; a++) { ledger[a].L = 0.0; ledger[a].ledger = 0.0; ledger[a].earned = 0; }","","    AlignMap amap; memset(\u0026amap, 0, sizeof(amap));","    AlignMap amap_shuf; memset(\u0026amap_shuf, 0, sizeof(amap_shuf));","    int have_align = 0;","","    for (long ch = 0; ch \u003c n_chunks; ch++) {","        long off = ch * chunk_size;","        long blen = (off + chunk_size \u003c= dn) ? chunk_size : (dn - off);","        int past_warmup = (off \u003e= WARMUP_BYTES);","","        int32_t *chunk_units = bytes_to_units(dest + off, blen);","        TokStream ctok = segment_with_merges(chunk_units, blen, cur_merges, n_cur_merges);","        free(chunk_units);","","        int32_t c2ctx = -1, c1ctx = -1;","        if (prefix_tok.n \u003e= 2) { c2ctx = prefix_tok.tok[prefix_tok.n-2]; c1ctx = prefix_tok.tok[prefix_tok.n-1]; }","        else if (prefix_tok.n == 1) c1ctx = prefix_tok.tok[0];","","        /* per-chunk oracle map + realignment (only once past warmup) */","        OracleMap omap; memset(\u0026omap, 0, sizeof(omap));","        int32_t *oracle_dest_to_A = NULL; /* inverse of omap.map (A-id -\u003e dest-id) */","        if (past_warmup) {","            if (xform-\u003ekind != XFORM_NONE) {","                omap = build_oracle_map(past-\u003ebs, past-\u003eV, dest_bs, V, xform);","                oracle_dest_to_A = malloc((size_t)(V\u003e0?V:1) * sizeof(int32_t));","                for (long i = 0; i \u003c V; i++) oracle_dest_to_A[i] = -1;","                for (long i = 0; i \u003c past-\u003eV; i++) {","                    int32_t dv = omap.map[i];","                    if (dv \u003e= 0 \u0026\u0026 dv \u003c V) oracle_dest_to_A[dv] = (int32_t)i;","                }","            }","            if (have_align) { free_align_map(\u0026amap); free_align_map(\u0026amap_shuf); }","            amap = build_align_map(\u0026dd, ct.n1, \u0026past-\u003edesc, past-\u003ect.n1, NULL);","            amap_shuf = build_align_map(\u0026dd, ct.n1, \u0026past-\u003edesc, past-\u003ect.n1, shuf_map);","            have_align = 1;","        }","","        CacheCtxInfo *cctx = calloc((size_t)(V\u003e0?V:1), sizeof(CacheCtxInfo));","        unsigned char *cctx_done = calloc((size_t)(V\u003e0?V:1), 1);","        CacheCtxInfo *cctx_s = calloc((size_t)(V\u003e0?V:1), sizeof(CacheCtxInfo));","        unsigned char *cctx_s_done = calloc((size_t)(V\u003e0?V:1), 1);","","        double bits[N_ARMS]; for (int a = 0; a \u003c N_ARMS; a++) bits[a] = 0.0;","        long undef[N_ARMS]; for (int a = 0; a \u003c N_ARMS; a++) undef[a] = 0;","","        for (long k = 0; k \u003c ctok.n; k++) {","            int32_t cc2, cc1;","            if (k == 0) { cc2 = c2ctx; cc1 = c1ctx; }","            else if (k == 1) { cc2 = c1ctx; cc1 = ctok.tok[0]; }","            else { cc2 = ctok.tok[k-2]; cc1 = ctok.tok[k-1]; }","            int32_t truth = ctok.tok[k];","","            double Plocal = price_unit(\u0026ct, n1_total, world_token_index, cc2, cc1, truth);","            bits[ARM_COLD] += -log2(Plocal);","","            int c1_ok = (cc1 \u003e= 0 \u0026\u0026 cc1 \u003c dd.V \u0026\u0026 dd.alive[cc1]);","","            if (c1_ok \u0026\u0026 !cctx_done[cc1]) {","                cctx[cc1] = compute_cache_ctx(cc1, \u0026dd, \u0026past-\u003edesc, past-\u003ect.fwd, past-\u003ect.n_fwd, NULL);","                cctx_done[cc1] = 1;","            }","            if (c1_ok \u0026\u0026 !cctx_s_done[cc1]) {","                cctx_s[cc1] = compute_cache_ctx(cc1, \u0026dd, \u0026past-\u003edesc, past-\u003ect.fwd, past-\u003ect.n_fwd, shuf_map);","                cctx_s_done[cc1] = 1;","            }","            double cache_raw = c1_ok ? cache_prior_raw(\u0026cctx[cc1], \u0026dd, \u0026past-\u003edesc, NULL, truth) : -1.0;","            double cache_raw_s = c1_ok ? cache_prior_raw(\u0026cctx_s[cc1], \u0026dd, \u0026past-\u003edesc, shuf_map, truth) : -1.0;","","            double align_raw = -1.0, oracle_raw = -1.0, align_raw_s = -1.0;","            if (past_warmup) {","                align_raw = align_style_prior_raw(amap.dest_to_A, amap.A_to_dest, amap.V_dest, amap.V_A,","                                                   past-\u003ect.fwd, past-\u003ect.n_fwd, NULL, cc1, truth);","                align_raw_s = align_style_prior_raw(amap_shuf.dest_to_A, amap_shuf.A_to_dest, amap_shuf.V_dest, amap_shuf.V_A,","                                                     past-\u003ect.fwd, past-\u003ect.n_fwd, shuf_map, cc1, truth);","                if (xform-\u003ekind != XFORM_NONE)","                    oracle_raw = align_style_prior_raw(oracle_dest_to_A, omap.map, V, past-\u003eV,","                                                        past-\u003ect.fwd, past-\u003ect.n_fwd, NULL, cc1, truth);","            }","","            bits[ARM_CACHE] += price_with_ledger(\u0026ledger[ARM_CACHE], Plocal, escape_mix(cache_raw, Plocal), \u0026undef[ARM_CACHE]);","            bits[ARM_ALIGN] += price_with_ledger(\u0026ledger[ARM_ALIGN], Plocal, escape_mix(align_raw, Plocal), \u0026undef[ARM_ALIGN]);","","            if (!past_warmup) {","                bits[ARM_BOTH] += price_with_ledger(\u0026ledger[ARM_BOTH], Plocal, escape_mix(cache_raw, Plocal), \u0026undef[ARM_BOTH]);","                bits[ARM_SHUF] += price_with_ledger(\u0026ledger[ARM_SHUF], Plocal, escape_mix(cache_raw_s, Plocal), \u0026undef[ARM_SHUF]);","            } else {","                double c_comp = escape_mix(cache_raw, Plocal); if (c_comp \u003c 0) c_comp = Plocal;","                double a_comp = escape_mix(align_raw, Plocal); if (a_comp \u003c 0) a_comp = Plocal;","                double both_used = (cache_raw \u003c 0.0 \u0026\u0026 align_raw \u003c 0.0) ? -1.0 : (0.5*c_comp + 0.5*a_comp);","                bits[ARM_BOTH] += price_with_ledger(\u0026ledger[ARM_BOTH], Plocal, both_used, \u0026undef[ARM_BOTH]);","","                double cs_comp = escape_mix(cache_raw_s, Plocal); if (cs_comp \u003c 0) cs_comp = Plocal;","                double as_comp = escape_mix(align_raw_s, Plocal); if (as_comp \u003c 0) as_comp = Plocal;","                double shuf_used = (cache_raw_s \u003c 0.0 \u0026\u0026 align_raw_s \u003c 0.0) ? -1.0 : (0.5*cs_comp + 0.5*as_comp);","                bits[ARM_SHUF] += price_with_ledger(\u0026ledger[ARM_SHUF], Plocal, shuf_used, \u0026undef[ARM_SHUF]);","            }","","            bits[ARM_ORACLE] += price_with_ledger(\u0026ledger[ARM_ORACLE], Plocal, escape_mix(oracle_raw, Plocal), \u0026undef[ARM_ORACLE]);","","            world_token_index++;","        }","","        for (int a = 0; a \u003c N_ARMS; a++) {","            ArmChunkResult *out = \u0026cr.res[a][ch];","            out-\u003echunk = ch; out-\u003ebyte_offset = off; out-\u003ebyte_len = blen;","            out-\u003epositions = ctok.n; out-\u003ebits = bits[a];","            out-\u003eL_end = ledger[a].earned ? ledger[a].L : 0.0;","            out-\u003eledger_end = ledger[a].ledger;","            out-\u003estate_end = ledger[a].earned;","            out-\u003eundefined_positions = undef[a];","        }","        if (report \u0026\u0026 (ch \u003c 3 || ch == n_chunks-1 || ch % 50 == 0))","            fprintf(stderr, \"  [%s] chunk %ld off=%ld positions=%ld cold=%.3f cache=%.3f align=%.3f\\n\",","                    world_name, ch, off, ctok.n, bits[ARM_COLD], bits[ARM_CACHE], bits[ARM_ALIGN]);","","        free(ctok.tok);","        free(cctx); free(cctx_done); free(cctx_s); free(cctx_s_done);","        free_oracle_map(\u0026omap);","        free(oracle_dest_to_A);","","        /* absorb + rebuild for next chunk */","        long prefix_len = off + blen;","        free(cur_merges);","        if (prefix_tok.tok) free(prefix_tok.tok);","        free_counts(\u0026ct);","        free_descriptors(\u0026dd);","        free_bytestrings(dest_bs, V);","        free(dest_ulen);","        int32_t *prefix_units = bytes_to_units(dest, prefix_len);","        prefix_tok = grow_bpe(prefix_units, prefix_len, 2048, 4, \u0026cur_merges, \u0026n_cur_merges);","        free(prefix_units);","        V = 256 + n_cur_merges;","        ct = build_counts(prefix_tok.tok, prefix_tok.n, V);","        n1_total = 0;","        for (long i = 0; i \u003c V; i++) n1_total += ct.n1[i];","        dest_ulen = build_unit_len(cur_merges, n_cur_merges);","        dd = compute_descriptors(prefix_tok.tok, prefix_tok.n, V, ct.n1, dest_ulen);","        dest_bs = build_bytestrings(cur_merges, n_cur_merges);","    }","    free(cur_merges);","    if (prefix_tok.tok) free(prefix_tok.tok);","    free_counts(\u0026ct);","    free_descriptors(\u0026dd);","    free_bytestrings(dest_bs, V);","    free(dest_ulen);","    if (have_align) { free_align_map(\u0026amap); free_align_map(\u0026amap_shuf); }","    return cr;","}","","/* ---------------- main (stage 1+2 driver) ---------------- */","","int main(void) {","    long A_n;","    unsigned char *A = read_file(\"/Users/ataeff/arianna/netta/netta.txt\", \u0026A_n);","    {","        char hex[65];","        sha256_hex(A, A_n, hex);","        const char *expect_A = \"02c08152e281d28e48e17a2b6813bb693dfa255c94f30e033137409d0e8b5cfb\";","        printf(\"A.sha256=%s len=%ld match=%d\\n\", hex, A_n,","               (strcmp(hex, expect_A) == 0 \u0026\u0026 A_n == 447545));","    }","    long train_len = (long)(0.9 * (double)A_n);","    printf(\"A-train length: %ld\\n\", train_len);","","    /* ---- worlds ---- */","    unsigned char perm[256];","    build_cipher_perm(perm, 0xC1F3E5ULL);","    unsigned char *W_iso = build_w_iso(A, A_n, perm);","    unsigned char *W_ghost = build_w_ghost(A, train_len, A_n, 0x5EED01ULL);","    unsigned char rank_word[16][32]; int rank_len[16];","    long W_ff_n;","    unsigned char *W_ff = build_w_ff(A, A_n, train_len, \u0026W_ff_n, rank_word, rank_len);","","    char hex_iso[65], hex_ghost[65], hex_ff[65];","    sha256_hex(W_iso, A_n, hex_iso);","    sha256_hex(W_ghost, A_n, hex_ghost);","    sha256_hex(W_ff, W_ff_n, hex_ff);","","    const char *expect_iso = \"6f6816cfe77f952d7cba723d1068f6d637de7156a3a80a366a5002fcd22306c6\";","    const char *expect_ghost = \"b422ad11aa911c650c72ca99e66356a20eeb79fdf2c07f09e316f3829f4e8af1\";","    const char *expect_ff = \"9caae8c103896bea71b80276406239aa2f251b90a256f546827e02e4d88fbc47\";","    /* NOTE: expected strings above are 65 chars incl NUL slot check below */","    printf(\"W_iso   sha256=%s  match=%d  (manifest %.64s)\\n\", hex_iso, strncmp(hex_iso, expect_iso, 64)==0, expect_iso);","    printf(\"W_ghost sha256=%s  match=%d\\n\", hex_ghost, strncmp(hex_ghost, expect_ghost, 64)==0);","    printf(\"W_ff    sha256=%s  match=%d  len=%ld (expect 445973)\\n\", hex_ff, strncmp(hex_ff, expect_ff, 64)==0, W_ff_n);","","    /* ---- A-side past (built once from A-train) ---- */","    fprintf(stderr, \"building A-side past (BPE on A-train, %ld bytes)...\\n\", train_len);","    APast past = build_a_past(A, train_len);","    fprintf(stderr, \"past: A-train %ld B | merges %d | units %ld | stream %ld\\n\",","            train_len, past.n_merges, past.V, past.tok.n);","","    /* ---- cipher isomorphism proof ---- */","    long iso_matched, iso_total; int iso_cipher_merges;","    prove_isomorphism(A, train_len, perm, past.merges, past.n_merges, \u0026iso_matched, \u0026iso_total, \u0026iso_cipher_merges);","    fprintf(stderr, \"isomorphism: matched=%ld total=%ld A_merges=%d cipher_merges=%d\\n\",","            iso_matched, iso_total, past.n_merges, iso_cipher_merges);","","    /* ---- ghost raw invariants (verifier-computed, independent of ghost_invariants.tsv) ---- */","    double ghost_L1, ghost_MI;","    {","        long a_counts[256] = {0}, g_counts[256] = {0};","        for (long i = 0; i \u003c train_len; i++) a_counts[A[i]]++;","        for (long i = 0; i \u003c A_n; i++) g_counts[W_ghost[i]]++;","        double l1 = 0.0;","        for (int b = 0; b \u003c 256; b++) {","            double pa = (double)a_counts[b] / (double)train_len;","            double pg = (double)g_counts[b] / (double)A_n;","            l1 += fabs(pa - pg);","        }","        ghost_L1 = l1;","        /* raw bigram MI on W_ghost itself */","        long *bi = calloc(256*256, sizeof(long));","        for (long i = 0; i \u003c A_n - 1; i++) bi[W_ghost[i]*256 + W_ghost[i+1]]++;","        long total_bi = A_n - 1;","        double mi = 0.0;","        for (int x = 0; x \u003c 256; x++) {","            double px = (double)g_counts[x] / (double)A_n;","            if (px \u003c= 0) continue;","            for (int y = 0; y \u003c 256; y++) {","                long c = bi[x*256+y];","                if (c == 0) continue;","                double pxy = (double)c / (double)total_bi;","                double py = (double)g_counts[y] / (double)A_n;","                if (py \u003c= 0) continue;","                mi += pxy * log2(pxy / (px*py));","            }","        }","        ghost_MI = mi;","        free(bi);","        fprintf(stderr, \"ghost raw invariants (verifier): unigram L1=%.6f (bound \u003c=0.01) | bigram MI=%.6f bits (bound \u003c=0.01)\\n\", ghost_L1, ghost_MI);","    }","","    /* ---- ghost consumed-level stats (open point: no frozen bound) ---- */","    double ghost_unit_H1 = 0.0, ghost_unit_MI = 0.0; long ghost_final_units = 0, ghost_final_stream = 0;","    {","        int32_t *units = bytes_to_units(W_ghost, A_n);","        Merge *gm; int n_gm;","        TokStream gt = grow_bpe(units, A_n, 2048, 4, \u0026gm, \u0026n_gm);","        free(units);","        long V = 256 + n_gm;","        long *n1 = build_n1(gt.tok, gt.n, V);","        long total = gt.n;","        double H1 = 0.0;","        for (long u = 0; u \u003c V; u++) if (n1[u] \u003e 0) { double p = (double)n1[u]/(double)total; H1 += -p*log2(p); }","        long n_fwd1; Pair2 *fwd1 = build_dist_pairs(gt.tok, gt.n, 1, \u0026n_fwd1);","        double mi = 0.0;","        long m2 = gt.n - 1;","        for (long i = 0; i \u003c n_fwd1; i++) {","            double pxy = (double)fwd1[i].c / (double)m2;","            double px = (double)n1[fwd1[i].a] / (double)total;","            double py = (double)n1[fwd1[i].b] / (double)total;","            mi += pxy * log2(pxy / (px*py));","        }","        ghost_unit_H1 = H1; ghost_unit_MI = mi;","        ghost_final_units = V; ghost_final_stream = gt.n;","        fprintf(stderr, \"ghost consumed-level (verifier, OPEN POINT no frozen bound): unit H1=%.4f bits | unit bigram MI=%.4f bits | units=%ld stream=%ld\\n\",","                ghost_unit_H1, ghost_unit_MI, ghost_final_units, ghost_final_stream);","        free(n1); free(fwd1); free(gm); free(gt.tok);","    }","","    /* ---- shuffle map (A alive units, seed 0x54AFF1E) ---- */","    int32_t *shuf_map = build_shuffle_map(\u0026past.desc, 0x54AFF1EULL);","","    /* ---- oracle transforms ---- */","    OracleXform xform_iso; memset(\u0026xform_iso, 0, sizeof(xform_iso));","    xform_iso.kind = XFORM_CIPHER;","    memcpy(xform_iso.cipher_perm, perm, 256);","","    OracleXform xform_ghost; memset(\u0026xform_ghost, 0, sizeof(xform_ghost));","    xform_ghost.kind = XFORM_NONE;","","    OracleXform xform_ff; memset(\u0026xform_ff, 0, sizeof(xform_ff));","    xform_ff.kind = XFORM_FF;","    memcpy(xform_ff.rank_word, rank_word, sizeof(rank_word));","    memcpy(xform_ff.rank_len, rank_len, sizeof(rank_len));","","    /* ---- run the full court per world ---- */","    fprintf(stderr, \"running full court: W-iso (%ld bytes)...\\n\", A_n);","    CourtResult cr_iso = run_full_court(W_iso, A_n, \u0026past, \u0026xform_iso, shuf_map, 1, \"iso\");","    fprintf(stderr, \"running full court: W-ghost (%ld bytes)...\\n\", A_n);","    CourtResult cr_ghost = run_full_court(W_ghost, A_n, \u0026past, \u0026xform_ghost, shuf_map, 1, \"ghost\");","    fprintf(stderr, \"running full court: W-ff (%ld bytes)...\\n\", W_ff_n);","    CourtResult cr_ff = run_full_court(W_ff, W_ff_n, \u0026past, \u0026xform_ff, shuf_map, 1, \"ff\");","","    /* ---- full per-chunk-per-arm dump (debug aid, NOT one of the required outputs) ---- */","    {","        CourtResult *crs[3] = { \u0026cr_iso, \u0026cr_ghost, \u0026cr_ff };","        const char *names[3] = { \"iso\", \"ghost\", \"ff\" };","        for (int w = 0; w \u003c 3; w++) {","            char path[512];","            snprintf(path, sizeof(path), \"/private/tmp/claude-501/-Users-ataeff/c2fa4c8e-e745-48a4-aaab-ee818ef74980/scratchpad/my_evidence_%s.tsv\", names[w]);","            FILE *f = fopen(path, \"w\");","            for (int a = 0; a \u003c N_ARMS; a++) {","                for (long ch = 0; ch \u003c crs[w]-\u003en_chunks; ch++) {","                    ArmChunkResult *r = \u0026crs[w]-\u003eres[a][ch];","                    fprintf(f, \"%ld\\t%ld\\t%ld\\t%s\\t%ld\\t%.17g\\t%.6f\\t%.6f\\t%d\\t%ld\\n\",","                            r-\u003echunk, r-\u003ebyte_offset, r-\u003ebyte_len, ARM_NAME[a], r-\u003epositions, r-\u003ebits,","                            r-\u003eL_end, r-\u003eledger_end, r-\u003estate_end, r-\u003eundefined_positions);","                }","            }","            fclose(f);","        }","    }","","    /* ---- G_N computation ---- */","    long horizons[4] = {1024, 4096, 16384, 65536};","    CourtResult *crs[3] = { \u0026cr_iso, \u0026cr_ghost, \u0026cr_ff };","    const char *wnames[3] = { \"iso\", \"ghost\", \"ff\" };","    double GN[3][N_ARMS][4]; /* [world][arm][horizon] */","    for (int w = 0; w \u003c 3; w++) {","        for (int a = 0; a \u003c N_ARMS; a++) {","            for (int h = 0; h \u003c 4; h++) {","                long n_ch_needed = horizons[h] / 1024;","                double g = 0.0;","                for (long ch = 0; ch \u003c n_ch_needed \u0026\u0026 ch \u003c crs[w]-\u003en_chunks; ch++)","                    g += crs[w]-\u003eres[ARM_COLD][ch].bits - crs[w]-\u003eres[a][ch].bits;","                GN[w][a][h] = g;","            }","        }","    }","","    /* ---- write results_transfer.tsv ---- */","    {","        FILE *f = fopen(\"/Users/ataeff/arianna/netta/transfer0/results_transfer.tsv\", \"w\");","        fprintf(f, \"world\\tarm\\thorizon\\tG_N\\tfinal_state\\tfinal_ledger\\tfinal_L\\n\");","        for (int w = 0; w \u003c 3; w++) {","            for (int a = 0; a \u003c N_ARMS; a++) {","                long last_ch = crs[w]-\u003en_chunks - 1;","                ArmChunkResult *last = \u0026crs[w]-\u003eres[a][last_ch];","                for (int h = 0; h \u003c 4; h++) {","                    fprintf(f, \"%s\\t%s\\t%ld\\t%.6f\\t%d\\t%.6f\\t%.6f\\n\",","                            wnames[w], ARM_NAME[a], horizons[h], GN[w][a][h],","                            last-\u003estate_end, last-\u003eledger_end, last-\u003eL_end);","                }","            }","        }","        fclose(f);","    }","","    /* ---- shadow gate self-check (state=0 rows must equal cold bits exactly) ---- */","    long shadow_violations = 0;","    for (int w = 0; w \u003c 3; w++) {","        for (int a = 1; a \u003c N_ARMS; a++) {","            for (long ch = 0; ch \u003c crs[w]-\u003en_chunks; ch++) {","                ArmChunkResult *r = \u0026crs[w]-\u003eres[a][ch];","                if (r-\u003estate_end == 0) {","                    /* state at CHUNK END is 0; if it was ALSO 0 at chunk START (i.e. never","                       earned during this chunk) bits must equal cold's bits exactly. We only","                       have chunk-end state here, so this checks the common case (arms that","                       stayed unearned the whole chunk); a chunk that earns-then-revokes within","                       itself would show state_end=0 but bits != cold, which is NOT a violation","                       of the frozen law (mid-chunk earn/revoke is legal) -- flagged separately. */","                    double cold_bits = crs[w]-\u003eres[ARM_COLD][ch].bits;","                    if (fabs(r-\u003ebits - cold_bits) \u003e 1e-6 * (fabs(cold_bits) + 1.0)) {","                        shadow_violations++;","                    }","                }","            }","        }","    }","    fprintf(stderr, \"shadow-gate raw scan: %ld chunk/arm rows with state_end=0 but bits != cold bits \"","                     \"(may include legitimate mid-chunk earn-then-revoke; see report)\\n\", shadow_violations);","","    /* ---- PASS/FAIL verdict ---- */","    {","        FILE *f = fopen(\"/Users/ataeff/arianna/netta/transfer0/verdict_transfer.md\", \"w\");","        fprintf(f, \"# NETTA Transfer Court — Independent Verdict\\n\\n\");","        fprintf(f, \"Computed entirely from this program's own repriced numbers, per TRANSFER_PROTOCOL.md.\\n\\n\");","        fprintf(f, \"## G_N table (bits)\\n\\n\");","        fprintf(f, \"| world | arm | G_1024 | G_4096 | G_16384 | G_65536 |\\n|---|---|---|---|---|---|\\n\");","        for (int w = 0; w \u003c 3; w++)","            for (int a = 0; a \u003c N_ARMS; a++)","                fprintf(f, \"| %s | %s | %.2f | %.2f | %.2f | %.2f |\\n\", wnames[w], ARM_NAME[a],","                        GN[w][a][0], GN[w][a][1], GN[w][a][2], GN[w][a][3]);","","        double MARGIN = 0.01 * 16384.0;","        fprintf(f, \"\\nDeciding horizon N=16384, MARGIN=%.2f bits.\\n\\n\", MARGIN);","","        fprintf(f, \"## Anti-smoothing difference D = G_16384(arm,iso) - G_16384(arm,ghost)\\n\\n\");","        for (int a = 1; a \u003c N_ARMS; a++) {","            double D = GN[0][a][2] - GN[1][a][2];","            fprintf(f, \"- %s: D = %.2f bits\\n\", ARM_NAME[a], D);","        }","","        fprintf(f, \"\\n## Gates\\n\\n\");","        int ff_fail[N_ARMS] = {0}, ghost_fail[N_ARMS] = {0}, interferes_any[N_ARMS] = {0};","        for (int a = 1; a \u003c N_ARMS; a++) {","            if (GN[2][a][2] \u003c= -MARGIN) { ff_fail[a] = 1; fprintf(f, \"- %s: FALSE-FRIEND GATE FAILED on W-ff (\\\"surface authority leaked\\\"), G_16384=%.2f\\n\", ARM_NAME[a], GN[2][a][2]); }","            if (GN[1][a][2] \u003c= -MARGIN) { ghost_fail[a] = 1; fprintf(f, \"- %s: NON-IMPOSITION GATE FAILED on W-ghost (\\\"past imposed on a strange world\\\"), G_16384=%.2f\\n\", ARM_NAME[a], GN[1][a][2]); }","            for (int w = 0; w \u003c 3; w++) if (GN[w][a][2] \u003c= -MARGIN) interferes_any[a] = 1;","        }","","        fprintf(f, \"\\n## Verdicts (competition arms: cache, align, both)\\n\\n\");","        int any_pass = 0;","        for (int a = ARM_CACHE; a \u003c= ARM_BOTH; a++) {","            double g_iso = GN[0][a][2];","            double g_shuf = GN[0][ARM_SHUF][2];","            double D = GN[0][a][2] - GN[1][a][2];","            int beats_margin = (g_iso \u003e= MARGIN);","            int beats_shuf = (g_iso - g_shuf \u003e= MARGIN);","            int d_ok = (D \u003e= MARGIN);","            int ff_ok = !ff_fail[a];","            int pass = beats_margin \u0026\u0026 beats_shuf \u0026\u0026 d_ok \u0026\u0026 ff_ok;","            fprintf(f, \"- **%s**: G_16384(iso)=%.2f (need \u003e=%.2f: %s) | beats shuffled by %.2f (need \u003e=%.2f: %s) | D=%.2f (need \u003e=%.2f: %s) | false-friend gate: %s =\u003e %s\\n\",","                    ARM_NAME[a], g_iso, MARGIN, beats_margin?\"yes\":\"no\",","                    g_iso-g_shuf, MARGIN, beats_shuf?\"yes\":\"no\",","                    D, MARGIN, d_ok?\"yes\":\"no\",","                    ff_ok?\"passes\":\"FAILS\",","                    pass ? \"TRANSFER EARNED (PREDICTIVELY)\" : \"not earned\");","            if (pass) any_pass = 1;","        }","","        fprintf(f, \"\\n## Overall\\n\\n\");","        if (any_pass) {","            fprintf(f, \"At least one competition arm meets \\\"Transfer earned (predictively)\\\" at N=16384. Ceiling: predictive status only.\\n\");","        } else {","            double g_oracle_iso = GN[0][ARM_ORACLE][2];","            fprintf(f, \"\\\"Transfer not detected\\\": no competition arm meets the PASS wording at N=16384.\\n\");","            if (g_oracle_iso \u003c MARGIN) {","                fprintf(f, \"\\nAdditionally, oracle itself fails G_16384\u003e=MARGIN on W-iso (oracle G_16384=%.2f \u003c %.2f): \"","                            \"\\\"transfer not detected: carried memory insufficient\\\" — the matcher is exonerated, the memory itself is the failure.\\n\",","                        g_oracle_iso, MARGIN);","            }","        }","","        fprintf(f, \"\\n## Interference (any arm, any world, G_16384 \u003c= -MARGIN)\\n\\n\");","        int any_interferes = 0;","        for (int a = 1; a \u003c N_ARMS; a++) if (interferes_any[a]) {","            any_interferes = 1;","            for (int w = 0; w \u003c 3; w++) if (GN[w][a][2] \u003c= -MARGIN)","                fprintf(f, \"- %s on %s: G_16384=%.2f \u003c= -%.2f -\u003e \\\"past experience interferes\\\"\\n\", ARM_NAME[a], wnames[w], GN[w][a][2], MARGIN);","        }","        if (!any_interferes) fprintf(f, \"None.\\n\");","","        fprintf(f, \"\\n## Ghost invariants (verifier-computed)\\n\\n\");","        fprintf(f, \"- Raw: unigram L1=%.6f (bound \u003c=0.01, %s) | bigram MI=%.6f bits (bound \u003c=0.01, %s)\\n\",","                ghost_L1, ghost_L1\u003c=0.01?\"holds\":\"VIOLATED\", ghost_MI, ghost_MI\u003c=0.01?\"holds\":\"VIOLATED\");","        fprintf(f, \"- Consumed (post-unit) level, OPEN POINT — the protocol froze raw-level thresholds only, no bound exists at this level: \"","                    \"unit unigram entropy=%.4f bits, unit bigram MI=%.4f bits (units=%ld, stream=%ld tokens)\\n\",","                ghost_unit_H1, ghost_unit_MI, ghost_final_units, ghost_final_stream);","","        fprintf(f, \"\\n## Isomorphism (W-iso construction)\\n\\n\");","        fprintf(f, \"- A-train merges: %d | cipher(A-train) merges: %d | matched in lockstep: %ld / %ld\\n\",","                past.n_merges, iso_cipher_merges, iso_matched, iso_total);","","        fprintf(f, \"\\n## World reconstruction\\n\\n\");","        fprintf(f, \"- W-iso sha256=%s match=%d\\n\", hex_iso, strncmp(hex_iso, expect_iso, 64)==0);","        fprintf(f, \"- W-ghost sha256=%s match=%d\\n\", hex_ghost, strncmp(hex_ghost, expect_ghost, 64)==0);","        fprintf(f, \"- W-ff sha256=%s match=%d len=%ld\\n\", hex_ff, strncmp(hex_ff, expect_ff, 64)==0, W_ff_n);","","        fclose(f);","    }","","    fprintf(stderr, \"done. results_transfer.tsv and verdict_transfer.md written.\\n\");","","    free(A); free(W_iso); free(W_ghost); free(W_ff);","    return 0;","}"],"stylingDirectives":[[[0,72,"pl-c"]],[[0,73,"pl-c"]],[[0,70,"pl-c"]],[[0,64,"pl-c"]],[[0,2,"pl-c"]],[[0,67,"pl-c"]],[[0,70,"pl-c"]],[[0,68,"pl-c"]],[[0,70,"pl-c"]],[[0,68,"pl-c"]],[[0,3,"pl-c"]],[],[[0,8,"pl-k"],[9,18,"pl-s"]],[[0,8,"pl-k"],[9,19,"pl-s"]],[[0,8,"pl-k"],[9,19,"pl-s"]],[[0,8,"pl-k"],[9,19,"pl-s"]],[[0,8,"pl-k"],[9,17,"pl-s"]],[],[[0,72,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,12,"pl-smi"],[13,18,"pl-c1"],[19,20,"pl-c1"]],[[4,12,"pl-smi"],[13,19,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,21,"pl-c1"],[22,24,"pl-c1"]],[[4,10,"pl-smi"],[11,17,"pl-c1"]],[[2,8,"pl-smi"]],[],[[0,6,"pl-k"],[7,12,"pl-k"],[13,21,"pl-smi"],[22,30,"pl-s1"],[31,33,"pl-c1"],[35,36,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[[4,14,"pl-c1"],[15,25,"pl-c1"],[26,36,"pl-c1"],[37,47,"pl-c1"],[48,58,"pl-c1"],[59,69,"pl-c1"],[70,80,"pl-c1"],[81,91,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,27,"pl-en"],[28,36,"pl-smi"],[37,38,"pl-s1"],[40,43,"pl-smi"],[44,45,"pl-s1"],[49,55,"pl-k"],[57,58,"pl-s1"],[62,63,"pl-s1"],[68,69,"pl-s1"],[74,76,"pl-c1"],[77,78,"pl-c1"],[79,80,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,35,"pl-smi"],[36,37,"pl-c1"],[37,40,"pl-s1"],[42,47,"pl-k"],[48,61,"pl-smi"],[57,61,"pl-smi"],[62,63,"pl-c1"],[63,67,"pl-s1"]],[[4,12,"pl-smi"],[13,14,"pl-s1"],[15,17,"pl-c1"],[20,21,"pl-s1"],[23,24,"pl-s1"],[26,27,"pl-s1"],[29,30,"pl-s1"],[32,33,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-s1"],[41,42,"pl-s1"],[44,46,"pl-s1"],[48,50,"pl-s1"]],[[4,7,"pl-smi"],[8,9,"pl-s1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"]],[[8,9,"pl-s1"],[10,11,"pl-s1"],[13,14,"pl-c1"],[17,25,"pl-smi"],[26,30,"pl-s1"],[31,32,"pl-s1"],[32,33,"pl-c1"],[33,34,"pl-c1"],[39,41,"pl-c1"],[47,55,"pl-smi"],[56,60,"pl-s1"],[61,62,"pl-s1"],[62,63,"pl-c1"],[63,64,"pl-c1"],[64,65,"pl-c1"],[65,66,"pl-c1"],[71,73,"pl-c1"]],[[17,25,"pl-smi"],[26,30,"pl-s1"],[31,32,"pl-s1"],[32,33,"pl-c1"],[33,34,"pl-c1"],[34,35,"pl-c1"],[35,36,"pl-c1"],[41,42,"pl-c1"],[48,56,"pl-smi"],[57,61,"pl-s1"],[62,63,"pl-s1"],[63,64,"pl-c1"],[64,65,"pl-c1"],[65,66,"pl-c1"],[66,67,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"]],[[8,16,"pl-smi"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-en"],[34,35,"pl-s1"],[36,37,"pl-s1"],[37,38,"pl-c1"],[38,40,"pl-c1"],[43,44,"pl-c1"],[48,59,"pl-en"],[60,61,"pl-s1"],[62,63,"pl-s1"],[63,64,"pl-c1"],[64,66,"pl-c1"],[69,71,"pl-c1"],[76,77,"pl-s1"],[78,79,"pl-s1"],[79,80,"pl-c1"],[80,82,"pl-c1"],[87,88,"pl-c1"]],[[8,16,"pl-smi"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-en"],[34,35,"pl-s1"],[36,37,"pl-s1"],[37,38,"pl-c1"],[38,39,"pl-c1"],[42,44,"pl-c1"],[48,59,"pl-en"],[60,61,"pl-s1"],[62,63,"pl-s1"],[63,64,"pl-c1"],[64,65,"pl-c1"],[68,70,"pl-c1"],[75,76,"pl-s1"],[77,78,"pl-s1"],[78,79,"pl-c1"],[79,80,"pl-c1"],[85,87,"pl-c1"]],[[8,9,"pl-s1"],[10,11,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"],[17,18,"pl-s1"],[18,19,"pl-c1"],[19,21,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-s1"],[32,33,"pl-s1"],[33,34,"pl-c1"],[34,35,"pl-c1"],[37,38,"pl-c1"],[39,41,"pl-s1"]],[],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,18,"pl-c1"],[19,20,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,37,"pl-c1"],[38,39,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,49,"pl-s1"],[49,51,"pl-c1"],[51,56,"pl-c1"],[57,58,"pl-c1"],[61,62,"pl-s1"],[63,64,"pl-c1"],[65,68,"pl-s1"],[68,70,"pl-c1"],[70,75,"pl-c1"],[76,77,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,18,"pl-c1"],[19,20,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,37,"pl-c1"],[38,39,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,49,"pl-s1"],[49,51,"pl-c1"],[51,56,"pl-c1"],[57,58,"pl-c1"],[61,62,"pl-s1"],[63,64,"pl-c1"],[65,68,"pl-s1"],[68,70,"pl-c1"],[70,75,"pl-c1"],[76,77,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[24,25,"pl-s1"],[25,27,"pl-c1"]],[[8,16,"pl-smi"],[17,19,"pl-c1"],[20,21,"pl-c1"],[22,33,"pl-en"],[34,35,"pl-s1"],[36,37,"pl-c1"],[41,52,"pl-en"],[53,54,"pl-s1"],[55,57,"pl-c1"],[61,72,"pl-en"],[73,74,"pl-s1"],[75,77,"pl-c1"]],[[8,16,"pl-smi"],[17,19,"pl-s1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-s1"]],[[8,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,19,"pl-c1"],[20,21,"pl-c1"],[22,24,"pl-s1"],[25,26,"pl-c1"],[27,35,"pl-s1"],[36,37,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-s1"],[43,44,"pl-s1"]],[[8,16,"pl-smi"],[17,19,"pl-c1"],[20,21,"pl-c1"],[22,33,"pl-en"],[34,35,"pl-s1"],[36,37,"pl-c1"],[41,52,"pl-en"],[53,54,"pl-s1"],[55,57,"pl-c1"],[61,72,"pl-en"],[73,74,"pl-s1"],[75,77,"pl-c1"]],[[8,16,"pl-smi"],[17,20,"pl-s1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[34,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-s1"],[44,45,"pl-s1"],[46,47,"pl-c1"],[48,49,"pl-s1"]],[[8,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,39,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,35,"pl-s1"],[36,37,"pl-c1"],[38,40,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-s1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,34,"pl-c1"],[35,36,"pl-c1"],[38,40,"pl-c1"],[41,42,"pl-s1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,54,"pl-c1"],[55,56,"pl-c1"],[58,60,"pl-c1"],[61,62,"pl-s1"],[64,67,"pl-s1"],[67,69,"pl-c1"],[69,74,"pl-c1"],[75,76,"pl-c1"],[78,80,"pl-c1"],[81,82,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-s1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,34,"pl-c1"],[35,36,"pl-c1"],[38,40,"pl-c1"],[41,42,"pl-s1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,54,"pl-c1"],[55,56,"pl-c1"],[58,60,"pl-c1"],[61,62,"pl-s1"],[64,67,"pl-s1"],[67,69,"pl-c1"],[69,74,"pl-c1"],[75,76,"pl-c1"],[78,80,"pl-c1"],[81,82,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,30,"pl-smi"],[31,32,"pl-c1"],[32,35,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[18,28,"pl-c1"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,40,"pl-c1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[44,54,"pl-c1"],[56,59,"pl-s1"],[59,61,"pl-c1"],[61,66,"pl-c1"],[67,68,"pl-c1"],[69,70,"pl-c1"],[70,80,"pl-c1"],[82,85,"pl-s1"],[85,87,"pl-c1"],[87,92,"pl-c1"],[93,94,"pl-c1"],[95,96,"pl-c1"],[96,106,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[18,28,"pl-c1"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,40,"pl-c1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[44,54,"pl-c1"],[56,59,"pl-s1"],[59,61,"pl-c1"],[61,66,"pl-c1"],[67,68,"pl-c1"],[69,70,"pl-c1"],[70,80,"pl-c1"],[82,85,"pl-s1"],[85,87,"pl-c1"],[87,92,"pl-c1"],[93,94,"pl-c1"],[95,96,"pl-c1"],[96,106,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,25,"pl-en"],[26,32,"pl-smi"],[33,34,"pl-c1"],[34,37,"pl-s1"],[39,44,"pl-k"],[45,58,"pl-smi"],[54,58,"pl-smi"],[59,60,"pl-c1"],[60,64,"pl-s1"],[66,72,"pl-smi"],[73,76,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-s1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-s1"],[25,26,"pl-s1"],[26,28,"pl-c1"]],[[8,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"],[28,30,"pl-c1"],[32,33,"pl-c1"],[34,38,"pl-s1"],[39,40,"pl-s1"]],[[8,10,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,29,"pl-c1"]],[[12,28,"pl-en"],[29,32,"pl-s1"],[34,37,"pl-s1"],[37,39,"pl-c1"],[39,42,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,30,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,24,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-c1"],[33,36,"pl-s1"],[38,51,"pl-smi"],[47,51,"pl-smi"],[52,55,"pl-s1"],[56,58,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,18,"pl-c1"],[20,28,"pl-smi"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,40,"pl-c1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,16,"pl-c1"],[18,19,"pl-c1"],[20,24,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-c1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,31,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[8,24,"pl-en"],[25,28,"pl-s1"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,38,"pl-c1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,41,"pl-c1"],[42,43,"pl-s1"],[43,45,"pl-c1"],[47,48,"pl-c1"],[50,63,"pl-smi"],[59,63,"pl-smi"],[65,68,"pl-s1"],[68,70,"pl-c1"],[70,76,"pl-c1"],[81,82,"pl-s1"],[82,83,"pl-c1"],[83,84,"pl-c1"]],[[4,20,"pl-en"],[21,24,"pl-s1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,34,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[24,26,"pl-c1"]],[[8,11,"pl-s1"],[12,13,"pl-s1"],[13,14,"pl-c1"],[14,15,"pl-c1"],[19,20,"pl-c1"],[22,35,"pl-smi"],[31,35,"pl-smi"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[48,49,"pl-s1"],[54,56,"pl-c1"]],[[8,11,"pl-s1"],[12,13,"pl-s1"],[13,14,"pl-c1"],[14,15,"pl-c1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[22,35,"pl-smi"],[31,35,"pl-smi"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[48,49,"pl-s1"],[54,56,"pl-c1"]],[[8,11,"pl-s1"],[12,13,"pl-s1"],[13,14,"pl-c1"],[14,15,"pl-c1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[22,35,"pl-smi"],[31,35,"pl-smi"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[48,49,"pl-s1"],[54,55,"pl-c1"]],[[8,11,"pl-s1"],[12,13,"pl-s1"],[13,14,"pl-c1"],[14,15,"pl-c1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[22,35,"pl-smi"],[31,35,"pl-smi"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[48,49,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,22,"pl-en"],[23,28,"pl-k"],[29,42,"pl-smi"],[38,42,"pl-smi"],[43,44,"pl-c1"],[44,48,"pl-s1"],[50,54,"pl-smi"],[55,58,"pl-s1"],[60,64,"pl-smi"],[65,72,"pl-s1"],[73,75,"pl-c1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"],[16,29,"pl-smi"],[25,29,"pl-smi"],[30,36,"pl-s1"],[37,39,"pl-c1"]],[[4,15,"pl-en"],[16,17,"pl-c1"],[17,20,"pl-s1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[24,28,"pl-s1"],[31,37,"pl-smi"],[38,41,"pl-s1"]],[[4,16,"pl-en"],[17,18,"pl-c1"],[18,21,"pl-s1"],[23,29,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,40,"pl-en"],[41,48,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-s1"],[52,53,"pl-c1"],[53,54,"pl-c1"],[56,62,"pl-s"],[64,70,"pl-s1"],[71,72,"pl-s1"]],[[4,11,"pl-s1"],[12,14,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[],[[0,67,"pl-c"]],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,24,"pl-en"],[25,33,"pl-smi"],[34,35,"pl-c1"],[35,40,"pl-s1"]],[[4,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[18,23,"pl-s1"]],[[4,5,"pl-s1"],[9,10,"pl-s1"],[14,16,"pl-c1"]],[[4,5,"pl-s1"],[9,10,"pl-s1"],[14,15,"pl-c1"]],[[4,5,"pl-s1"],[9,10,"pl-s1"],[14,16,"pl-c1"]],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,47,"pl-c"]],[],[[0,6,"pl-k"],[7,20,"pl-smi"],[16,20,"pl-smi"],[21,22,"pl-c1"],[22,31,"pl-en"],[32,37,"pl-k"],[38,42,"pl-smi"],[43,44,"pl-c1"],[44,48,"pl-s1"],[50,54,"pl-smi"],[55,56,"pl-c1"],[56,63,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-en"],[20,24,"pl-s1"],[26,30,"pl-s"]],[[4,6,"pl-k"],[9,10,"pl-s1"],[14,21,"pl-en"],[22,28,"pl-s1"],[30,48,"pl-s"],[50,54,"pl-s1"],[57,61,"pl-en"],[62,63,"pl-c1"]],[[4,9,"pl-en"],[10,11,"pl-s1"],[13,14,"pl-c1"],[16,24,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,18,"pl-en"],[19,20,"pl-s1"]],[[4,9,"pl-en"],[10,11,"pl-s1"],[13,14,"pl-c1"],[16,24,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-en"],[33,39,"pl-smi"],[40,41,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-en"],[14,17,"pl-s1"],[19,20,"pl-c1"],[23,29,"pl-smi"],[30,31,"pl-s1"],[33,34,"pl-s1"],[36,38,"pl-c1"],[40,46,"pl-smi"],[47,48,"pl-s1"],[52,59,"pl-en"],[60,66,"pl-s1"],[68,85,"pl-s"],[87,91,"pl-s1"],[94,98,"pl-en"],[99,100,"pl-c1"]],[[4,10,"pl-en"],[11,12,"pl-s1"]],[[4,5,"pl-c1"],[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,58,"pl-c"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,29,"pl-en"],[30,43,"pl-smi"],[39,43,"pl-smi"],[44,48,"pl-s1"],[49,52,"pl-c1"],[55,63,"pl-smi"],[64,68,"pl-s1"]],[[4,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[34,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[45,58,"pl-smi"],[54,58,"pl-smi"],[59,60,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-c1"],[22,23,"pl-s1"],[27,28,"pl-c1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"]],[[8,11,"pl-smi"],[12,13,"pl-s1"],[14,15,"pl-c1"],[17,20,"pl-smi"],[22,23,"pl-s1"],[27,35,"pl-smi"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[8,21,"pl-smi"],[17,21,"pl-smi"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-s1"],[31,32,"pl-s1"],[35,39,"pl-s1"],[40,41,"pl-s1"],[43,44,"pl-c1"],[45,49,"pl-s1"],[50,51,"pl-s1"],[54,58,"pl-s1"],[59,60,"pl-s1"],[62,63,"pl-c1"],[64,65,"pl-s1"]],[],[],[],[[0,6,"pl-k"],[7,20,"pl-smi"],[16,20,"pl-smi"],[21,22,"pl-c1"],[22,33,"pl-en"],[34,39,"pl-k"],[40,53,"pl-smi"],[49,53,"pl-smi"],[54,55,"pl-c1"],[55,56,"pl-c1"],[58,62,"pl-smi"],[63,64,"pl-s1"],[66,71,"pl-k"],[72,85,"pl-smi"],[81,85,"pl-smi"],[86,90,"pl-s1"],[91,94,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-en"],[33,39,"pl-smi"],[40,41,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,36,"pl-s1"],[37,38,"pl-s1"],[40,41,"pl-c1"],[42,46,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,20,"pl-smi"],[16,20,"pl-smi"],[21,22,"pl-c1"],[22,35,"pl-en"],[36,41,"pl-k"],[42,55,"pl-smi"],[51,55,"pl-smi"],[56,57,"pl-c1"],[57,64,"pl-s1"],[66,70,"pl-smi"],[71,80,"pl-s1"],[82,86,"pl-smi"],[87,92,"pl-s1"],[94,102,"pl-smi"],[103,107,"pl-s1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[16,19,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,34,"pl-s1"],[36,37,"pl-s1"],[37,39,"pl-c1"],[41,47,"pl-s1"],[48,55,"pl-s1"],[56,57,"pl-s1"],[59,61,"pl-c1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[13,16,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[34,37,"pl-s1"],[38,39,"pl-s1"],[39,40,"pl-c1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,48,"pl-s1"],[49,50,"pl-s1"],[52,53,"pl-c1"],[54,60,"pl-s1"],[61,62,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-en"],[33,39,"pl-smi"],[40,45,"pl-s1"]],[[4,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[18,22,"pl-smi"],[24,25,"pl-s1"],[29,37,"pl-smi"],[38,43,"pl-s1"]],[[8,11,"pl-smi"],[12,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-c1"],[30,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[[8,51,"pl-c"]],[[8,13,"pl-k"],[15,17,"pl-s1"],[21,23,"pl-s1"]],[[12,15,"pl-smi"],[16,19,"pl-s1"],[20,21,"pl-c1"],[23,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-s1"],[34,35,"pl-c1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-s1"],[24,27,"pl-s1"],[27,28,"pl-c1"],[28,29,"pl-c1"],[34,35,"pl-s1"],[36,37,"pl-c1"],[38,41,"pl-s1"],[43,45,"pl-s1"],[46,47,"pl-c1"],[48,51,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[12,16,"pl-k"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[8,11,"pl-s1"],[12,13,"pl-s1"],[15,16,"pl-c1"],[18,31,"pl-smi"],[27,31,"pl-smi"],[32,33,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,30,"pl-smi"],[26,30,"pl-smi"],[31,35,"pl-c1"],[36,38,"pl-c1"],[41,44,"pl-smi"],[45,48,"pl-c1"],[50,54,"pl-smi"],[55,60,"pl-c1"],[62,66,"pl-smi"],[67,76,"pl-c1"],[80,88,"pl-smi"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,16,"pl-en"],[17,30,"pl-smi"],[26,30,"pl-smi"],[31,32,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,17,"pl-c1"],[17,19,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,26,"pl-c1"],[26,28,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,35,"pl-c1"],[35,37,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[44,46,"pl-c1"],[46,47,"pl-s1"],[47,49,"pl-c1"],[49,53,"pl-c1"],[53,55,"pl-c1"],[55,56,"pl-s1"],[56,58,"pl-c1"],[58,62,"pl-c1"]],[],[],[[0,72,"pl-c"]],[[0,73,"pl-c"]],[[0,75,"pl-c"]],[[0,6,"pl-k"],[7,20,"pl-smi"],[16,20,"pl-smi"],[21,22,"pl-c1"],[22,32,"pl-en"],[33,38,"pl-k"],[39,52,"pl-smi"],[48,52,"pl-smi"],[53,54,"pl-c1"],[54,55,"pl-c1"],[57,61,"pl-smi"],[62,63,"pl-s1"],[65,69,"pl-smi"],[70,79,"pl-s1"]],[[34,38,"pl-smi"],[39,40,"pl-c1"],[40,45,"pl-s1"]],[[34,47,"pl-smi"],[43,47,"pl-smi"],[48,57,"pl-s1"],[58,60,"pl-c1"],[62,64,"pl-c1"],[67,70,"pl-smi"],[71,79,"pl-s1"],[80,82,"pl-c1"]],[[4,92,"pl-c"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,26,"pl-c1"],[28,32,"pl-smi"],[33,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-c1"],[44,47,"pl-s1"],[48,49,"pl-c1"],[50,51,"pl-c1"]],[[4,8,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,24,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-en"],[18,19,"pl-c1"],[20,21,"pl-s1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[32,40,"pl-k"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,28,"pl-s1"],[29,31,"pl-c1"],[33,38,"pl-en"],[39,40,"pl-c1"],[41,42,"pl-s1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[8,11,"pl-smi"],[12,16,"pl-s1"],[17,18,"pl-c1"],[20,23,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[23,27,"pl-s1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[34,78,"pl-c"]],[[8,27,"pl-c"]],[[8,12,"pl-smi"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,34,"pl-s1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,23,"pl-s1"],[25,28,"pl-c1"],[29,31,"pl-c1"],[32,36,"pl-s1"],[37,39,"pl-c1"],[40,46,"pl-en"],[47,52,"pl-s1"],[53,54,"pl-s1"],[56,60,"pl-c1"],[62,63,"pl-c1"],[64,65,"pl-c1"],[66,67,"pl-s1"],[70,76,"pl-smi"],[77,81,"pl-s1"],[83,85,"pl-c1"],[86,87,"pl-c1"],[91,96,"pl-s1"],[97,98,"pl-c1"],[99,100,"pl-s1"],[102,107,"pl-k"]],[],[[8,10,"pl-k"],[12,17,"pl-s1"],[21,22,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-s1"],[25,30,"pl-c1"],[30,32,"pl-c1"]],[[10,14,"pl-k"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,24,"pl-c1"],[25,28,"pl-s1"]],[[16,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[28,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[38,42,"pl-c1"]],[[16,21,"pl-s1"],[22,23,"pl-c1"],[24,31,"pl-en"],[32,37,"pl-s1"],[40,46,"pl-smi"],[47,50,"pl-s1"],[51,52,"pl-c1"],[53,59,"pl-k"],[60,68,"pl-s1"]],[],[[12,18,"pl-en"],[19,24,"pl-s1"],[25,30,"pl-s1"],[32,36,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,43,"pl-s1"],[46,52,"pl-smi"],[53,57,"pl-s1"]],[[12,17,"pl-s1"],[18,23,"pl-s1"],[25,28,"pl-c1"],[29,30,"pl-c1"],[31,35,"pl-s1"]],[[12,17,"pl-s1"],[18,23,"pl-s1"],[25,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[[12,17,"pl-s1"],[18,23,"pl-s1"],[25,34,"pl-c1"],[35,36,"pl-c1"],[37,41,"pl-s1"]],[[12,17,"pl-s1"],[17,19,"pl-c1"]],[],[[8,12,"pl-s1"],[12,14,"pl-c1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"]],[],[[4,125,"pl-c"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[8,16,"pl-smi"],[17,20,"pl-s1"],[21,22,"pl-c1"],[23,28,"pl-s1"],[29,30,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[26,31,"pl-s1"],[32,33,"pl-s1"],[35,40,"pl-c1"],[41,42,"pl-c1"],[43,46,"pl-s1"],[47,52,"pl-c1"],[53,55,"pl-c1"]],[[16,21,"pl-s1"],[22,23,"pl-s1"],[25,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[38,43,"pl-c1"],[44,46,"pl-c1"],[47,52,"pl-s1"],[53,54,"pl-s1"],[56,65,"pl-c1"],[66,67,"pl-c1"],[68,71,"pl-s1"],[72,81,"pl-c1"]],[[12,17,"pl-s1"],[18,19,"pl-s1"],[19,20,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[31,32,"pl-s1"]],[[12,13,"pl-s1"],[13,15,"pl-c1"]],[],[[8,13,"pl-s1"],[14,15,"pl-s1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"]],[],[[4,7,"pl-smi"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"],[28,31,"pl-smi"],[32,37,"pl-s1"],[40,42,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-c1"],[20,27,"pl-en"],[28,34,"pl-s1"],[36,86,"pl-s"],[89,93,"pl-en"],[94,95,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"]],[[8,16,"pl-s1"],[17,18,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"],[28,29,"pl-s1"],[31,34,"pl-c1"]],[[8,14,"pl-en"],[15,24,"pl-s1"],[25,26,"pl-s1"],[29,34,"pl-s1"],[35,36,"pl-s1"],[38,42,"pl-c1"],[45,51,"pl-smi"],[52,57,"pl-s1"],[58,59,"pl-s1"],[61,64,"pl-c1"]],[],[[4,8,"pl-en"],[9,14,"pl-s1"]],[],[[4,41,"pl-c"]],[[4,73,"pl-c"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-en"],[33,39,"pl-smi"],[40,41,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-c1"],[48,50,"pl-c1"],[53,79,"pl-c"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"]],[[8,10,"pl-k"],[12,17,"pl-en"],[18,19,"pl-c1"],[20,21,"pl-s1"],[27,30,"pl-s1"],[31,33,"pl-s1"],[33,35,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-s1"],[45,46,"pl-s1"],[46,48,"pl-c1"],[50,58,"pl-k"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[21,23,"pl-c1"],[25,30,"pl-en"],[31,32,"pl-c1"],[33,34,"pl-s1"],[38,39,"pl-s1"],[39,41,"pl-c1"]],[[8,11,"pl-smi"],[12,16,"pl-s1"],[17,18,"pl-c1"],[20,23,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[8,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[20,22,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[16,18,"pl-k"],[20,28,"pl-s1"],[29,30,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-s1"],[40,42,"pl-c1"],[43,49,"pl-en"],[50,59,"pl-s1"],[60,61,"pl-s1"],[64,65,"pl-c1"],[66,67,"pl-c1"],[68,69,"pl-s1"],[72,78,"pl-smi"],[79,83,"pl-s1"],[85,87,"pl-c1"],[88,89,"pl-c1"],[93,100,"pl-s1"],[101,102,"pl-c1"],[103,104,"pl-s1"],[106,111,"pl-k"]],[],[],[[8,10,"pl-k"],[12,19,"pl-s1"],[23,24,"pl-c1"]],[[12,15,"pl-smi"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,33,"pl-s1"],[36,37,"pl-c1"],[39,62,"pl-c"]],[[12,18,"pl-en"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,38,"pl-s1"],[39,46,"pl-s1"],[50,56,"pl-smi"],[57,65,"pl-s1"],[66,73,"pl-s1"]],[[12,14,"pl-s1"],[15,17,"pl-c1"],[18,26,"pl-s1"],[27,34,"pl-s1"]],[[10,14,"pl-k"]],[[12,18,"pl-en"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-s1"],[37,43,"pl-smi"],[44,48,"pl-s1"]],[[12,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-s1"]],[],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"]],[],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,86,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,24,"pl-smi"],[25,26,"pl-c1"],[28,29,"pl-c1"],[33,38,"pl-smi"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,11,"pl-smi"]],[],[[0,73,"pl-c"]],[[0,65,"pl-c"]],[[0,76,"pl-c"]],[[0,71,"pl-c"]],[[0,48,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-smi"],[17,25,"pl-en"],[26,31,"pl-k"],[32,39,"pl-smi"],[40,41,"pl-c1"],[41,45,"pl-s1"],[47,51,"pl-smi"],[52,54,"pl-s1"],[56,59,"pl-smi"],[60,70,"pl-s1"],[72,75,"pl-smi"],[76,84,"pl-s1"]],[[27,32,"pl-smi"],[33,34,"pl-c1"],[34,35,"pl-c1"],[35,45,"pl-s1"],[47,50,"pl-smi"],[51,52,"pl-c1"],[52,64,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[35,37,"pl-s1"],[40,42,"pl-s1"],[45,46,"pl-c1"],[48,49,"pl-c1"],[50,56,"pl-k"],[57,64,"pl-smi"]],[[4,10,"pl-en"],[11,14,"pl-s1"],[16,20,"pl-s1"],[23,29,"pl-smi"],[30,32,"pl-s1"],[33,34,"pl-c1"],[35,41,"pl-k"],[42,49,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,20,"pl-s1"],[21,22,"pl-c1"],[23,29,"pl-en"],[31,37,"pl-smi"],[39,41,"pl-s1"],[44,46,"pl-s1"],[49,50,"pl-c1"],[52,53,"pl-c1"],[54,60,"pl-k"],[61,68,"pl-smi"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-en"],[28,34,"pl-smi"],[35,45,"pl-s1"],[46,47,"pl-c1"],[48,54,"pl-k"],[55,60,"pl-s1"]],[[4,7,"pl-smi"],[8,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-c1"]],[],[[4,72,"pl-c"]],[[0,71,"pl-c"]],[[0,52,"pl-c"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[4,9,"pl-k"],[11,14,"pl-s1"],[15,16,"pl-c1"],[18,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-c1"],[32,35,"pl-s1"],[40,41,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-en"],[27,30,"pl-s1"],[31,32,"pl-c1"],[33,39,"pl-k"],[40,47,"pl-smi"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,38,"pl-k"],[39,43,"pl-smi"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-en"],[28,31,"pl-s1"],[32,33,"pl-c1"],[34,40,"pl-k"],[41,45,"pl-smi"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-en"],[28,34,"pl-smi"],[35,38,"pl-s1"],[40,46,"pl-k"],[47,55,"pl-smi"]],[[4,12,"pl-smi"],[13,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,34,"pl-s1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[19,24,"pl-k"]],[[8,15,"pl-s1"],[15,17,"pl-c1"]],[[8,12,"pl-smi"],[13,23,"pl-s1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[30,40,"pl-s1"],[41,42,"pl-c1"],[43,45,"pl-c1"]],[[8,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[8,11,"pl-smi"],[12,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,19,"pl-smi"],[20,23,"pl-s1"],[24,25,"pl-c1"],[28,35,"pl-smi"],[36,39,"pl-s1"],[40,41,"pl-s1"],[46,48,"pl-c1"],[53,60,"pl-smi"],[62,70,"pl-smi"],[71,74,"pl-s1"],[75,76,"pl-s1"],[76,77,"pl-c1"],[77,78,"pl-c1"]],[[12,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[26,34,"pl-smi"],[35,38,"pl-s1"],[39,40,"pl-c1"],[41,62,"pl-c1"]],[[12,16,"pl-smi"],[17,21,"pl-s1"],[22,23,"pl-c1"],[25,29,"pl-smi"],[31,32,"pl-s1"],[33,34,"pl-c1"],[36,44,"pl-smi"],[46,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[[12,17,"pl-k"],[19,22,"pl-s1"],[23,27,"pl-s1"],[29,31,"pl-c1"],[32,39,"pl-s1"],[40,42,"pl-c1"],[43,47,"pl-s1"],[48,52,"pl-s1"],[54,56,"pl-c1"],[57,60,"pl-s1"],[62,66,"pl-s1"],[67,68,"pl-c1"],[70,74,"pl-s1"],[75,76,"pl-c1"],[77,78,"pl-c1"],[80,81,"pl-c1"],[83,86,"pl-s1"],[87,88,"pl-c1"],[89,90,"pl-c1"]],[[12,14,"pl-k"],[16,19,"pl-s1"],[20,24,"pl-s1"],[26,28,"pl-c1"],[29,36,"pl-s1"],[40,43,"pl-s1"],[44,48,"pl-s1"],[50,51,"pl-c1"],[52,59,"pl-s1"],[61,65,"pl-s1"],[66,70,"pl-s1"],[72,73,"pl-c1"],[74,77,"pl-s1"],[79,85,"pl-s1"],[86,90,"pl-s1"],[92,93,"pl-c1"],[94,95,"pl-c1"],[97,105,"pl-s1"],[106,110,"pl-s1"],[112,113,"pl-c1"],[114,115,"pl-s1"]],[[12,18,"pl-s1"],[19,23,"pl-s1"],[24,26,"pl-c1"]],[[12,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-s1"],[28,32,"pl-s1"],[35,36,"pl-s1"],[37,38,"pl-c1"],[39,47,"pl-s1"],[48,52,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,30,"pl-s1"],[31,33,"pl-c1"],[35,36,"pl-s1"],[37,39,"pl-c1"],[40,50,"pl-s1"],[51,53,"pl-c1"],[54,55,"pl-s1"],[56,57,"pl-c1"],[58,68,"pl-s1"]],[[16,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[32,42,"pl-s1"],[43,44,"pl-c1"],[45,46,"pl-s1"]],[[16,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[29,30,"pl-s1"],[33,39,"pl-s1"],[40,41,"pl-c1"],[42,45,"pl-s1"],[46,47,"pl-s1"],[47,48,"pl-c1"],[48,49,"pl-c1"]],[[16,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[],[[8,10,"pl-k"],[13,22,"pl-s1"],[23,25,"pl-c1"],[26,36,"pl-s1"],[37,38,"pl-c1"],[39,47,"pl-s1"],[49,54,"pl-k"]],[[8,71,"pl-c"]],[[0,68,"pl-c"]],[[8,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[29,32,"pl-s1"],[33,34,"pl-s1"],[36,38,"pl-c1"],[39,45,"pl-s1"],[46,48,"pl-c1"],[49,52,"pl-s1"],[53,54,"pl-s1"],[54,55,"pl-c1"],[55,56,"pl-c1"],[58,60,"pl-c1"],[61,67,"pl-s1"]],[[16,23,"pl-s1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[30,31,"pl-c1"],[32,39,"pl-s1"]],[[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"]],[[14,18,"pl-k"]],[[16,23,"pl-s1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-s1"],[36,37,"pl-s1"]],[[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"]],[],[],[[10,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,33,"pl-s1"],[34,35,"pl-c1"],[36,43,"pl-s1"],[45,52,"pl-s1"],[53,54,"pl-c1"],[55,58,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"]],[[8,14,"pl-s1"],[15,17,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,29,"pl-s1"],[31,37,"pl-s1"],[38,40,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"],[46,52,"pl-s1"]],[[8,10,"pl-s1"],[10,12,"pl-c1"]],[[8,15,"pl-s1"],[15,17,"pl-c1"]],[],[[4,8,"pl-en"],[9,16,"pl-s1"]],[[4,8,"pl-en"],[9,13,"pl-s1"],[16,20,"pl-en"],[21,27,"pl-s1"],[30,34,"pl-en"],[35,43,"pl-s1"],[46,50,"pl-en"],[51,54,"pl-s1"]],[[4,5,"pl-c1"],[5,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"]],[[4,5,"pl-c1"],[5,17,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-s1"]],[[4,13,"pl-smi"],[14,20,"pl-s1"],[22,28,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[40,46,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-c1"],[51,52,"pl-s1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,76,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-smi"],[17,36,"pl-en"],[37,42,"pl-k"],[43,50,"pl-smi"],[51,52,"pl-c1"],[52,56,"pl-s1"],[58,62,"pl-smi"],[63,65,"pl-s1"],[67,72,"pl-k"],[73,78,"pl-smi"],[79,80,"pl-c1"],[80,86,"pl-s1"],[88,91,"pl-smi"],[92,100,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[34,36,"pl-s1"],[37,38,"pl-c1"],[39,45,"pl-k"],[46,53,"pl-smi"]],[[4,10,"pl-en"],[11,14,"pl-s1"],[16,20,"pl-s1"],[23,29,"pl-smi"],[30,32,"pl-s1"],[33,34,"pl-c1"],[35,41,"pl-k"],[42,49,"pl-smi"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-s1"]],[[4,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"]],[[8,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[27,28,"pl-s1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"]],[[8,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[8,11,"pl-smi"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"],[41,43,"pl-k"],[45,48,"pl-s1"],[49,50,"pl-s1"],[51,53,"pl-c1"],[53,54,"pl-s1"],[55,57,"pl-c1"],[58,61,"pl-s1"],[62,63,"pl-s1"],[63,64,"pl-c1"],[64,65,"pl-c1"],[66,68,"pl-c1"],[68,69,"pl-s1"],[73,76,"pl-s1"],[77,78,"pl-c1"],[79,80,"pl-c1"],[82,87,"pl-k"]],[[8,10,"pl-k"],[13,16,"pl-s1"],[20,27,"pl-s1"],[27,29,"pl-c1"],[31,39,"pl-k"]],[[8,15,"pl-smi"],[16,17,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-en"],[30,36,"pl-smi"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,47,"pl-k"],[48,55,"pl-smi"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[29,32,"pl-s1"],[33,34,"pl-s1"],[36,38,"pl-c1"],[39,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[48,49,"pl-s1"],[49,50,"pl-c1"],[50,51,"pl-c1"],[53,55,"pl-c1"],[56,57,"pl-s1"]],[[16,18,"pl-s1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[25,26,"pl-c1"],[27,34,"pl-s1"]],[[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"]],[[14,18,"pl-k"]],[[16,18,"pl-s1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[31,32,"pl-s1"]],[[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"]],[],[],[[8,12,"pl-en"],[13,16,"pl-s1"]],[[8,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"]],[[8,15,"pl-s1"],[15,17,"pl-c1"]],[],[[4,13,"pl-smi"],[14,20,"pl-s1"],[22,28,"pl-s1"],[29,32,"pl-c1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[40,46,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-c1"],[51,52,"pl-s1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,14,"pl-smi"],[15,16,"pl-c1"],[16,30,"pl-en"],[31,36,"pl-k"],[37,50,"pl-smi"],[46,50,"pl-smi"],[51,52,"pl-c1"],[52,53,"pl-s1"],[55,59,"pl-smi"],[60,61,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,42,"pl-k"],[43,50,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-s1"],[42,43,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,74,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[15,16,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,7,"pl-smi"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[15,16,"pl-c1"],[18,19,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,7,"pl-smi"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,20,"pl-en"],[21,26,"pl-k"],[27,31,"pl-smi"],[32,33,"pl-c1"],[33,34,"pl-s1"],[36,41,"pl-k"],[42,46,"pl-smi"],[47,48,"pl-c1"],[48,49,"pl-s1"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[24,25,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,20,"pl-c1"],[22,28,"pl-k"],[30,31,"pl-s1"],[31,33,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,41,"pl-c1"],[45,47,"pl-c1"],[50,51,"pl-c1"]],[[4,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,23,"pl-c1"],[27,29,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[43,44,"pl-c1"],[48,49,"pl-c1"],[52,53,"pl-c1"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,20,"pl-en"],[21,26,"pl-k"],[27,31,"pl-smi"],[32,33,"pl-c1"],[33,34,"pl-s1"],[36,41,"pl-k"],[42,46,"pl-smi"],[47,48,"pl-c1"],[48,49,"pl-s1"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[24,25,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,20,"pl-c1"],[22,28,"pl-k"],[30,31,"pl-s1"],[31,33,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,41,"pl-c1"],[45,47,"pl-c1"],[50,51,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[16,17,"pl-s1"],[17,19,"pl-c1"],[19,20,"pl-c1"],[22,28,"pl-k"],[30,31,"pl-s1"],[31,33,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,41,"pl-c1"],[45,47,"pl-c1"],[50,51,"pl-c1"]],[[4,10,"pl-k"],[12,13,"pl-s1"],[13,15,"pl-c1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,23,"pl-c1"],[27,29,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[43,44,"pl-c1"],[48,49,"pl-c1"],[52,53,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,12,"pl-c1"],[22,50,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-c1"],[23,82,"pl-c"]],[[4,8,"pl-smi"],[9,14,"pl-c1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-c1"],[23,58,"pl-c"]],[[4,8,"pl-smi"],[9,14,"pl-c1"]],[[2,12,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,13,"pl-c1"],[13,21,"pl-en"],[22,27,"pl-k"],[28,35,"pl-smi"],[36,37,"pl-c1"],[37,40,"pl-s1"],[42,46,"pl-smi"],[47,48,"pl-s1"],[50,54,"pl-smi"],[55,56,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-c1"],[33,39,"pl-k"],[40,44,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,35,"pl-s1"],[36,39,"pl-s1"],[40,41,"pl-s1"],[43,45,"pl-c1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[],[[0,56,"pl-c"]],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,24,"pl-en"],[25,32,"pl-smi"],[33,34,"pl-c1"],[34,39,"pl-s1"],[41,48,"pl-smi"],[49,50,"pl-c1"],[50,55,"pl-s1"],[57,61,"pl-smi"],[62,63,"pl-s1"],[65,69,"pl-smi"],[70,71,"pl-c1"],[71,76,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-s1"],[32,33,"pl-c1"],[34,40,"pl-k"],[41,46,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[35,36,"pl-s1"],[37,38,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"],[44,49,"pl-s1"],[50,51,"pl-s1"],[54,55,"pl-s1"],[56,57,"pl-s1"],[59,60,"pl-c1"],[61,62,"pl-c1"],[63,68,"pl-s1"],[69,70,"pl-s1"],[73,74,"pl-s1"],[75,76,"pl-s1"],[78,79,"pl-c1"],[80,81,"pl-c1"],[82,83,"pl-c1"]],[[4,9,"pl-en"],[10,11,"pl-s1"],[14,20,"pl-smi"],[21,22,"pl-s1"],[24,30,"pl-k"],[31,36,"pl-s1"],[39,48,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-s1"],[24,25,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,42,"pl-c1"],[43,44,"pl-s1"],[45,46,"pl-s1"],[46,47,"pl-c1"],[47,48,"pl-c1"],[50,51,"pl-c1"],[52,54,"pl-c1"],[55,56,"pl-s1"],[57,58,"pl-s1"],[60,61,"pl-c1"],[63,64,"pl-s1"],[65,66,"pl-s1"],[66,67,"pl-c1"],[67,68,"pl-c1"],[70,71,"pl-c1"],[71,73,"pl-c1"]],[[8,12,"pl-k"],[13,14,"pl-s1"],[15,16,"pl-s1"],[16,18,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-s1"]],[],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,24,"pl-en"],[25,32,"pl-smi"],[33,34,"pl-c1"],[34,36,"pl-s1"],[38,45,"pl-smi"],[46,47,"pl-c1"],[47,49,"pl-s1"],[51,58,"pl-smi"],[59,60,"pl-c1"],[60,62,"pl-s1"],[64,68,"pl-smi"],[69,70,"pl-s1"],[72,76,"pl-smi"],[77,78,"pl-c1"],[78,83,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-s1"],[32,33,"pl-c1"],[34,40,"pl-k"],[41,46,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[35,36,"pl-s1"],[37,38,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"],[44,46,"pl-s1"],[47,48,"pl-s1"],[51,52,"pl-s1"],[53,54,"pl-s1"],[56,57,"pl-c1"],[58,59,"pl-c1"],[60,62,"pl-s1"],[63,64,"pl-s1"],[67,68,"pl-s1"],[69,70,"pl-s1"],[72,73,"pl-c1"],[74,75,"pl-c1"],[76,78,"pl-s1"],[79,80,"pl-s1"],[83,84,"pl-s1"],[85,86,"pl-s1"],[88,89,"pl-c1"],[90,91,"pl-c1"],[92,93,"pl-c1"]],[[4,9,"pl-en"],[10,11,"pl-s1"],[14,20,"pl-smi"],[21,22,"pl-s1"],[24,30,"pl-k"],[31,36,"pl-s1"],[39,48,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-s1"],[24,25,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,42,"pl-c1"],[43,44,"pl-s1"],[45,46,"pl-s1"],[46,47,"pl-c1"],[47,48,"pl-c1"],[50,51,"pl-c1"],[52,54,"pl-c1"],[55,56,"pl-s1"],[57,58,"pl-s1"],[60,61,"pl-c1"],[62,64,"pl-c1"],[65,66,"pl-s1"],[67,68,"pl-s1"],[68,69,"pl-c1"],[69,70,"pl-c1"],[72,73,"pl-c1"],[74,76,"pl-c1"],[77,78,"pl-s1"],[79,80,"pl-s1"],[82,83,"pl-c1"],[85,86,"pl-s1"],[87,88,"pl-s1"],[88,89,"pl-c1"],[89,90,"pl-c1"],[92,93,"pl-c1"],[93,95,"pl-c1"]],[[8,12,"pl-k"],[13,14,"pl-s1"],[15,16,"pl-s1"],[16,18,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-s1"]],[],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,17,"pl-smi"],[18,30,"pl-en"],[31,36,"pl-k"],[37,44,"pl-smi"],[45,46,"pl-c1"],[46,49,"pl-s1"],[51,55,"pl-smi"],[56,57,"pl-s1"],[59,63,"pl-smi"],[64,65,"pl-c1"]],[[4,14,"pl-smi"],[15,17,"pl-s1"]],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[[4,6,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,20,"pl-en"],[21,24,"pl-s1"],[26,27,"pl-s1"],[29,30,"pl-c1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[30,31,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,36,"pl-s1"],[37,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,51,"pl-k"],[52,59,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,36,"pl-s1"],[37,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,51,"pl-k"],[52,59,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[36,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[48,49,"pl-s1"],[52,54,"pl-s1"],[55,56,"pl-s1"],[58,59,"pl-c1"],[60,63,"pl-s1"],[64,65,"pl-s1"],[65,66,"pl-c1"],[66,67,"pl-c1"]],[[4,6,"pl-s1"],[7,10,"pl-c1"],[11,12,"pl-c1"],[13,23,"pl-en"],[24,26,"pl-s1"],[28,30,"pl-s1"],[32,34,"pl-s1"],[36,37,"pl-c1"],[37,39,"pl-s1"],[40,45,"pl-c1"]],[[4,8,"pl-en"],[9,11,"pl-s1"],[14,18,"pl-en"],[19,21,"pl-s1"]],[],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[30,31,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,36,"pl-s1"],[37,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,51,"pl-k"],[52,59,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,36,"pl-s1"],[37,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,51,"pl-k"],[52,59,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,36,"pl-s1"],[37,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[45,51,"pl-k"],[52,59,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[36,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,47,"pl-s1"],[48,49,"pl-s1"],[52,54,"pl-s1"],[55,56,"pl-s1"],[58,59,"pl-c1"],[60,63,"pl-s1"],[64,65,"pl-s1"],[65,66,"pl-c1"],[66,67,"pl-c1"],[70,72,"pl-s1"],[73,74,"pl-s1"],[76,77,"pl-c1"],[78,81,"pl-s1"],[82,83,"pl-s1"],[83,84,"pl-c1"],[84,85,"pl-c1"]],[[4,6,"pl-s1"],[7,10,"pl-c1"],[11,12,"pl-c1"],[13,23,"pl-en"],[24,26,"pl-s1"],[28,30,"pl-s1"],[32,34,"pl-s1"],[36,38,"pl-s1"],[40,41,"pl-c1"],[41,43,"pl-s1"],[44,49,"pl-c1"]],[[4,8,"pl-en"],[9,11,"pl-s1"],[14,18,"pl-en"],[19,21,"pl-s1"],[24,28,"pl-en"],[29,31,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,34,"pl-smi"],[35,36,"pl-c1"],[36,38,"pl-s1"]],[[4,8,"pl-en"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,15,"pl-c1"],[18,22,"pl-en"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,30,"pl-c1"],[33,37,"pl-en"],[38,40,"pl-s1"],[40,42,"pl-c1"],[42,45,"pl-c1"]],[],[],[[0,73,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,27,"pl-en"],[28,33,"pl-k"],[34,39,"pl-smi"],[40,41,"pl-c1"],[41,44,"pl-s1"],[46,50,"pl-smi"],[51,56,"pl-s1"],[58,65,"pl-smi"],[66,67,"pl-s1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,18,"pl-s1"],[22,26,"pl-smi"],[27,30,"pl-s1"],[31,32,"pl-c1"],[34,36,"pl-s1"],[36,37,"pl-c1"],[37,39,"pl-s1"],[41,42,"pl-c1"],[44,46,"pl-k"],[48,51,"pl-s1"],[52,55,"pl-s1"],[57,58,"pl-c1"],[59,60,"pl-c1"],[61,62,"pl-s1"],[64,66,"pl-s1"],[67,68,"pl-c1"],[69,72,"pl-s1"],[72,73,"pl-c1"],[73,74,"pl-c1"],[76,80,"pl-k"],[81,83,"pl-s1"],[84,85,"pl-c1"],[86,89,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,27,"pl-en"],[28,33,"pl-k"],[34,39,"pl-smi"],[40,41,"pl-c1"],[41,44,"pl-s1"],[46,50,"pl-smi"],[51,56,"pl-s1"],[58,65,"pl-smi"],[66,67,"pl-s1"],[69,76,"pl-smi"],[77,78,"pl-s1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[[4,9,"pl-k"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,18,"pl-s1"]],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[20,22,"pl-s1"],[22,23,"pl-c1"],[23,25,"pl-s1"],[27,28,"pl-c1"]],[[8,13,"pl-smi"],[14,15,"pl-c1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[20,25,"pl-smi"],[25,26,"pl-c1"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,35,"pl-s1"]],[[8,11,"pl-smi"],[12,16,"pl-s1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[30,32,"pl-c1"],[34,35,"pl-s1"],[35,37,"pl-c1"],[37,38,"pl-c1"],[39,41,"pl-c1"],[42,43,"pl-s1"],[44,46,"pl-c1"],[47,48,"pl-s1"],[48,50,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"],[54,55,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[18,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[26,27,"pl-c1"],[27,28,"pl-c1"],[30,34,"pl-k"],[35,37,"pl-s1"],[38,39,"pl-c1"],[40,43,"pl-s1"]],[],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[],[[0,56,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,29,"pl-k"],[30,40,"pl-smi"],[41,42,"pl-c1"],[42,44,"pl-s1"],[46,53,"pl-smi"],[54,56,"pl-s1"],[58,65,"pl-smi"],[66,67,"pl-s1"],[69,73,"pl-smi"],[74,75,"pl-c1"],[75,82,"pl-s1"],[84,88,"pl-smi"],[89,90,"pl-c1"],[90,95,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,28,"pl-en"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,36,"pl-c1"],[38,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[49,51,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,24,"pl-c1"],[25,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-s1"],[39,40,"pl-c1"],[41,43,"pl-c1"],[44,46,"pl-s1"]],[[8,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,19,"pl-c1"],[20,21,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-s1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,42,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"]],[],[[4,5,"pl-c1"],[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[20,21,"pl-c1"],[21,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,29,"pl-k"],[30,40,"pl-smi"],[41,42,"pl-c1"],[42,44,"pl-s1"],[46,53,"pl-smi"],[54,56,"pl-s1"],[58,65,"pl-smi"],[66,68,"pl-s1"],[70,77,"pl-smi"],[78,79,"pl-s1"],[81,85,"pl-smi"],[86,87,"pl-c1"],[87,94,"pl-s1"],[96,100,"pl-smi"],[101,102,"pl-c1"],[102,107,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,28,"pl-en"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,36,"pl-c1"],[38,40,"pl-s1"],[40,42,"pl-c1"],[42,47,"pl-c1"],[49,51,"pl-s1"],[53,55,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,24,"pl-c1"],[25,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,35,"pl-c1"],[36,37,"pl-s1"],[39,40,"pl-c1"],[41,43,"pl-c1"],[44,46,"pl-s1"],[47,49,"pl-c1"],[50,52,"pl-s1"],[52,54,"pl-c1"],[54,57,"pl-c1"],[58,59,"pl-s1"],[61,62,"pl-c1"],[63,65,"pl-c1"],[66,68,"pl-s1"]],[[8,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,19,"pl-c1"],[20,21,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-s1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,42,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"]],[[8,9,"pl-s1"],[9,11,"pl-c1"]],[],[[4,5,"pl-c1"],[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[20,21,"pl-c1"],[21,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,11,"pl-c1"]],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,19,"pl-en"],[20,25,"pl-k"],[26,36,"pl-smi"],[37,38,"pl-c1"],[38,40,"pl-s1"],[42,46,"pl-smi"],[47,55,"pl-s1"],[57,64,"pl-smi"],[65,66,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-c1"],[37,39,"pl-s1"],[39,41,"pl-c1"],[41,43,"pl-c1"],[44,45,"pl-s1"],[49,50,"pl-c1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,16,"pl-c1"],[18,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,44,"pl-c1"],[46,47,"pl-c1"],[49,55,"pl-smi"],[56,57,"pl-s1"],[61,67,"pl-smi"],[68,76,"pl-s1"],[79,82,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[24,27,"pl-c1"],[31,37,"pl-smi"],[38,40,"pl-s1"],[40,42,"pl-c1"],[42,43,"pl-c1"]],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,19,"pl-en"],[20,25,"pl-k"],[26,36,"pl-smi"],[37,38,"pl-c1"],[38,40,"pl-s1"],[42,46,"pl-smi"],[47,55,"pl-s1"],[57,64,"pl-smi"],[65,67,"pl-s1"],[69,76,"pl-smi"],[77,78,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[14,15,"pl-s1"]],[[4,15,"pl-en"],[16,18,"pl-s1"],[20,22,"pl-s1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[28,31,"pl-s1"],[33,34,"pl-c1"],[34,35,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"],[18,24,"pl-k"],[25,30,"pl-en"],[31,33,"pl-s1"],[35,43,"pl-s1"],[45,46,"pl-s1"]],[[4,10,"pl-k"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-c1"],[23,24,"pl-c1"],[26,32,"pl-smi"],[33,34,"pl-s1"],[38,44,"pl-smi"],[45,48,"pl-s1"],[49,50,"pl-c1"],[51,54,"pl-c1"],[55,56,"pl-c1"],[57,62,"pl-en"],[63,65,"pl-s1"],[67,75,"pl-s1"],[77,78,"pl-s1"]],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,19,"pl-en"],[20,25,"pl-k"],[26,36,"pl-smi"],[37,38,"pl-c1"],[38,40,"pl-s1"],[42,46,"pl-smi"],[47,55,"pl-s1"],[57,64,"pl-smi"],[65,67,"pl-s1"],[69,76,"pl-smi"],[77,79,"pl-s1"],[81,88,"pl-smi"],[89,90,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"],[14,15,"pl-s1"]],[[4,15,"pl-en"],[16,18,"pl-s1"],[20,22,"pl-s1"],[24,26,"pl-s1"],[28,29,"pl-s1"],[31,32,"pl-c1"],[32,35,"pl-s1"],[37,38,"pl-c1"],[38,39,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-c1"],[18,24,"pl-k"],[25,30,"pl-en"],[31,33,"pl-s1"],[35,43,"pl-s1"],[45,47,"pl-s1"],[49,50,"pl-s1"]],[[4,10,"pl-k"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-c1"],[23,24,"pl-c1"],[26,32,"pl-smi"],[33,34,"pl-s1"],[38,44,"pl-smi"],[45,48,"pl-s1"],[49,50,"pl-c1"],[51,54,"pl-c1"],[55,56,"pl-c1"],[57,62,"pl-en"],[63,65,"pl-s1"],[67,75,"pl-s1"],[77,79,"pl-s1"],[81,82,"pl-s1"]],[],[],[[0,72,"pl-c"]],[[0,72,"pl-c"]],[[0,69,"pl-c"]],[[0,21,"pl-c"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,24,"pl-en"],[25,30,"pl-k"],[31,41,"pl-smi"],[42,43,"pl-c1"],[43,45,"pl-s1"],[47,51,"pl-smi"],[52,60,"pl-s1"],[62,66,"pl-smi"],[67,79,"pl-s1"]],[[26,33,"pl-smi"],[34,36,"pl-s1"],[38,45,"pl-smi"],[46,48,"pl-s1"],[50,57,"pl-smi"],[58,59,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[27,33,"pl-k"],[34,39,"pl-en"],[40,42,"pl-s1"],[44,52,"pl-s1"],[54,55,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[27,33,"pl-k"],[34,39,"pl-en"],[40,42,"pl-s1"],[44,52,"pl-s1"],[54,56,"pl-s1"],[58,59,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-en"],[17,19,"pl-s1"],[21,29,"pl-s1"],[31,33,"pl-s1"],[35,37,"pl-s1"],[39,40,"pl-s1"]],[],[],[[0,83,"pl-c"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,13,"pl-c1"],[13,27,"pl-en"],[28,33,"pl-k"],[34,39,"pl-smi"],[40,41,"pl-c1"],[41,47,"pl-s1"],[49,52,"pl-smi"],[53,61,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,27,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-c1"],[34,35,"pl-c1"],[36,42,"pl-k"],[43,47,"pl-smi"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[34,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"],[39,43,"pl-s1"],[44,47,"pl-c1"],[47,48,"pl-c1"],[48,49,"pl-s1"],[51,52,"pl-c1"],[53,57,"pl-s1"],[58,64,"pl-s1"],[65,66,"pl-s1"],[68,69,"pl-c1"],[71,72,"pl-c1"],[73,77,"pl-s1"],[78,84,"pl-s1"],[85,86,"pl-s1"],[88,89,"pl-c1"]],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,30,"pl-en"],[31,36,"pl-k"],[37,44,"pl-smi"],[45,46,"pl-c1"],[46,49,"pl-s1"],[51,55,"pl-smi"],[56,57,"pl-s1"],[59,62,"pl-smi"],[63,64,"pl-s1"],[66,70,"pl-smi"],[71,72,"pl-c1"],[72,77,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-s1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[31,32,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-en"],[25,31,"pl-smi"],[33,34,"pl-s1"],[35,36,"pl-s1"],[37,38,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,56,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-en"],[25,31,"pl-smi"],[33,34,"pl-s1"],[35,36,"pl-s1"],[37,38,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,56,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[35,36,"pl-s1"],[37,38,"pl-s1"],[40,41,"pl-c1"],[42,45,"pl-s1"],[46,47,"pl-s1"],[50,51,"pl-s1"],[52,53,"pl-s1"],[55,56,"pl-c1"],[57,60,"pl-s1"],[61,62,"pl-s1"],[62,63,"pl-c1"],[63,64,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,25,"pl-en"],[26,27,"pl-s1"],[29,30,"pl-s1"],[32,33,"pl-s1"],[35,40,"pl-s1"]],[[4,8,"pl-en"],[9,10,"pl-s1"],[13,17,"pl-en"],[18,19,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,33,"pl-en"],[34,39,"pl-k"],[40,45,"pl-smi"],[46,47,"pl-c1"],[47,50,"pl-s1"],[52,56,"pl-smi"],[57,62,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-en"],[25,31,"pl-smi"],[33,38,"pl-s1"],[39,44,"pl-s1"],[45,46,"pl-c1"],[48,49,"pl-c1"],[50,56,"pl-k"],[57,62,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,30,"pl-s1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[39,42,"pl-s1"],[43,44,"pl-s1"],[46,47,"pl-c1"],[48,49,"pl-c1"],[50,53,"pl-s1"],[54,55,"pl-s1"],[57,58,"pl-c1"],[60,63,"pl-s1"],[64,65,"pl-s1"],[67,68,"pl-c1"],[69,70,"pl-c1"],[71,74,"pl-s1"],[75,76,"pl-s1"],[78,79,"pl-c1"],[81,84,"pl-s1"],[85,86,"pl-s1"],[88,89,"pl-c1"],[90,91,"pl-c1"],[92,95,"pl-s1"],[96,97,"pl-s1"],[99,100,"pl-c1"]],[[4,9,"pl-en"],[10,13,"pl-s1"],[16,22,"pl-smi"],[23,28,"pl-s1"],[30,36,"pl-k"],[37,42,"pl-s1"],[45,54,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,13,"pl-c1"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-c1"],[26,43,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-c1"],[26,39,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[26,71,"pl-c"]],[[2,13,"pl-smi"]],[],[[0,91,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,26,"pl-en"],[27,32,"pl-k"],[33,38,"pl-smi"],[39,40,"pl-c1"],[40,41,"pl-s1"],[43,47,"pl-smi"],[48,49,"pl-s1"],[51,55,"pl-smi"],[57,58,"pl-c1"],[58,60,"pl-s1"],[62,69,"pl-smi"],[70,71,"pl-s1"],[73,77,"pl-smi"],[78,83,"pl-s1"],[85,89,"pl-smi"],[90,93,"pl-s1"],[95,99,"pl-smi"],[100,101,"pl-c1"],[101,104,"pl-s1"],[107,111,"pl-smi"],[112,113,"pl-c1"],[113,116,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"]],[[8,13,"pl-k"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-s1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-s1"],[36,37,"pl-s1"],[39,40,"pl-c1"],[42,43,"pl-s1"],[43,45,"pl-c1"]],[[8,10,"pl-en"],[11,12,"pl-s1"],[13,14,"pl-s1"],[16,17,"pl-c1"],[19,20,"pl-s1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[29,32,"pl-s1"]],[[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"]],[],[],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-c1"],[17,30,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,12,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,24,"pl-en"],[25,32,"pl-smi"],[33,34,"pl-s1"],[36,40,"pl-smi"],[41,46,"pl-s1"],[48,52,"pl-smi"],[53,56,"pl-s1"],[58,62,"pl-smi"],[63,64,"pl-c1"],[64,68,"pl-s1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,26,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[35,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,53,"pl-c1"],[54,59,"pl-s1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[63,64,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-s1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,42,"pl-c1"],[44,50,"pl-k"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-c1"],[20,24,"pl-s1"],[25,26,"pl-c1"],[27,30,"pl-c1"],[32,39,"pl-s1"],[40,41,"pl-c1"],[43,44,"pl-c1"],[46,47,"pl-c1"],[48,49,"pl-c1"],[50,51,"pl-c1"],[52,53,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,14,"pl-smi"],[15,16,"pl-s1"],[17,18,"pl-c1"],[20,26,"pl-smi"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,36,"pl-c1"],[37,42,"pl-s1"],[42,43,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"],[51,57,"pl-smi"],[58,63,"pl-s1"]],[[8,9,"pl-c1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-en"],[23,24,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"],[22,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,27,"pl-s1"],[28,29,"pl-s1"]],[[16,19,"pl-k"],[21,24,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,37,"pl-s1"],[39,40,"pl-s1"],[40,42,"pl-c1"],[44,51,"pl-s1"],[52,53,"pl-s1"],[55,56,"pl-c1"],[57,64,"pl-s1"],[65,66,"pl-s1"],[66,67,"pl-c1"],[67,68,"pl-c1"]],[[16,23,"pl-s1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[16,21,"pl-k"]],[],[],[],[[4,10,"pl-smi"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[29,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[40,47,"pl-s1"],[48,49,"pl-c1"],[50,51,"pl-c1"],[51,58,"pl-s1"],[59,60,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[36,66,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-en"],[34,40,"pl-smi"],[41,44,"pl-s1"],[47,70,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,9,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,29,"pl-en"],[30,37,"pl-smi"],[38,39,"pl-s1"],[41,45,"pl-smi"],[46,51,"pl-s1"],[53,57,"pl-smi"],[58,61,"pl-s1"],[63,67,"pl-smi"],[68,69,"pl-c1"],[69,73,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[35,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,53,"pl-c1"],[54,59,"pl-s1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[63,64,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-s1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,42,"pl-c1"],[44,50,"pl-k"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,14,"pl-smi"],[15,16,"pl-s1"],[17,18,"pl-c1"],[20,26,"pl-smi"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,36,"pl-c1"],[37,42,"pl-s1"],[42,43,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"],[51,57,"pl-smi"],[58,63,"pl-s1"]],[[8,9,"pl-c1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-en"],[23,24,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[47,76,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-en"],[34,40,"pl-smi"],[41,44,"pl-s1"],[47,69,"pl-c"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-c1"]],[[4,7,"pl-smi"],[8,14,"pl-c1"],[16,40,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,9,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,30,"pl-en"],[31,38,"pl-smi"],[39,40,"pl-s1"],[42,46,"pl-smi"],[47,52,"pl-s1"],[54,58,"pl-smi"],[59,62,"pl-s1"],[64,68,"pl-smi"],[69,70,"pl-c1"],[70,74,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[35,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,53,"pl-c1"],[54,59,"pl-s1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[63,64,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-s1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,42,"pl-c1"],[44,50,"pl-k"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[23,29,"pl-smi"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,39,"pl-c1"],[40,45,"pl-s1"],[45,46,"pl-c1"],[46,47,"pl-s1"],[49,50,"pl-c1"],[54,60,"pl-smi"],[61,66,"pl-s1"]],[[8,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-c1"],[38,45,"pl-s1"]],[],[],[[0,69,"pl-c"]],[[0,77,"pl-c"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,9,"pl-k"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[2,11,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,31,"pl-smi"],[32,33,"pl-s1"],[35,39,"pl-smi"],[40,45,"pl-s1"],[47,51,"pl-smi"],[52,55,"pl-s1"],[57,61,"pl-smi"],[62,63,"pl-c1"],[63,67,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[35,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,53,"pl-c1"],[54,59,"pl-s1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[63,64,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-s1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,42,"pl-c1"],[44,50,"pl-k"]],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,29,"pl-c1"],[30,35,"pl-s1"],[35,36,"pl-c1"],[36,37,"pl-s1"],[39,40,"pl-c1"]],[[8,14,"pl-smi"],[15,16,"pl-s1"],[17,18,"pl-c1"],[20,26,"pl-smi"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,36,"pl-c1"],[37,42,"pl-s1"],[42,43,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"],[51,57,"pl-smi"],[58,63,"pl-s1"]],[[8,14,"pl-smi"],[15,17,"pl-s1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,41,"pl-c1"],[45,48,"pl-s1"],[48,50,"pl-c1"],[50,53,"pl-c1"],[54,55,"pl-s1"],[55,56,"pl-c1"],[56,61,"pl-c1"],[62,63,"pl-c1"],[64,65,"pl-c1"],[69,72,"pl-c1"]],[[8,11,"pl-s1"],[12,14,"pl-c1"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,14,"pl-s1"],[14,15,"pl-c1"],[15,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[27,28,"pl-c1"],[29,32,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,18,"pl-smi"],[19,38,"pl-en"],[39,44,"pl-k"],[45,52,"pl-smi"],[53,54,"pl-c1"],[54,57,"pl-s1"],[59,63,"pl-smi"],[64,65,"pl-s1"],[67,71,"pl-smi"],[72,73,"pl-c1"],[75,80,"pl-k"],[81,85,"pl-smi"],[86,87,"pl-c1"],[87,89,"pl-s1"],[91,96,"pl-k"],[97,101,"pl-smi"],[102,103,"pl-c1"],[103,107,"pl-s1"]],[[4,15,"pl-smi"],[16,17,"pl-s1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[4,5,"pl-s1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,20,"pl-en"],[22,28,"pl-smi"],[29,30,"pl-c1"],[32,33,"pl-c1"]],[[4,5,"pl-s1"],[6,9,"pl-c1"],[10,11,"pl-c1"],[12,18,"pl-en"],[20,26,"pl-smi"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,36,"pl-c1"],[38,44,"pl-k"],[45,51,"pl-smi"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"],[10,16,"pl-en"],[18,24,"pl-smi"],[25,26,"pl-c1"],[27,28,"pl-c1"],[29,34,"pl-c1"],[36,42,"pl-k"],[43,49,"pl-smi"]],[],[[4,8,"pl-smi"],[9,15,"pl-s1"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"],[29,30,"pl-c1"],[31,47,"pl-en"],[48,51,"pl-s1"],[53,54,"pl-s1"],[56,57,"pl-c1"],[59,60,"pl-c1"],[60,66,"pl-s1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"],[29,30,"pl-c1"],[31,47,"pl-en"],[48,51,"pl-s1"],[53,54,"pl-s1"],[56,57,"pl-c1"],[59,60,"pl-c1"],[60,66,"pl-s1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,28,"pl-s1"],[29,30,"pl-c1"],[31,47,"pl-en"],[48,51,"pl-s1"],[53,54,"pl-s1"],[56,57,"pl-c1"],[59,60,"pl-c1"],[60,66,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,37,"pl-en"],[38,42,"pl-s1"],[44,50,"pl-s1"]],[],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"]],[[8,9,"pl-s1"],[10,15,"pl-c1"],[16,17,"pl-s1"],[19,20,"pl-c1"],[22,24,"pl-s1"],[25,26,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[15,16,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[25,28,"pl-c1"],[29,30,"pl-s1"],[30,31,"pl-c1"],[31,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,43,"pl-c1"],[44,48,"pl-en"],[50,56,"pl-smi"],[57,59,"pl-s1"],[60,61,"pl-s1"]],[[8,9,"pl-s1"],[10,13,"pl-c1"],[14,15,"pl-s1"],[15,16,"pl-c1"],[16,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-c1"],[30,36,"pl-smi"],[37,41,"pl-s1"],[42,43,"pl-s1"]],[],[],[[4,14,"pl-smi"],[15,17,"pl-s1"],[18,19,"pl-c1"],[22,26,"pl-s1"],[28,29,"pl-s1"],[30,33,"pl-c1"],[35,36,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,45,"pl-s1"],[47,48,"pl-c1"],[48,50,"pl-s1"]],[[4,11,"pl-smi"],[12,14,"pl-s1"],[15,16,"pl-c1"],[19,23,"pl-s1"],[25,26,"pl-s1"],[27,30,"pl-c1"],[32,33,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,50,"pl-s1"],[52,53,"pl-c1"],[53,55,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"],[16,17,"pl-c1"],[20,24,"pl-s1"],[26,27,"pl-s1"],[28,31,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,51,"pl-s1"],[53,54,"pl-c1"],[54,57,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"],[16,17,"pl-c1"],[20,24,"pl-s1"],[26,27,"pl-s1"],[28,31,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,51,"pl-s1"],[53,54,"pl-c1"],[54,57,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"],[16,17,"pl-c1"],[20,24,"pl-s1"],[26,27,"pl-s1"],[28,31,"pl-c1"],[33,35,"pl-c1"],[37,38,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,51,"pl-s1"],[53,54,"pl-c1"],[54,57,"pl-s1"]],[[4,13,"pl-smi"],[14,16,"pl-s1"],[17,18,"pl-c1"],[21,25,"pl-s1"],[27,28,"pl-s1"],[29,32,"pl-c1"],[34,35,"pl-c1"]],[[4,18,"pl-en"],[19,23,"pl-s1"],[25,31,"pl-s1"],[33,44,"pl-s1"],[46,47,"pl-c1"],[47,49,"pl-s1"]],[],[[4,8,"pl-en"],[9,13,"pl-s1"],[16,20,"pl-en"],[21,25,"pl-s1"],[28,32,"pl-en"],[33,37,"pl-s1"],[40,44,"pl-en"],[45,49,"pl-s1"]],[],[[4,48,"pl-c"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,14,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-c1"],[26,30,"pl-smi"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-k"],[41,42,"pl-s1"],[43,48,"pl-c1"],[49,50,"pl-s1"],[55,58,"pl-s1"],[59,61,"pl-c1"],[62,63,"pl-s1"],[64,67,"pl-c1"],[68,69,"pl-s1"],[69,70,"pl-c1"],[70,75,"pl-c1"],[75,76,"pl-c1"],[76,77,"pl-s1"],[80,83,"pl-s1"],[83,85,"pl-c1"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[28,31,"pl-s1"],[35,41,"pl-smi"],[42,45,"pl-s1"],[48,51,"pl-c1"]],[[8,14,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-k"],[41,42,"pl-s1"],[43,48,"pl-c1"],[49,50,"pl-s1"],[55,61,"pl-smi"],[62,66,"pl-s1"],[67,68,"pl-c1"],[69,70,"pl-s1"],[71,74,"pl-c1"],[75,76,"pl-s1"],[76,77,"pl-c1"],[77,82,"pl-c1"],[82,83,"pl-c1"],[83,84,"pl-s1"],[85,86,"pl-c1"],[86,90,"pl-s1"],[92,95,"pl-s1"],[96,98,"pl-c1"],[99,103,"pl-s1"],[103,104,"pl-c1"],[104,108,"pl-s1"]],[[8,14,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-s1"],[27,31,"pl-en"],[32,35,"pl-s1"],[39,45,"pl-smi"],[46,49,"pl-s1"],[53,56,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[12,14,"pl-k"],[17,18,"pl-s1"],[19,24,"pl-c1"],[25,26,"pl-s1"],[29,37,"pl-k"]],[[12,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[17,18,"pl-c1"],[18,23,"pl-c1"],[23,24,"pl-c1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[30,33,"pl-s1"],[34,35,"pl-c1"],[36,41,"pl-c1"],[46,47,"pl-s1"],[48,51,"pl-c1"],[52,53,"pl-s1"],[53,54,"pl-c1"],[54,59,"pl-c1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[62,63,"pl-c1"],[63,67,"pl-s1"],[69,72,"pl-s1"],[75,78,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,40,"pl-smi"],[41,42,"pl-c1"],[42,43,"pl-s1"]],[[4,8,"pl-en"],[9,10,"pl-s1"],[10,12,"pl-c1"],[12,17,"pl-c1"],[20,24,"pl-en"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,31,"pl-c1"],[34,38,"pl-en"],[39,40,"pl-s1"],[40,42,"pl-c1"],[42,43,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,19,"pl-en"],[20,25,"pl-k"],[26,37,"pl-smi"],[38,39,"pl-c1"],[39,40,"pl-s1"],[42,49,"pl-smi"],[50,51,"pl-s1"],[53,58,"pl-k"],[59,70,"pl-smi"],[71,72,"pl-c1"],[72,74,"pl-s1"],[76,83,"pl-smi"],[84,85,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[23,25,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[28,29,"pl-c1"],[29,34,"pl-c1"],[34,35,"pl-c1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,42,"pl-s1"],[42,44,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-s1"],[47,48,"pl-c1"],[48,53,"pl-c1"],[53,54,"pl-c1"],[54,55,"pl-s1"]],[[8,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-s1"],[17,18,"pl-c1"],[18,22,"pl-s1"]],[],[[4,10,"pl-k"],[11,15,"pl-en"],[16,17,"pl-s1"]],[],[],[[0,85,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,30,"pl-smi"],[26,30,"pl-smi"],[31,32,"pl-c1"],[32,36,"pl-c1"],[38,41,"pl-smi"],[42,45,"pl-c1"],[49,56,"pl-smi"]],[],[[0,6,"pl-k"],[7,14,"pl-smi"],[15,16,"pl-c1"],[16,33,"pl-en"],[34,39,"pl-k"],[40,45,"pl-smi"],[46,47,"pl-c1"],[47,53,"pl-s1"],[55,58,"pl-smi"],[59,67,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,16,"pl-c1"],[17,18,"pl-c1"],[19,27,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-k"],[44,51,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[36,38,"pl-s1"],[39,40,"pl-s1"],[42,46,"pl-c1"],[47,48,"pl-c1"],[49,55,"pl-en"],[56,57,"pl-c1"],[60,62,"pl-s1"],[63,64,"pl-s1"],[66,70,"pl-c1"],[71,72,"pl-c1"],[74,75,"pl-c1"],[77,90,"pl-smi"],[86,90,"pl-smi"],[91,92,"pl-s1"],[94,96,"pl-s1"],[97,98,"pl-s1"],[100,103,"pl-c1"],[104,105,"pl-c1"],[106,107,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"]],[[8,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[27,28,"pl-s1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"]],[[8,11,"pl-smi"],[12,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[21,22,"pl-s1"],[24,27,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-s1"],[33,34,"pl-s1"],[36,39,"pl-c1"]],[[8,21,"pl-smi"],[17,21,"pl-smi"],[22,23,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-en"],[35,41,"pl-smi"],[42,45,"pl-s1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[18,20,"pl-s1"],[21,22,"pl-s1"],[24,28,"pl-c1"],[31,37,"pl-smi"],[38,40,"pl-s1"],[41,42,"pl-s1"],[44,47,"pl-c1"]],[[8,14,"pl-en"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"],[22,23,"pl-s1"],[25,28,"pl-c1"],[30,32,"pl-s1"],[33,34,"pl-s1"],[36,40,"pl-c1"],[43,49,"pl-smi"],[50,52,"pl-s1"],[53,54,"pl-s1"],[56,59,"pl-c1"]],[[8,10,"pl-s1"],[11,14,"pl-c1"],[14,15,"pl-c1"],[15,16,"pl-s1"],[18,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,30,"pl-s1"],[31,34,"pl-c1"],[34,35,"pl-c1"],[35,36,"pl-s1"],[38,41,"pl-c1"],[42,43,"pl-c1"],[44,47,"pl-s1"]],[],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,28,"pl-en"],[29,36,"pl-smi"],[37,38,"pl-c1"],[38,40,"pl-s1"],[42,46,"pl-smi"],[47,48,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,37,"pl-en"],[38,40,"pl-s1"],[41,42,"pl-s1"],[44,48,"pl-c1"]],[[4,8,"pl-en"],[9,11,"pl-s1"]],[],[],[[0,86,"pl-c"]],[],[[0,7,"pl-k"],[8,12,"pl-k"],[15,25,"pl-c1"],[27,39,"pl-c1"],[41,49,"pl-c1"],[52,61,"pl-smi"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,13,"pl-smi"],[14,18,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,29,"pl-c1"],[30,33,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,27,"pl-c1"],[28,30,"pl-c1"],[32,34,"pl-c1"]],[[4,7,"pl-smi"],[8,16,"pl-c1"],[17,19,"pl-c1"]],[[2,13,"pl-smi"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,29,"pl-k"],[30,41,"pl-smi"],[42,43,"pl-c1"],[43,44,"pl-s1"],[46,51,"pl-k"],[52,65,"pl-smi"],[61,65,"pl-smi"],[66,67,"pl-c1"],[67,69,"pl-s1"],[71,74,"pl-smi"],[75,80,"pl-s1"],[82,95,"pl-smi"],[91,95,"pl-smi"],[96,97,"pl-c1"],[97,100,"pl-s1"],[102,105,"pl-smi"],[106,107,"pl-c1"],[107,113,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[19,31,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,33,"pl-s1"],[35,36,"pl-s1"],[36,38,"pl-c1"],[40,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-s1"],[50,52,"pl-c1"],[52,63,"pl-c1"],[64,66,"pl-s1"],[67,68,"pl-s1"]],[[8,9,"pl-c1"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-s1"]],[[6,10,"pl-k"],[11,13,"pl-k"],[15,16,"pl-s1"],[16,18,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,34,"pl-c1"]],[[8,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,24,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[21,23,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[16,18,"pl-k"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,33,"pl-s1"],[35,37,"pl-c1"],[38,43,"pl-s1"],[44,46,"pl-c1"],[47,53,"pl-en"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,66,"pl-c1"],[67,68,"pl-s1"],[71,73,"pl-s1"],[76,82,"pl-smi"],[83,88,"pl-s1"],[90,92,"pl-c1"],[93,94,"pl-c1"],[98,105,"pl-s1"],[106,107,"pl-c1"],[108,109,"pl-s1"],[111,116,"pl-k"]],[],[[8,10,"pl-k"],[12,19,"pl-s1"],[23,24,"pl-c1"]],[[12,15,"pl-smi"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,33,"pl-s1"],[36,37,"pl-c1"]],[[12,18,"pl-en"],[19,22,"pl-s1"],[24,25,"pl-s1"],[25,27,"pl-c1"],[27,36,"pl-c1"],[37,44,"pl-s1"],[48,54,"pl-smi"],[55,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"],[67,74,"pl-s1"]],[[12,13,"pl-c1"],[13,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[34,41,"pl-s1"]],[[10,14,"pl-k"]],[[12,18,"pl-en"],[19,22,"pl-s1"],[24,26,"pl-s1"],[29,35,"pl-smi"],[36,41,"pl-s1"]],[[12,13,"pl-c1"],[13,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"]],[],[[6,10,"pl-k"]],[[8,14,"pl-en"],[15,18,"pl-s1"],[20,22,"pl-s1"],[25,31,"pl-smi"],[32,37,"pl-s1"]],[[8,9,"pl-c1"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-s1"]],[],[],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,22,"pl-k"],[23,36,"pl-smi"],[32,36,"pl-smi"],[37,38,"pl-c1"],[38,42,"pl-c1"],[44,47,"pl-smi"],[48,51,"pl-c1"],[53,60,"pl-smi"],[61,63,"pl-c1"],[67,74,"pl-smi"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,22,"pl-en"],[23,28,"pl-k"],[29,33,"pl-smi"],[34,35,"pl-c1"],[35,36,"pl-s1"],[38,43,"pl-k"],[44,48,"pl-smi"],[49,50,"pl-c1"],[50,51,"pl-s1"]],[[4,9,"pl-k"],[10,17,"pl-smi"],[18,19,"pl-c1"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-s1"],[26,27,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"],[18,20,"pl-c1"],[20,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-s1"],[27,29,"pl-c1"],[29,32,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"],[38,41,"pl-c1"],[44,45,"pl-s1"],[45,47,"pl-c1"],[47,50,"pl-c1"]],[[4,7,"pl-smi"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[21,27,"pl-en"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[47,53,"pl-smi"],[54,60,"pl-s1"],[64,65,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[16,22,"pl-k"],[23,24,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,17,"pl-c1"],[18,19,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,26,"pl-c1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,24,"pl-smi"],[25,26,"pl-c1"],[26,29,"pl-c1"],[31,35,"pl-smi"],[36,39,"pl-c1"],[43,52,"pl-smi"]],[],[[0,6,"pl-k"],[7,16,"pl-smi"],[17,33,"pl-en"],[34,39,"pl-k"],[40,47,"pl-smi"],[48,49,"pl-c1"],[49,53,"pl-s1"],[55,59,"pl-smi"],[60,63,"pl-c1"],[65,70,"pl-k"],[71,78,"pl-smi"],[79,80,"pl-c1"],[80,87,"pl-s1"],[89,93,"pl-smi"],[94,100,"pl-s1"],[102,107,"pl-k"],[108,119,"pl-smi"],[120,121,"pl-c1"],[121,126,"pl-s1"]],[[4,13,"pl-smi"],[14,16,"pl-s1"],[18,20,"pl-s1"],[21,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-s1"],[35,38,"pl-c1"],[39,40,"pl-c1"],[41,47,"pl-en"],[49,55,"pl-smi"],[56,59,"pl-c1"],[60,61,"pl-c1"],[62,68,"pl-k"],[69,76,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-c1"],[30,31,"pl-s1"],[31,33,"pl-c1"],[35,37,"pl-s1"],[38,41,"pl-c1"],[42,43,"pl-s1"],[45,46,"pl-c1"],[47,49,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,33,"pl-c1"],[35,41,"pl-k"],[42,44,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,20,"pl-s1"],[21,22,"pl-c1"],[23,29,"pl-en"],[31,37,"pl-smi"],[38,44,"pl-s1"],[45,46,"pl-c1"],[47,53,"pl-k"],[54,61,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"],[33,34,"pl-s1"],[34,36,"pl-c1"],[40,47,"pl-s1"],[48,49,"pl-s1"],[51,55,"pl-c1"],[56,57,"pl-c1"],[58,65,"pl-s1"],[66,67,"pl-s1"],[69,73,"pl-c1"],[75,82,"pl-s1"],[83,84,"pl-s1"],[86,89,"pl-c1"],[90,91,"pl-c1"],[92,99,"pl-s1"],[100,101,"pl-s1"],[103,106,"pl-c1"],[108,115,"pl-s1"],[116,117,"pl-s1"],[119,121,"pl-c1"],[122,123,"pl-c1"],[125,132,"pl-smi"],[133,134,"pl-s1"]],[[4,9,"pl-en"],[10,17,"pl-s1"],[20,26,"pl-smi"],[27,33,"pl-s1"],[35,41,"pl-k"],[42,49,"pl-s1"],[52,63,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,21,"pl-s1"],[22,26,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-c1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,18,"pl-s1"],[20,23,"pl-c1"],[24,25,"pl-c1"],[26,30,"pl-c1"],[32,40,"pl-k"]],[[8,11,"pl-smi"],[12,18,"pl-s1"]],[[8,19,"pl-en"],[20,25,"pl-s1"],[27,31,"pl-s1"],[32,33,"pl-s1"],[35,39,"pl-c1"],[41,45,"pl-s1"],[46,47,"pl-s1"],[49,52,"pl-c1"],[54,57,"pl-s1"],[59,60,"pl-c1"],[60,66,"pl-s1"]],[[8,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,23,"pl-s1"],[24,25,"pl-c1"],[26,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[38,43,"pl-s1"],[44,45,"pl-c1"],[46,48,"pl-c1"]],[[8,13,"pl-k"],[15,17,"pl-s1"],[21,23,"pl-s1"]],[[12,16,"pl-smi"],[17,20,"pl-s1"],[21,22,"pl-c1"],[24,26,"pl-s1"],[27,28,"pl-c1"],[29,31,"pl-s1"],[35,36,"pl-c1"]],[[12,19,"pl-smi"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[26,33,"pl-s1"],[34,37,"pl-s1"]],[[12,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[26,28,"pl-c1"],[28,31,"pl-c1"],[32,33,"pl-c1"],[34,40,"pl-s1"],[43,44,"pl-s1"],[44,46,"pl-c1"],[46,49,"pl-c1"],[52,58,"pl-s1"]],[[12,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[29,35,"pl-en"],[36,37,"pl-s1"],[37,39,"pl-c1"],[39,43,"pl-c1"],[45,48,"pl-s1"],[51,57,"pl-smi"],[58,64,"pl-s1"],[68,69,"pl-c1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[31,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[26,31,"pl-s1"],[32,33,"pl-c1"],[34,37,"pl-s1"],[39,44,"pl-k"]],[[12,16,"pl-k"],[17,19,"pl-k"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,30,"pl-s1"],[31,32,"pl-c1"],[33,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,46,"pl-k"],[47,49,"pl-s1"],[50,51,"pl-c1"],[52,55,"pl-s1"],[56,57,"pl-c1"],[58,59,"pl-c1"]],[],[[8,10,"pl-k"],[12,17,"pl-s1"],[21,22,"pl-c1"],[24,26,"pl-s1"],[27,30,"pl-c1"],[31,32,"pl-s1"],[34,35,"pl-c1"],[36,43,"pl-s1"],[44,49,"pl-s1"],[51,53,"pl-c1"]],[],[[4,8,"pl-en"],[9,16,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,27,"pl-en"],[28,37,"pl-smi"],[38,39,"pl-c1"],[39,40,"pl-s1"],[44,48,"pl-en"],[49,50,"pl-s1"],[50,52,"pl-c1"],[52,55,"pl-c1"]],[],[[0,68,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,24,"pl-smi"],[25,26,"pl-c1"],[26,35,"pl-c1"],[37,44,"pl-smi"],[45,46,"pl-c1"],[46,55,"pl-c1"],[57,61,"pl-smi"],[62,68,"pl-c1"],[70,73,"pl-c1"],[77,85,"pl-smi"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,24,"pl-smi"],[25,27,"pl-c1"],[29,33,"pl-smi"],[34,38,"pl-c1"],[42,50,"pl-smi"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,30,"pl-k"],[31,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"],[40,45,"pl-k"],[46,50,"pl-smi"],[51,52,"pl-c1"],[52,53,"pl-s1"]],[[4,9,"pl-k"],[10,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,26,"pl-c1"],[28,34,"pl-k"],[35,36,"pl-s1"],[36,38,"pl-c1"],[38,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-s1"],[46,48,"pl-c1"],[48,52,"pl-c1"],[55,57,"pl-c1"],[60,61,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,24,"pl-c1"],[27,29,"pl-c1"],[32,33,"pl-c1"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,23,"pl-smi"],[24,28,"pl-c1"],[30,37,"pl-smi"],[38,40,"pl-c1"],[42,44,"pl-c1"],[48,56,"pl-smi"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,23,"pl-en"],[24,29,"pl-k"],[30,34,"pl-smi"],[35,36,"pl-c1"],[36,37,"pl-s1"],[39,44,"pl-k"],[45,49,"pl-smi"],[50,51,"pl-c1"],[51,52,"pl-s1"]],[[4,9,"pl-k"],[10,18,"pl-smi"],[19,20,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-s1"],[27,28,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-s1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,26,"pl-c1"],[28,34,"pl-k"],[35,36,"pl-s1"],[36,38,"pl-c1"],[38,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-s1"],[46,48,"pl-c1"],[48,52,"pl-c1"],[55,57,"pl-c1"],[60,61,"pl-c1"]],[[4,6,"pl-k"],[8,9,"pl-s1"],[9,11,"pl-c1"],[11,13,"pl-c1"],[14,16,"pl-c1"],[17,18,"pl-s1"],[18,20,"pl-c1"],[20,22,"pl-c1"],[24,30,"pl-k"],[31,32,"pl-s1"],[32,34,"pl-c1"],[34,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-s1"],[40,42,"pl-c1"],[42,44,"pl-c1"],[47,49,"pl-c1"],[52,53,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"],[12,14,"pl-c1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[20,22,"pl-c1"],[22,24,"pl-c1"],[27,29,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"],[36,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-s1"],[42,44,"pl-c1"],[44,46,"pl-c1"],[49,50,"pl-c1"],[53,54,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,31,"pl-en"],[32,37,"pl-k"],[38,49,"pl-smi"],[50,51,"pl-c1"],[51,53,"pl-s1"],[55,60,"pl-k"],[61,65,"pl-smi"],[66,67,"pl-c1"],[67,74,"pl-s1"]],[[33,38,"pl-k"],[39,50,"pl-smi"],[51,52,"pl-c1"],[52,54,"pl-s1"],[56,61,"pl-k"],[62,66,"pl-smi"],[67,68,"pl-c1"],[68,72,"pl-s1"]],[[33,38,"pl-k"],[39,46,"pl-smi"],[47,48,"pl-c1"],[48,52,"pl-s1"]],[[4,12,"pl-smi"],[13,15,"pl-s1"],[17,19,"pl-s1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,34,"pl-c1"],[36,38,"pl-s1"],[39,42,"pl-c1"],[43,44,"pl-c1"],[45,47,"pl-s1"],[47,49,"pl-c1"],[49,50,"pl-c1"]],[[4,6,"pl-s1"],[7,16,"pl-c1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,56,"pl-smi"]],[[4,6,"pl-s1"],[7,16,"pl-c1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,56,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-s1"],[40,49,"pl-c1"],[50,51,"pl-s1"],[53,54,"pl-c1"],[55,57,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-s1"],[40,49,"pl-c1"],[50,51,"pl-s1"],[53,54,"pl-c1"],[55,57,"pl-c1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,57,"pl-s1"],[61,65,"pl-smi"],[66,69,"pl-s1"],[70,71,"pl-c1"],[72,73,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-k"],[41,43,"pl-s1"],[43,45,"pl-c1"],[45,50,"pl-c1"],[51,52,"pl-s1"],[57,59,"pl-s1"],[60,63,"pl-s1"],[65,67,"pl-c1"],[68,69,"pl-c1"],[71,78,"pl-smi"],[79,80,"pl-s1"],[82,84,"pl-s1"],[85,88,"pl-s1"],[90,94,"pl-c1"],[95,96,"pl-c1"],[97,104,"pl-s1"],[105,106,"pl-s1"],[109,112,"pl-s1"],[112,114,"pl-c1"]],[[4,9,"pl-en"],[10,12,"pl-s1"],[15,21,"pl-smi"],[22,25,"pl-s1"],[27,33,"pl-k"],[34,42,"pl-s1"],[45,58,"pl-s1"]],[[4,8,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-c1"],[28,31,"pl-s1"],[34,37,"pl-c1"]],[],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,48,"pl-k"],[49,57,"pl-s1"],[61,65,"pl-smi"],[66,69,"pl-s1"],[70,71,"pl-c1"],[72,73,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-k"],[41,43,"pl-s1"],[43,45,"pl-c1"],[45,50,"pl-c1"],[51,52,"pl-s1"],[57,59,"pl-s1"],[60,63,"pl-s1"],[65,67,"pl-c1"],[68,69,"pl-c1"],[71,78,"pl-smi"],[79,80,"pl-s1"],[82,84,"pl-s1"],[85,88,"pl-s1"],[90,94,"pl-c1"],[95,96,"pl-c1"],[97,101,"pl-s1"],[102,103,"pl-s1"],[106,109,"pl-s1"],[109,111,"pl-c1"]],[[4,9,"pl-en"],[10,12,"pl-s1"],[15,21,"pl-smi"],[22,25,"pl-s1"],[27,33,"pl-k"],[34,42,"pl-s1"],[45,58,"pl-s1"]],[[4,8,"pl-smi"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,25,"pl-c1"],[28,31,"pl-s1"],[34,37,"pl-c1"]],[],[[4,8,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-s1"]],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-en"],[30,36,"pl-smi"],[37,46,"pl-s1"],[47,48,"pl-c1"],[49,55,"pl-k"],[56,64,"pl-s1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-s1"],[23,24,"pl-s1"],[26,28,"pl-c1"]],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[31,35,"pl-s1"],[36,37,"pl-s1"],[41,42,"pl-s1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,28,"pl-s1"],[31,39,"pl-k"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,33,"pl-s1"],[35,36,"pl-s1"],[36,38,"pl-c1"]],[[12,19,"pl-smi"],[20,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[28,29,"pl-s1"],[31,33,"pl-c1"]],[[12,17,"pl-s1"],[18,20,"pl-s1"],[22,26,"pl-c1"],[27,28,"pl-c1"],[29,34,"pl-en"],[35,37,"pl-s1"],[39,41,"pl-s1"],[43,45,"pl-s1"],[47,52,"pl-s1"]],[[12,17,"pl-s1"],[18,20,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-s1"],[31,36,"pl-s1"],[37,39,"pl-s1"],[41,43,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-s1"]],[[12,14,"pl-s1"],[14,16,"pl-c1"]],[],[],[[4,9,"pl-en"],[10,15,"pl-s1"],[18,24,"pl-smi"],[25,27,"pl-s1"],[29,35,"pl-k"],[36,44,"pl-s1"],[47,59,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,27,"pl-s1"],[28,29,"pl-c1"],[30,36,"pl-en"],[38,44,"pl-smi"],[45,47,"pl-s1"],[47,49,"pl-c1"],[49,50,"pl-c1"],[52,53,"pl-c1"],[56,57,"pl-c1"],[57,65,"pl-s1"],[66,67,"pl-c1"],[68,74,"pl-en"],[76,82,"pl-smi"],[83,85,"pl-s1"],[85,87,"pl-c1"],[87,88,"pl-c1"],[90,91,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,30,"pl-s1"],[30,32,"pl-c1"]],[[8,10,"pl-k"],[12,17,"pl-s1"],[18,19,"pl-s1"],[21,25,"pl-c1"],[26,27,"pl-c1"],[28,31,"pl-c1"],[33,38,"pl-k"]],[[8,10,"pl-k"],[12,20,"pl-s1"],[21,26,"pl-s1"],[27,28,"pl-s1"],[30,32,"pl-c1"],[34,36,"pl-c1"],[37,45,"pl-s1"],[46,51,"pl-s1"],[52,53,"pl-s1"],[55,57,"pl-c1"],[60,68,"pl-k"]],[[8,16,"pl-s1"],[17,22,"pl-s1"],[23,24,"pl-s1"],[26,28,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,43,"pl-s1"],[44,49,"pl-s1"],[50,51,"pl-s1"],[53,55,"pl-c1"],[57,58,"pl-c1"],[59,60,"pl-c1"]],[[8,10,"pl-s1"],[11,20,"pl-c1"],[21,26,"pl-s1"],[27,28,"pl-s1"],[30,32,"pl-c1"],[34,35,"pl-c1"],[36,41,"pl-s1"],[42,43,"pl-s1"],[45,47,"pl-c1"]],[[8,10,"pl-s1"],[11,20,"pl-c1"],[21,26,"pl-s1"],[27,28,"pl-s1"],[30,32,"pl-c1"],[34,35,"pl-c1"],[36,41,"pl-s1"],[42,43,"pl-s1"],[45,47,"pl-c1"]],[],[[4,8,"pl-en"],[9,17,"pl-s1"],[20,24,"pl-en"],[25,33,"pl-s1"],[36,40,"pl-en"],[41,46,"pl-s1"],[49,53,"pl-en"],[54,56,"pl-s1"],[59,63,"pl-en"],[64,66,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,26,"pl-en"],[27,35,"pl-smi"],[36,37,"pl-c1"],[37,38,"pl-s1"],[42,46,"pl-en"],[47,48,"pl-s1"],[48,50,"pl-c1"],[50,59,"pl-c1"],[62,66,"pl-en"],[67,68,"pl-s1"],[68,70,"pl-c1"],[70,79,"pl-c1"]],[],[[0,68,"pl-c"]],[[0,67,"pl-c"]],[[0,73,"pl-c"]],[[0,73,"pl-c"]],[[0,71,"pl-c"]],[[0,64,"pl-c"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,35,"pl-en"],[36,41,"pl-k"],[42,49,"pl-smi"],[50,51,"pl-c1"],[51,60,"pl-s1"],[62,67,"pl-k"],[68,75,"pl-smi"],[76,77,"pl-c1"],[77,86,"pl-s1"],[88,92,"pl-smi"],[93,99,"pl-s1"],[101,105,"pl-smi"],[106,109,"pl-c1"]],[[37,42,"pl-k"],[43,48,"pl-smi"],[49,50,"pl-c1"],[50,56,"pl-s1"],[58,62,"pl-smi"],[63,71,"pl-s1"]],[[37,42,"pl-k"],[43,50,"pl-smi"],[51,52,"pl-c1"],[52,56,"pl-s1"],[58,65,"pl-smi"],[66,68,"pl-s1"],[70,77,"pl-smi"],[78,83,"pl-s1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[18,20,"pl-s1"],[24,30,"pl-s1"],[32,38,"pl-k"],[39,43,"pl-c1"]],[[4,11,"pl-smi"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,30,"pl-s1"],[31,33,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,26,"pl-k"],[27,31,"pl-c1"]],[[4,11,"pl-smi"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-s1"],[30,34,"pl-s1"],[35,41,"pl-s1"],[45,51,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,28,"pl-en"],[29,35,"pl-s1"],[37,45,"pl-s1"],[47,55,"pl-s1"]],[[4,8,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[4,10,"pl-smi"],[11,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,23,"pl-s1"],[24,26,"pl-c1"],[27,33,"pl-s1"],[34,35,"pl-s1"],[37,38,"pl-c1"],[39,41,"pl-c1"],[42,50,"pl-s1"]],[[8,15,"pl-smi"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[27,28,"pl-s1"],[30,31,"pl-c1"]],[[8,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[28,29,"pl-s1"],[31,32,"pl-c1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,29,"pl-c1"]],[[12,19,"pl-smi"],[20,26,"pl-s1"],[27,28,"pl-c1"],[29,38,"pl-s1"],[39,40,"pl-s1"]],[[12,14,"pl-k"],[16,22,"pl-s1"],[26,27,"pl-c1"]],[[16,29,"pl-s1"],[29,31,"pl-c1"]],[[16,18,"pl-k"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,35,"pl-s1"],[37,49,"pl-s1"],[50,51,"pl-c1"],[53,59,"pl-smi"],[60,66,"pl-s1"],[67,68,"pl-s1"],[70,71,"pl-c1"]],[],[],[[8,9,"pl-s1"],[9,11,"pl-c1"]],[],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[26,39,"pl-s1"],[40,42,"pl-c1"],[43,44,"pl-c1"],[46,52,"pl-k"],[53,57,"pl-c1"]],[[4,10,"pl-k"],[11,23,"pl-s1"],[27,28,"pl-c1"],[31,43,"pl-s1"],[47,53,"pl-smi"],[54,63,"pl-s1"],[66,69,"pl-c1"]],[],[],[[0,85,"pl-c"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,26,"pl-en"],[27,32,"pl-k"],[33,38,"pl-smi"],[39,40,"pl-c1"],[40,44,"pl-s1"],[46,50,"pl-smi"],[51,57,"pl-s1"],[59,66,"pl-smi"],[67,71,"pl-s1"],[73,80,"pl-smi"],[81,88,"pl-s1"],[89,90,"pl-c1"],[93,96,"pl-smi"],[97,98,"pl-c1"],[98,103,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,28,"pl-en"],[29,33,"pl-s1"],[35,41,"pl-s1"],[43,47,"pl-s1"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-s1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[25,29,"pl-s1"],[30,31,"pl-s1"],[33,34,"pl-c1"],[35,37,"pl-c1"],[38,42,"pl-s1"],[46,51,"pl-s1"],[52,54,"pl-c1"],[55,59,"pl-s1"],[60,61,"pl-s1"],[63,64,"pl-c1"],[66,67,"pl-s1"],[67,69,"pl-c1"]],[[4,10,"pl-smi"],[11,19,"pl-s1"],[20,21,"pl-c1"],[23,24,"pl-c1"],[26,28,"pl-c1"],[29,31,"pl-c1"],[32,34,"pl-c1"],[35,37,"pl-c1"]],[[4,11,"pl-smi"],[12,21,"pl-s1"],[22,23,"pl-c1"],[25,26,"pl-c1"],[28,30,"pl-c1"],[31,33,"pl-c1"],[34,36,"pl-c1"],[37,39,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-s1"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-s1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,18,"pl-smi"],[19,20,"pl-s1"],[21,22,"pl-c1"],[24,30,"pl-smi"],[31,35,"pl-s1"],[36,37,"pl-s1"],[39,40,"pl-c1"],[44,50,"pl-smi"],[51,56,"pl-s1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"]],[[16,18,"pl-k"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,32,"pl-s1"],[33,34,"pl-s1"]],[[20,23,"pl-k"],[25,28,"pl-smi"],[29,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-s1"],[43,44,"pl-s1"],[44,46,"pl-c1"],[50,58,"pl-s1"],[59,60,"pl-s1"],[61,62,"pl-c1"],[62,70,"pl-s1"],[71,72,"pl-s1"],[72,73,"pl-c1"],[73,74,"pl-c1"],[77,86,"pl-s1"],[87,88,"pl-s1"],[89,90,"pl-c1"],[90,99,"pl-s1"],[100,101,"pl-s1"],[101,102,"pl-c1"],[102,103,"pl-c1"]],[[20,28,"pl-s1"],[29,30,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-s1"],[37,46,"pl-s1"],[47,48,"pl-s1"],[50,51,"pl-c1"],[52,56,"pl-s1"],[57,58,"pl-s1"],[60,61,"pl-c1"]],[[20,25,"pl-k"]],[],[],[],[],[[4,7,"pl-smi"],[8,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"],[32,34,"pl-k"],[36,45,"pl-s1"],[46,47,"pl-s1"],[52,53,"pl-c1"],[55,62,"pl-s1"],[63,64,"pl-s1"],[64,66,"pl-c1"],[68,69,"pl-c1"],[70,79,"pl-s1"],[80,81,"pl-s1"]],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"]],[],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,11,"pl-smi"],[12,18,"pl-c1"]],[[4,11,"pl-smi"],[12,16,"pl-c1"],[17,18,"pl-c1"],[21,24,"pl-smi"],[25,31,"pl-c1"]],[[4,10,"pl-smi"],[11,16,"pl-c1"],[18,25,"pl-c1"]],[[2,14,"pl-smi"]],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,31,"pl-en"],[32,37,"pl-k"],[38,49,"pl-smi"],[50,51,"pl-c1"],[51,53,"pl-s1"],[55,62,"pl-smi"],[63,64,"pl-s1"],[66,71,"pl-k"],[72,83,"pl-smi"],[84,85,"pl-c1"],[85,87,"pl-s1"]],[[33,38,"pl-k"],[39,46,"pl-smi"],[47,48,"pl-c1"],[48,52,"pl-s1"],[54,57,"pl-smi"],[58,60,"pl-s1"],[62,67,"pl-k"],[68,75,"pl-smi"],[76,77,"pl-c1"],[77,81,"pl-s1"]],[[4,10,"pl-smi"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"]],[[8,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[32,36,"pl-s1"],[37,41,"pl-s1"],[42,43,"pl-s1"],[48,52,"pl-s1"],[53,54,"pl-s1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,29,"pl-s1"],[32,40,"pl-k"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-en"],[28,30,"pl-s1"],[32,33,"pl-s1"],[35,37,"pl-s1"],[39,45,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[25,29,"pl-s1"],[30,31,"pl-c1"],[32,36,"pl-s1"]],[],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,19,"pl-smi"],[20,37,"pl-en"],[38,45,"pl-smi"],[46,48,"pl-s1"],[50,55,"pl-k"],[56,67,"pl-smi"],[68,69,"pl-c1"],[69,71,"pl-s1"],[73,78,"pl-k"],[79,90,"pl-smi"],[91,92,"pl-c1"],[92,94,"pl-s1"]],[[39,44,"pl-k"],[45,50,"pl-smi"],[51,52,"pl-c1"],[52,58,"pl-s1"],[60,64,"pl-smi"],[65,73,"pl-s1"],[75,80,"pl-k"],[81,88,"pl-smi"],[89,90,"pl-c1"],[90,94,"pl-s1"]],[[4,16,"pl-smi"],[17,21,"pl-s1"],[23,29,"pl-en"],[30,31,"pl-c1"],[31,35,"pl-s1"],[37,38,"pl-c1"],[40,46,"pl-k"],[47,51,"pl-s1"],[55,59,"pl-s1"],[60,66,"pl-c1"],[67,68,"pl-c1"],[69,71,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[18,20,"pl-s1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,43,"pl-c1"],[44,46,"pl-s1"],[49,55,"pl-k"],[56,60,"pl-s1"]],[[4,10,"pl-smi"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-c1"],[25,32,"pl-smi"],[33,39,"pl-s1"],[40,41,"pl-c1"],[42,44,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-s1"],[27,35,"pl-k"]],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[31,35,"pl-s1"],[36,37,"pl-s1"],[42,49,"pl-smi"],[50,51,"pl-s1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,28,"pl-s1"],[31,39,"pl-k"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-en"],[28,30,"pl-s1"],[32,34,"pl-s1"],[36,38,"pl-s1"],[40,45,"pl-s1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[27,31,"pl-s1"],[32,33,"pl-c1"],[34,38,"pl-s1"],[40,46,"pl-s1"],[47,48,"pl-c1"],[50,57,"pl-smi"],[58,59,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,26,"pl-k"],[27,31,"pl-s1"]],[[4,8,"pl-s1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,24,"pl-s1"]],[[4,11,"pl-smi"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-s1"],[30,34,"pl-s1"],[35,41,"pl-s1"],[45,51,"pl-s1"]],[[4,18,"pl-en"],[19,25,"pl-s1"],[27,35,"pl-s1"],[37,45,"pl-s1"],[47,51,"pl-s1"],[52,56,"pl-c1"],[58,59,"pl-c1"],[59,63,"pl-s1"],[64,70,"pl-c1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,24,"pl-c1"],[28,32,"pl-s1"],[33,39,"pl-c1"],[40,41,"pl-c1"],[42,44,"pl-c1"],[46,52,"pl-k"],[53,57,"pl-s1"]],[],[[4,10,"pl-smi"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-s1"],[27,35,"pl-k"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,39,"pl-en"],[40,42,"pl-s1"],[45,52,"pl-smi"],[53,54,"pl-s1"],[56,58,"pl-s1"],[60,64,"pl-s1"],[65,69,"pl-c1"],[71,75,"pl-s1"],[76,82,"pl-c1"],[84,88,"pl-s1"]],[[8,14,"pl-smi"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[20,24,"pl-s1"]],[[8,10,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"],[23,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-s1"]],[],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"]],[[8,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-s1"],[27,35,"pl-k"]],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,21,"pl-c1"],[22,39,"pl-en"],[40,42,"pl-s1"],[45,52,"pl-smi"],[53,54,"pl-s1"],[56,58,"pl-s1"],[60,64,"pl-s1"],[65,69,"pl-c1"],[71,75,"pl-s1"],[76,82,"pl-c1"],[84,88,"pl-s1"]],[[8,14,"pl-smi"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[20,24,"pl-s1"]],[[8,15,"pl-s1"],[16,18,"pl-c1"],[19,22,"pl-en"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,32,"pl-s1"]],[],[[4,8,"pl-s1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[24,28,"pl-s1"],[29,36,"pl-c1"],[37,38,"pl-c1"],[39,46,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,29,"pl-en"],[30,35,"pl-k"],[36,48,"pl-smi"],[49,50,"pl-c1"],[50,54,"pl-s1"],[56,61,"pl-k"],[62,73,"pl-smi"],[74,75,"pl-c1"],[75,77,"pl-s1"],[79,84,"pl-k"],[85,96,"pl-smi"],[97,98,"pl-c1"],[98,100,"pl-s1"]],[[31,36,"pl-k"],[37,44,"pl-smi"],[45,46,"pl-c1"],[46,50,"pl-s1"],[52,59,"pl-smi"],[60,65,"pl-s1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"],[45,48,"pl-c1"],[50,56,"pl-k"],[57,61,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,26,"pl-s1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,35,"pl-c1"],[36,38,"pl-c1"],[40,42,"pl-s1"],[42,44,"pl-c1"],[44,49,"pl-c1"],[50,55,"pl-s1"],[58,64,"pl-k"],[65,69,"pl-c1"]],[[4,10,"pl-smi"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,35,"pl-en"],[36,38,"pl-s1"],[40,45,"pl-s1"],[47,49,"pl-s1"],[51,55,"pl-s1"],[55,57,"pl-c1"],[57,61,"pl-c1"],[63,67,"pl-s1"],[67,69,"pl-c1"],[69,75,"pl-c1"],[77,81,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[16,20,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-en"],[15,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-s1"],[23,25,"pl-c1"],[25,30,"pl-c1"],[34,38,"pl-s1"],[38,40,"pl-c1"],[40,47,"pl-c1"]],[],[],[[0,69,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"],[17,23,"pl-smi"],[24,25,"pl-c1"],[27,33,"pl-smi"],[34,40,"pl-c1"],[42,45,"pl-smi"],[46,52,"pl-c1"],[56,65,"pl-smi"]],[],[[0,63,"pl-c"]],[[0,70,"pl-c"]],[[0,72,"pl-c"]],[[0,59,"pl-c"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,31,"pl-en"],[32,41,"pl-smi"],[42,43,"pl-c1"],[43,45,"pl-s1"],[47,53,"pl-smi"],[54,61,"pl-s1"],[63,69,"pl-smi"],[70,82,"pl-s1"],[84,88,"pl-smi"],[89,90,"pl-c1"],[90,103,"pl-s1"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[22,26,"pl-en"],[27,34,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-c1"]],[[8,10,"pl-k"],[12,25,"pl-s1"],[28,29,"pl-c1"],[29,42,"pl-s1"],[43,45,"pl-c1"]],[[8,14,"pl-k"],[15,22,"pl-s1"]],[],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[22,26,"pl-en"],[27,39,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[28,30,"pl-s1"],[30,32,"pl-c1"],[32,33,"pl-c1"],[36,39,"pl-c1"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,20,"pl-c1"],[22,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-c1"],[33,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[45,46,"pl-c1"],[47,59,"pl-s1"]],[[4,10,"pl-smi"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[19,23,"pl-en"],[24,31,"pl-s1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,14,"pl-c1"],[15,17,"pl-c1"],[19,26,"pl-s1"],[27,28,"pl-c1"],[29,36,"pl-s1"]],[[4,6,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"],[26,30,"pl-c1"],[34,36,"pl-s1"],[36,38,"pl-c1"],[38,44,"pl-c1"],[45,46,"pl-c1"],[47,48,"pl-c1"],[50,52,"pl-s1"],[52,54,"pl-c1"],[54,55,"pl-c1"],[56,57,"pl-c1"],[58,62,"pl-c1"]],[[6,10,"pl-k"]],[[8,10,"pl-k"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"],[23,24,"pl-c1"],[25,29,"pl-c1"],[33,35,"pl-s1"],[35,37,"pl-c1"],[37,43,"pl-c1"],[44,45,"pl-c1"],[46,47,"pl-c1"],[49,51,"pl-s1"],[51,53,"pl-c1"],[53,54,"pl-c1"],[55,56,"pl-c1"],[57,60,"pl-c1"]],[[8,12,"pl-k"]],[[12,14,"pl-s1"],[14,16,"pl-c1"],[16,17,"pl-c1"],[21,24,"pl-en"],[25,29,"pl-c1"],[30,31,"pl-c1"],[33,40,"pl-s1"],[41,42,"pl-c1"],[43,50,"pl-s1"]],[[12,14,"pl-k"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"],[38,42,"pl-c1"]],[[12,14,"pl-k"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-c1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,24,"pl-en"],[25,31,"pl-smi"],[32,35,"pl-s1"],[37,43,"pl-smi"],[44,51,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-s1"],[18,21,"pl-c1"],[25,28,"pl-c1"],[29,30,"pl-c1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,40,"pl-c1"],[41,42,"pl-c1"],[43,50,"pl-s1"],[54,58,"pl-c1"]],[],[],[[0,44,"pl-c"]],[],[[0,7,"pl-k"],[8,12,"pl-k"],[15,23,"pl-c1"],[23,24,"pl-c1"],[24,25,"pl-c1"],[27,36,"pl-c1"],[38,47,"pl-c1"],[49,57,"pl-c1"],[59,67,"pl-c1"],[69,79,"pl-c1"],[81,87,"pl-c1"],[90,95,"pl-smi"]],[[0,6,"pl-k"],[7,12,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-c1"],[39,45,"pl-s"],[46,53,"pl-s"],[54,61,"pl-s"],[62,68,"pl-s"],[69,75,"pl-s"],[76,84,"pl-s"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,8,"pl-smi"],[9,14,"pl-c1"],[16,27,"pl-c1"],[29,37,"pl-c1"],[39,48,"pl-c1"]],[[4,10,"pl-smi"],[11,15,"pl-c1"]],[[4,10,"pl-smi"],[11,16,"pl-c1"],[18,28,"pl-c1"]],[[4,7,"pl-smi"],[8,17,"pl-c1"]],[[4,8,"pl-smi"],[9,28,"pl-c1"]],[[2,16,"pl-smi"]],[],[[0,64,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,8,"pl-smi"],[9,18,"pl-c1"]],[[4,13,"pl-smi"],[14,17,"pl-c1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,17,"pl-c1"],[19,22,"pl-smi"],[23,31,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[4,14,"pl-smi"],[15,17,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,14,"pl-c1"]],[[4,15,"pl-smi"],[16,20,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,15,"pl-c1"]],[[2,7,"pl-smi"]],[],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,25,"pl-en"],[26,31,"pl-k"],[32,45,"pl-smi"],[41,45,"pl-smi"],[46,47,"pl-c1"],[47,48,"pl-c1"],[50,54,"pl-smi"],[55,64,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-s1"],[13,19,"pl-en"],[20,21,"pl-c1"],[21,22,"pl-s1"],[24,25,"pl-c1"],[27,33,"pl-k"],[34,35,"pl-s1"]],[[4,5,"pl-s1"],[6,15,"pl-c1"],[16,17,"pl-c1"],[18,27,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,35,"pl-en"],[36,37,"pl-c1"],[39,48,"pl-s1"]],[[4,5,"pl-s1"],[6,9,"pl-c1"],[10,11,"pl-c1"],[12,20,"pl-en"],[21,26,"pl-s1"],[28,37,"pl-s1"],[39,43,"pl-c1"],[45,46,"pl-c1"],[48,49,"pl-c1"],[49,50,"pl-s1"],[51,57,"pl-c1"],[59,60,"pl-c1"],[60,61,"pl-s1"],[62,70,"pl-c1"]],[[4,8,"pl-en"],[9,14,"pl-s1"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"],[10,13,"pl-c1"],[14,15,"pl-c1"],[16,17,"pl-s1"],[18,26,"pl-c1"]],[[4,5,"pl-s1"],[6,8,"pl-c1"],[9,10,"pl-c1"],[11,23,"pl-en"],[24,25,"pl-s1"],[26,29,"pl-c1"],[30,33,"pl-c1"],[35,36,"pl-s1"],[37,40,"pl-c1"],[41,42,"pl-c1"],[44,45,"pl-s1"],[46,47,"pl-c1"]],[[4,5,"pl-s1"],[6,10,"pl-c1"],[11,12,"pl-c1"],[13,27,"pl-en"],[28,29,"pl-s1"],[30,36,"pl-c1"],[38,39,"pl-s1"],[40,48,"pl-c1"]],[[4,5,"pl-s1"],[6,10,"pl-c1"],[11,12,"pl-c1"],[13,32,"pl-en"],[33,34,"pl-s1"],[35,38,"pl-c1"],[39,42,"pl-c1"],[44,45,"pl-s1"],[46,49,"pl-c1"],[50,51,"pl-c1"],[53,54,"pl-s1"],[55,56,"pl-c1"],[58,59,"pl-s1"],[60,62,"pl-c1"],[63,65,"pl-c1"],[67,68,"pl-s1"],[69,73,"pl-c1"]],[[4,5,"pl-s1"],[6,8,"pl-c1"],[9,10,"pl-c1"],[11,28,"pl-en"],[29,30,"pl-s1"],[31,37,"pl-c1"],[39,40,"pl-s1"],[41,49,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-s1"]],[],[],[[0,73,"pl-c"]],[[0,70,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,29,"pl-en"],[30,35,"pl-k"],[36,49,"pl-smi"],[45,49,"pl-smi"],[50,51,"pl-c1"],[51,52,"pl-c1"],[54,58,"pl-smi"],[59,68,"pl-s1"],[70,75,"pl-k"],[76,89,"pl-smi"],[85,89,"pl-smi"],[90,94,"pl-s1"],[95,98,"pl-c1"]],[[31,36,"pl-k"],[37,42,"pl-smi"],[43,44,"pl-c1"],[44,52,"pl-s1"],[54,57,"pl-smi"],[58,68,"pl-s1"],[70,74,"pl-smi"],[75,76,"pl-c1"],[76,87,"pl-s1"],[89,93,"pl-smi"],[94,95,"pl-c1"],[95,104,"pl-s1"]],[[31,34,"pl-smi"],[35,36,"pl-c1"],[36,53,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,26,"pl-s1"],[27,28,"pl-c1"],[29,35,"pl-en"],[37,43,"pl-smi"],[44,53,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,34,"pl-s1"],[36,37,"pl-s1"],[37,39,"pl-c1"],[41,48,"pl-s1"],[49,50,"pl-s1"],[52,53,"pl-c1"],[54,58,"pl-s1"],[59,60,"pl-c1"],[61,62,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,35,"pl-en"],[36,43,"pl-s1"],[45,54,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,19,"pl-s1"],[21,24,"pl-smi"],[25,35,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,26,"pl-en"],[27,32,"pl-s1"],[34,43,"pl-s1"],[45,49,"pl-c1"],[51,52,"pl-c1"],[54,55,"pl-c1"],[55,63,"pl-s1"],[65,66,"pl-c1"],[66,76,"pl-s1"]],[[4,8,"pl-en"],[9,14,"pl-s1"],[17,21,"pl-en"],[22,29,"pl-s1"],[32,36,"pl-en"],[37,38,"pl-s1"],[39,42,"pl-c1"]],[],[[4,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,47,"pl-s1"],[50,60,"pl-s1"],[63,73,"pl-s1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-en"],[28,34,"pl-smi"],[35,40,"pl-s1"],[41,42,"pl-c1"],[43,49,"pl-k"],[50,57,"pl-smi"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"],[34,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,48,"pl-s1"],[49,50,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,21,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"],[39,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"],[49,51,"pl-c1"]],[[4,7,"pl-smi"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,39,"pl-s1"],[42,52,"pl-s1"],[55,65,"pl-s1"]],[[4,7,"pl-smi"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,29,"pl-s1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[8,10,"pl-k"],[12,16,"pl-s1"],[17,25,"pl-s1"],[26,27,"pl-s1"],[29,30,"pl-c1"],[32,34,"pl-c1"],[35,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"],[49,51,"pl-c1"],[52,56,"pl-s1"],[57,65,"pl-s1"],[66,67,"pl-s1"],[69,70,"pl-c1"],[72,74,"pl-c1"],[75,83,"pl-s1"],[84,85,"pl-s1"],[87,88,"pl-c1"]],[[12,16,"pl-s1"],[17,20,"pl-c1"],[20,21,"pl-c1"],[21,22,"pl-s1"],[24,25,"pl-c1"],[26,29,"pl-c1"],[29,30,"pl-c1"],[30,31,"pl-s1"]],[[12,19,"pl-s1"],[19,21,"pl-c1"]],[[10,14,"pl-k"],[15,20,"pl-k"]],[],[[4,8,"pl-en"],[9,13,"pl-s1"],[16,20,"pl-en"],[21,29,"pl-s1"]],[[4,5,"pl-c1"],[5,16,"pl-s1"],[17,18,"pl-c1"],[19,26,"pl-s1"],[28,29,"pl-c1"],[29,38,"pl-s1"],[39,40,"pl-c1"],[41,51,"pl-s1"],[53,54,"pl-c1"],[54,71,"pl-s1"],[72,73,"pl-c1"],[74,84,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,14,"pl-smi"],[15,16,"pl-c1"],[16,33,"pl-en"],[34,39,"pl-k"],[40,51,"pl-smi"],[52,53,"pl-c1"],[53,55,"pl-s1"],[57,65,"pl-smi"],[66,70,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,18,"pl-c1"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[27,33,"pl-smi"],[35,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,43,"pl-c1"],[44,50,"pl-k"],[51,58,"pl-smi"]],[[4,8,"pl-smi"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,35,"pl-k"],[37,39,"pl-s1"],[39,41,"pl-c1"],[41,46,"pl-c1"],[47,48,"pl-s1"],[51,54,"pl-s1"],[55,56,"pl-s1"],[56,58,"pl-c1"],[60,61,"pl-c1"],[63,70,"pl-smi"],[71,72,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-en"],[26,32,"pl-smi"],[34,35,"pl-s1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[41,42,"pl-c1"],[43,49,"pl-k"],[50,54,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-s1"]],[[4,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"]],[[8,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-en"],[30,31,"pl-c1"],[31,33,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[18,22,"pl-smi"],[24,25,"pl-s1"],[29,37,"pl-smi"],[39,40,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"]],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-s1"],[29,34,"pl-s1"],[35,36,"pl-s1"],[38,39,"pl-c1"],[40,45,"pl-s1"],[46,47,"pl-s1"],[50,55,"pl-s1"],[56,57,"pl-s1"],[59,60,"pl-c1"],[61,64,"pl-s1"]],[],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-en"],[29,35,"pl-smi"],[37,38,"pl-c1"],[39,40,"pl-c1"],[41,42,"pl-c1"],[44,45,"pl-c1"],[46,52,"pl-k"],[53,60,"pl-smi"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[45,52,"pl-smi"],[53,54,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[28,29,"pl-s1"],[29,31,"pl-c1"],[33,38,"pl-s1"],[39,42,"pl-s1"],[43,44,"pl-s1"],[47,48,"pl-c1"],[49,52,"pl-s1"],[53,58,"pl-s1"],[59,60,"pl-s1"]],[[4,8,"pl-en"],[9,12,"pl-s1"],[15,19,"pl-en"],[20,25,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,81,"pl-c"]],[],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,8,"pl-smi"],[9,17,"pl-c1"]],[[4,18,"pl-smi"],[19,20,"pl-c1"],[20,23,"pl-c1"],[24,30,"pl-c1"]],[[2,13,"pl-smi"]],[],[[0,7,"pl-k"],[8,20,"pl-c1"]],[],[[0,6,"pl-k"],[7,18,"pl-smi"],[19,33,"pl-en"],[34,39,"pl-k"],[40,53,"pl-smi"],[49,53,"pl-smi"],[54,55,"pl-c1"],[55,59,"pl-s1"],[61,65,"pl-smi"],[66,68,"pl-s1"],[70,75,"pl-k"],[76,81,"pl-smi"],[82,83,"pl-c1"],[83,87,"pl-s1"]],[[35,40,"pl-k"],[41,52,"pl-smi"],[53,54,"pl-c1"],[54,59,"pl-s1"],[61,66,"pl-k"],[67,74,"pl-smi"],[75,76,"pl-c1"],[76,84,"pl-s1"],[86,89,"pl-smi"],[90,96,"pl-s1"]],[[35,40,"pl-k"],[41,45,"pl-smi"],[46,47,"pl-c1"],[47,57,"pl-s1"]],[[4,8,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,26,"pl-c1"]],[[4,8,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"],[21,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[44,54,"pl-s1"]],[[4,15,"pl-smi"],[16,18,"pl-s1"],[20,22,"pl-s1"],[23,31,"pl-c1"],[32,33,"pl-c1"],[34,42,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-s1"],[40,43,"pl-c1"],[44,45,"pl-s1"],[47,48,"pl-c1"],[49,55,"pl-en"],[57,63,"pl-smi"],[64,72,"pl-s1"],[73,74,"pl-c1"],[75,81,"pl-k"],[82,96,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-c1"],[30,33,"pl-smi"],[34,46,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[[4,13,"pl-smi"],[14,24,"pl-s1"],[26,36,"pl-s1"],[37,40,"pl-c1"],[41,42,"pl-c1"],[43,47,"pl-c1"],[49,59,"pl-s1"],[60,61,"pl-c1"],[62,63,"pl-c1"],[64,65,"pl-c1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[11,12,"pl-c1"],[13,16,"pl-c1"]],[[4,14,"pl-smi"],[15,17,"pl-s1"],[19,25,"pl-en"],[26,27,"pl-c1"],[27,29,"pl-s1"],[31,32,"pl-c1"],[34,40,"pl-k"],[41,43,"pl-s1"],[47,49,"pl-s1"],[50,51,"pl-c1"],[52,53,"pl-c1"],[54,55,"pl-c1"],[57,59,"pl-s1"],[60,62,"pl-c1"],[63,64,"pl-c1"],[65,71,"pl-en"],[73,79,"pl-smi"],[80,81,"pl-c1"],[83,89,"pl-k"],[90,94,"pl-smi"]],[[4,8,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[[4,8,"pl-smi"],[9,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[],[[4,15,"pl-smi"],[16,18,"pl-s1"],[20,26,"pl-en"],[27,28,"pl-c1"],[28,30,"pl-s1"],[32,33,"pl-c1"],[35,41,"pl-k"],[42,44,"pl-s1"],[48,50,"pl-s1"],[51,52,"pl-c1"],[53,54,"pl-c1"],[55,56,"pl-c1"]],[[4,6,"pl-s1"],[7,12,"pl-c1"],[13,14,"pl-c1"],[15,21,"pl-en"],[23,29,"pl-smi"],[30,31,"pl-c1"],[33,34,"pl-c1"],[37,39,"pl-s1"],[40,43,"pl-c1"],[44,45,"pl-c1"],[46,52,"pl-en"],[54,60,"pl-smi"],[61,62,"pl-c1"],[62,63,"pl-c1"],[63,68,"pl-c1"],[70,76,"pl-k"],[77,83,"pl-smi"],[87,89,"pl-s1"],[90,91,"pl-c1"],[92,93,"pl-c1"],[94,100,"pl-en"],[102,108,"pl-smi"],[109,110,"pl-c1"],[110,111,"pl-c1"],[111,116,"pl-c1"],[118,124,"pl-k"],[125,131,"pl-smi"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,20,"pl-s1"],[21,22,"pl-c1"],[23,40,"pl-en"],[41,45,"pl-c1"],[47,48,"pl-c1"],[51,85,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,19,"pl-s1"],[20,21,"pl-c1"],[22,36,"pl-en"],[37,41,"pl-c1"],[43,44,"pl-c1"]],[],[[4,13,"pl-smi"],[14,20,"pl-s1"],[21,27,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[39,45,"pl-s1"],[46,47,"pl-s1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[53,56,"pl-c1"],[58,64,"pl-s1"],[65,66,"pl-s1"],[68,74,"pl-c1"],[75,76,"pl-c1"],[77,80,"pl-c1"],[82,88,"pl-s1"],[89,90,"pl-s1"],[92,98,"pl-c1"],[99,100,"pl-c1"],[101,102,"pl-c1"]],[],[[4,12,"pl-smi"],[13,17,"pl-s1"],[19,25,"pl-en"],[26,27,"pl-c1"],[27,31,"pl-s1"],[33,34,"pl-c1"],[36,42,"pl-k"],[43,47,"pl-s1"]],[[4,12,"pl-smi"],[13,22,"pl-s1"],[24,30,"pl-en"],[31,32,"pl-c1"],[32,41,"pl-s1"],[43,44,"pl-c1"],[46,52,"pl-k"],[53,62,"pl-s1"]],[[4,7,"pl-smi"],[8,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[],[[4,7,"pl-k"],[9,13,"pl-smi"],[14,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[22,24,"pl-s1"],[25,26,"pl-c1"],[27,35,"pl-s1"],[37,39,"pl-s1"],[39,41,"pl-c1"]],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"],[22,23,"pl-c1"],[24,34,"pl-s1"]],[[8,12,"pl-smi"],[13,17,"pl-s1"],[18,19,"pl-c1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,37,"pl-s1"],[41,43,"pl-s1"],[47,57,"pl-s1"],[61,63,"pl-s1"],[64,65,"pl-c1"],[66,69,"pl-s1"]],[[8,11,"pl-smi"],[12,23,"pl-s1"],[24,25,"pl-c1"],[27,30,"pl-s1"],[34,46,"pl-c1"]],[],[[8,15,"pl-smi"],[16,17,"pl-c1"],[17,28,"pl-s1"],[29,30,"pl-c1"],[31,45,"pl-en"],[46,50,"pl-s1"],[51,52,"pl-c1"],[53,56,"pl-s1"],[58,62,"pl-s1"]],[[8,17,"pl-smi"],[18,22,"pl-s1"],[23,24,"pl-c1"],[25,44,"pl-en"],[45,56,"pl-s1"],[58,62,"pl-s1"],[64,74,"pl-s1"],[76,88,"pl-s1"]],[[8,12,"pl-en"],[13,24,"pl-s1"]],[],[[8,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-c1"],[28,33,"pl-s1"],[34,35,"pl-c1"],[36,38,"pl-c1"]],[[8,10,"pl-k"],[12,22,"pl-s1"],[23,24,"pl-c1"],[28,29,"pl-c1"],[33,38,"pl-s1"],[39,40,"pl-c1"],[41,51,"pl-s1"],[52,55,"pl-c1"],[56,66,"pl-s1"],[67,68,"pl-c1"],[68,69,"pl-c1"],[69,70,"pl-c1"],[73,78,"pl-s1"],[79,80,"pl-c1"],[81,91,"pl-s1"],[92,95,"pl-c1"],[96,106,"pl-s1"],[107,108,"pl-c1"],[108,109,"pl-c1"],[109,110,"pl-c1"]],[[8,12,"pl-k"],[13,15,"pl-k"],[17,27,"pl-s1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-c1"],[36,41,"pl-s1"],[42,43,"pl-c1"],[44,54,"pl-s1"],[55,58,"pl-c1"],[59,60,"pl-c1"]],[],[[8,72,"pl-c"]],[[8,17,"pl-smi"],[18,22,"pl-s1"],[24,30,"pl-en"],[31,32,"pl-c1"],[32,36,"pl-s1"],[38,39,"pl-c1"],[41,47,"pl-k"],[48,52,"pl-s1"]],[[8,15,"pl-smi"],[16,17,"pl-c1"],[17,33,"pl-s1"],[34,35,"pl-c1"],[36,40,"pl-c1"],[42,85,"pl-c"]],[[8,10,"pl-k"],[12,23,"pl-s1"]],[[12,14,"pl-k"],[16,21,"pl-s1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[28,30,"pl-c1"],[31,41,"pl-c1"]],[[16,20,"pl-s1"],[21,22,"pl-c1"],[23,39,"pl-en"],[40,44,"pl-s1"],[44,46,"pl-c1"],[46,48,"pl-c1"],[50,54,"pl-s1"],[54,56,"pl-c1"],[56,57,"pl-c1"],[59,66,"pl-s1"],[68,69,"pl-c1"],[71,76,"pl-s1"]],[[16,32,"pl-s1"],[33,34,"pl-c1"],[35,41,"pl-en"],[43,49,"pl-smi"],[51,52,"pl-c1"],[52,53,"pl-c1"],[53,54,"pl-c1"],[55,56,"pl-c1"],[57,58,"pl-c1"],[60,61,"pl-c1"],[62,68,"pl-k"],[69,76,"pl-smi"]],[[16,19,"pl-k"],[21,25,"pl-smi"],[26,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[45,61,"pl-s1"],[62,63,"pl-s1"],[65,66,"pl-c1"],[67,69,"pl-c1"]],[[16,19,"pl-k"],[21,25,"pl-smi"],[26,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[35,36,"pl-c1"],[37,41,"pl-s1"],[41,43,"pl-c1"],[43,44,"pl-c1"],[46,47,"pl-s1"],[47,49,"pl-c1"]],[[20,27,"pl-smi"],[28,30,"pl-s1"],[31,32,"pl-c1"],[33,37,"pl-s1"],[38,41,"pl-c1"],[42,43,"pl-s1"]],[[20,22,"pl-k"],[24,26,"pl-s1"],[30,31,"pl-c1"],[32,34,"pl-c1"],[35,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[43,59,"pl-s1"],[60,62,"pl-s1"],[64,65,"pl-c1"],[67,74,"pl-smi"],[75,76,"pl-s1"]],[],[],[[12,14,"pl-k"],[16,26,"pl-s1"],[30,44,"pl-en"],[45,46,"pl-c1"],[46,50,"pl-s1"],[53,67,"pl-en"],[68,69,"pl-c1"],[69,78,"pl-s1"]],[[12,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-en"],[35,36,"pl-c1"],[36,38,"pl-s1"],[40,42,"pl-s1"],[43,45,"pl-c1"],[47,48,"pl-c1"],[48,52,"pl-s1"],[52,54,"pl-c1"],[54,58,"pl-c1"],[60,64,"pl-s1"],[64,66,"pl-c1"],[66,68,"pl-c1"],[69,71,"pl-c1"],[73,77,"pl-c1"]],[[12,21,"pl-s1"],[22,23,"pl-c1"],[24,39,"pl-en"],[40,41,"pl-c1"],[41,43,"pl-s1"],[45,47,"pl-s1"],[48,50,"pl-c1"],[52,53,"pl-c1"],[53,57,"pl-s1"],[57,59,"pl-c1"],[59,63,"pl-c1"],[65,69,"pl-s1"],[69,71,"pl-c1"],[71,73,"pl-c1"],[74,76,"pl-c1"],[78,86,"pl-s1"]],[[12,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[],[],[[8,20,"pl-smi"],[21,22,"pl-c1"],[22,26,"pl-s1"],[27,28,"pl-c1"],[29,35,"pl-en"],[37,43,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[55,61,"pl-k"],[62,74,"pl-s1"]],[[8,21,"pl-smi"],[17,21,"pl-smi"],[22,23,"pl-c1"],[23,32,"pl-s1"],[33,34,"pl-c1"],[35,41,"pl-en"],[43,49,"pl-smi"],[51,52,"pl-c1"],[52,53,"pl-c1"],[53,54,"pl-c1"],[55,56,"pl-c1"],[57,58,"pl-c1"],[61,62,"pl-c1"]],[[8,20,"pl-smi"],[21,22,"pl-c1"],[22,28,"pl-s1"],[29,30,"pl-c1"],[31,37,"pl-en"],[39,45,"pl-smi"],[47,48,"pl-c1"],[48,49,"pl-c1"],[49,50,"pl-c1"],[51,52,"pl-c1"],[53,54,"pl-c1"],[57,63,"pl-k"],[64,76,"pl-s1"]],[[8,21,"pl-smi"],[17,21,"pl-smi"],[22,23,"pl-c1"],[23,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-en"],[45,51,"pl-smi"],[53,54,"pl-c1"],[54,55,"pl-c1"],[55,56,"pl-c1"],[57,58,"pl-c1"],[59,60,"pl-c1"],[63,64,"pl-c1"]],[],[[8,14,"pl-smi"],[15,19,"pl-s1"],[20,26,"pl-c1"],[29,32,"pl-k"],[34,37,"pl-smi"],[38,39,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"],[45,46,"pl-s1"],[47,48,"pl-c1"],[49,55,"pl-c1"],[57,58,"pl-s1"],[58,60,"pl-c1"],[62,66,"pl-s1"],[67,68,"pl-s1"],[70,71,"pl-c1"],[72,75,"pl-c1"]],[[8,12,"pl-smi"],[13,18,"pl-s1"],[19,25,"pl-c1"],[28,31,"pl-k"],[33,36,"pl-smi"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-c1"],[44,45,"pl-s1"],[46,47,"pl-c1"],[48,54,"pl-c1"],[56,57,"pl-s1"],[57,59,"pl-c1"],[61,66,"pl-s1"],[67,68,"pl-s1"],[70,71,"pl-c1"],[72,73,"pl-c1"]],[],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,33,"pl-s1"],[34,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[12,19,"pl-smi"],[20,23,"pl-s1"],[25,28,"pl-s1"]],[[12,14,"pl-k"],[16,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,37,"pl-s1"],[39,42,"pl-s1"],[43,44,"pl-c1"],[45,50,"pl-s1"]],[[12,16,"pl-k"],[17,19,"pl-k"],[21,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,42,"pl-s1"],[44,47,"pl-s1"],[48,49,"pl-c1"],[50,54,"pl-s1"],[55,58,"pl-c1"],[59,60,"pl-c1"]],[[12,16,"pl-k"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,29,"pl-s1"],[30,33,"pl-c1"],[34,35,"pl-s1"],[35,36,"pl-c1"],[36,37,"pl-c1"],[40,43,"pl-s1"],[44,45,"pl-c1"],[46,50,"pl-s1"],[51,54,"pl-c1"],[55,56,"pl-s1"],[56,57,"pl-c1"],[57,58,"pl-c1"]],[[12,19,"pl-smi"],[20,25,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-s1"],[33,36,"pl-c1"],[37,38,"pl-s1"]],[],[[12,18,"pl-smi"],[19,25,"pl-s1"],[26,27,"pl-c1"],[28,38,"pl-en"],[39,40,"pl-c1"],[40,42,"pl-s1"],[44,52,"pl-s1"],[54,71,"pl-s1"],[73,76,"pl-s1"],[78,81,"pl-s1"],[83,88,"pl-s1"]],[[12,16,"pl-s1"],[17,25,"pl-c1"],[27,29,"pl-c1"],[30,31,"pl-c1"],[31,35,"pl-en"],[36,42,"pl-s1"]],[],[[12,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[25,28,"pl-s1"],[32,33,"pl-c1"],[34,36,"pl-c1"],[37,40,"pl-s1"],[41,42,"pl-c1"],[43,45,"pl-s1"],[46,47,"pl-c1"],[48,50,"pl-c1"],[51,53,"pl-s1"],[54,59,"pl-c1"],[60,63,"pl-s1"]],[],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,24,"pl-c1"],[26,35,"pl-s1"],[36,39,"pl-s1"]],[[16,20,"pl-s1"],[21,24,"pl-s1"],[26,27,"pl-c1"],[28,45,"pl-en"],[46,49,"pl-s1"],[51,52,"pl-c1"],[52,54,"pl-s1"],[56,57,"pl-c1"],[57,61,"pl-s1"],[61,63,"pl-c1"],[63,67,"pl-c1"],[69,73,"pl-s1"],[73,75,"pl-c1"],[75,77,"pl-c1"],[78,81,"pl-c1"],[83,87,"pl-s1"],[87,89,"pl-c1"],[89,91,"pl-c1"],[92,97,"pl-c1"],[99,103,"pl-c1"]],[[16,25,"pl-s1"],[26,29,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[],[[12,14,"pl-k"],[16,21,"pl-s1"],[22,24,"pl-c1"],[26,37,"pl-s1"],[38,41,"pl-s1"]],[[16,22,"pl-s1"],[23,26,"pl-s1"],[28,29,"pl-c1"],[30,47,"pl-en"],[48,51,"pl-s1"],[53,54,"pl-c1"],[54,56,"pl-s1"],[58,59,"pl-c1"],[59,63,"pl-s1"],[63,65,"pl-c1"],[65,69,"pl-c1"],[71,75,"pl-s1"],[75,77,"pl-c1"],[77,79,"pl-c1"],[80,83,"pl-c1"],[85,89,"pl-s1"],[89,91,"pl-c1"],[91,93,"pl-c1"],[94,99,"pl-c1"],[101,109,"pl-s1"]],[[16,27,"pl-s1"],[28,31,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[],[[12,18,"pl-smi"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,36,"pl-s1"],[39,54,"pl-en"],[55,56,"pl-c1"],[56,60,"pl-s1"],[61,64,"pl-s1"],[67,68,"pl-c1"],[68,70,"pl-s1"],[72,73,"pl-c1"],[73,77,"pl-s1"],[77,79,"pl-c1"],[79,83,"pl-c1"],[85,89,"pl-c1"],[91,96,"pl-s1"],[100,104,"pl-c1"]],[[12,18,"pl-smi"],[19,30,"pl-s1"],[31,32,"pl-c1"],[33,38,"pl-s1"],[41,56,"pl-en"],[57,58,"pl-c1"],[58,64,"pl-s1"],[65,68,"pl-s1"],[71,72,"pl-c1"],[72,74,"pl-s1"],[76,77,"pl-c1"],[77,81,"pl-s1"],[81,83,"pl-c1"],[83,87,"pl-c1"],[89,97,"pl-s1"],[99,104,"pl-s1"],[108,112,"pl-c1"]],[],[[12,18,"pl-smi"],[19,28,"pl-s1"],[29,30,"pl-c1"],[31,35,"pl-c1"],[37,47,"pl-s1"],[48,49,"pl-c1"],[50,54,"pl-c1"],[56,67,"pl-s1"],[68,69,"pl-c1"],[70,74,"pl-c1"]],[[12,14,"pl-k"],[16,27,"pl-s1"]],[[16,25,"pl-s1"],[26,27,"pl-c1"],[28,49,"pl-en"],[50,54,"pl-s1"],[55,64,"pl-c1"],[66,70,"pl-s1"],[71,80,"pl-c1"],[82,86,"pl-s1"],[87,93,"pl-c1"],[95,99,"pl-s1"],[100,103,"pl-c1"]],[[51,55,"pl-s1"],[55,57,"pl-c1"],[57,59,"pl-c1"],[60,63,"pl-c1"],[65,69,"pl-s1"],[69,71,"pl-c1"],[71,73,"pl-c1"],[74,79,"pl-c1"],[81,85,"pl-c1"],[87,90,"pl-s1"],[92,97,"pl-s1"]],[[16,27,"pl-s1"],[28,29,"pl-c1"],[30,51,"pl-en"],[52,61,"pl-s1"],[62,71,"pl-c1"],[73,82,"pl-s1"],[83,92,"pl-c1"],[94,103,"pl-s1"],[104,110,"pl-c1"],[112,121,"pl-s1"],[122,125,"pl-c1"]],[[53,57,"pl-s1"],[57,59,"pl-c1"],[59,61,"pl-c1"],[62,65,"pl-c1"],[67,71,"pl-s1"],[71,73,"pl-c1"],[73,75,"pl-c1"],[76,81,"pl-c1"],[83,91,"pl-s1"],[93,96,"pl-s1"],[98,103,"pl-s1"]],[[16,18,"pl-k"],[20,25,"pl-s1"],[25,27,"pl-c1"],[27,31,"pl-c1"],[32,34,"pl-c1"],[35,45,"pl-c1"]],[[20,30,"pl-s1"],[31,32,"pl-c1"],[33,54,"pl-en"],[55,71,"pl-s1"],[73,77,"pl-s1"],[78,81,"pl-c1"],[83,84,"pl-c1"],[86,90,"pl-s1"],[90,92,"pl-c1"],[92,93,"pl-c1"]],[[56,60,"pl-s1"],[60,62,"pl-c1"],[62,64,"pl-c1"],[65,68,"pl-c1"],[70,74,"pl-s1"],[74,76,"pl-c1"],[76,78,"pl-c1"],[79,84,"pl-c1"],[86,90,"pl-c1"],[92,95,"pl-s1"],[97,102,"pl-s1"]],[],[],[[12,16,"pl-s1"],[17,26,"pl-c1"],[28,30,"pl-c1"],[31,48,"pl-en"],[49,50,"pl-c1"],[50,56,"pl-s1"],[57,66,"pl-c1"],[69,75,"pl-s1"],[77,87,"pl-en"],[88,97,"pl-s1"],[99,105,"pl-s1"],[108,109,"pl-c1"],[109,114,"pl-s1"],[115,124,"pl-c1"]],[[12,16,"pl-s1"],[17,26,"pl-c1"],[28,30,"pl-c1"],[31,48,"pl-en"],[49,50,"pl-c1"],[50,56,"pl-s1"],[57,66,"pl-c1"],[69,75,"pl-s1"],[77,87,"pl-en"],[88,97,"pl-s1"],[99,105,"pl-s1"],[108,109,"pl-c1"],[109,114,"pl-s1"],[115,124,"pl-c1"]],[],[[12,14,"pl-k"],[17,28,"pl-s1"]],[[16,20,"pl-s1"],[21,29,"pl-c1"],[31,33,"pl-c1"],[34,51,"pl-en"],[52,53,"pl-c1"],[53,59,"pl-s1"],[60,68,"pl-c1"],[71,77,"pl-s1"],[79,89,"pl-en"],[90,99,"pl-s1"],[101,107,"pl-s1"],[110,111,"pl-c1"],[111,116,"pl-s1"],[117,125,"pl-c1"]],[[16,20,"pl-s1"],[21,29,"pl-c1"],[31,33,"pl-c1"],[34,51,"pl-en"],[52,53,"pl-c1"],[53,59,"pl-s1"],[60,68,"pl-c1"],[71,77,"pl-s1"],[79,89,"pl-en"],[90,101,"pl-s1"],[103,109,"pl-s1"],[112,113,"pl-c1"],[113,118,"pl-s1"],[119,127,"pl-c1"]],[[14,18,"pl-k"]],[[16,22,"pl-smi"],[23,29,"pl-s1"],[30,31,"pl-c1"],[32,42,"pl-en"],[43,52,"pl-s1"],[54,60,"pl-s1"],[63,65,"pl-k"],[67,73,"pl-s1"],[74,75,"pl-c1"],[76,77,"pl-c1"],[79,85,"pl-s1"],[86,87,"pl-c1"],[88,94,"pl-s1"]],[[16,22,"pl-smi"],[23,29,"pl-s1"],[30,31,"pl-c1"],[32,42,"pl-en"],[43,52,"pl-s1"],[54,60,"pl-s1"],[63,65,"pl-k"],[67,73,"pl-s1"],[74,75,"pl-c1"],[76,77,"pl-c1"],[79,85,"pl-s1"],[86,87,"pl-c1"],[88,94,"pl-s1"]],[[16,22,"pl-smi"],[23,32,"pl-s1"],[33,34,"pl-c1"],[36,45,"pl-s1"],[46,47,"pl-c1"],[48,51,"pl-c1"],[52,54,"pl-c1"],[55,64,"pl-s1"],[65,66,"pl-c1"],[67,70,"pl-c1"],[74,78,"pl-c1"],[82,85,"pl-c1"],[85,86,"pl-c1"],[86,92,"pl-s1"],[93,94,"pl-c1"],[95,98,"pl-c1"],[98,99,"pl-c1"],[99,105,"pl-s1"]],[[16,20,"pl-s1"],[21,29,"pl-c1"],[31,33,"pl-c1"],[34,51,"pl-en"],[52,53,"pl-c1"],[53,59,"pl-s1"],[60,68,"pl-c1"],[71,77,"pl-s1"],[79,88,"pl-s1"],[90,91,"pl-c1"],[91,96,"pl-s1"],[97,105,"pl-c1"]],[],[[16,22,"pl-smi"],[23,30,"pl-s1"],[31,32,"pl-c1"],[33,43,"pl-en"],[44,55,"pl-s1"],[57,63,"pl-s1"],[66,68,"pl-k"],[70,77,"pl-s1"],[78,79,"pl-c1"],[80,81,"pl-c1"],[83,90,"pl-s1"],[91,92,"pl-c1"],[93,99,"pl-s1"]],[[16,22,"pl-smi"],[23,30,"pl-s1"],[31,32,"pl-c1"],[33,43,"pl-en"],[44,55,"pl-s1"],[57,63,"pl-s1"],[66,68,"pl-k"],[70,77,"pl-s1"],[78,79,"pl-c1"],[80,81,"pl-c1"],[83,90,"pl-s1"],[91,92,"pl-c1"],[93,99,"pl-s1"]],[[16,22,"pl-smi"],[23,32,"pl-s1"],[33,34,"pl-c1"],[36,47,"pl-s1"],[48,49,"pl-c1"],[50,53,"pl-c1"],[54,56,"pl-c1"],[57,68,"pl-s1"],[69,70,"pl-c1"],[71,74,"pl-c1"],[78,82,"pl-c1"],[86,89,"pl-c1"],[89,90,"pl-c1"],[90,97,"pl-s1"],[98,99,"pl-c1"],[100,103,"pl-c1"],[103,104,"pl-c1"],[104,111,"pl-s1"]],[[16,20,"pl-s1"],[21,29,"pl-c1"],[31,33,"pl-c1"],[34,51,"pl-en"],[52,53,"pl-c1"],[53,59,"pl-s1"],[60,68,"pl-c1"],[71,77,"pl-s1"],[79,88,"pl-s1"],[90,91,"pl-c1"],[91,96,"pl-s1"],[97,105,"pl-c1"]],[],[],[[12,16,"pl-s1"],[17,27,"pl-c1"],[29,31,"pl-c1"],[32,49,"pl-en"],[50,51,"pl-c1"],[51,57,"pl-s1"],[58,68,"pl-c1"],[71,77,"pl-s1"],[79,89,"pl-en"],[90,100,"pl-s1"],[102,108,"pl-s1"],[111,112,"pl-c1"],[112,117,"pl-s1"],[118,128,"pl-c1"]],[],[[12,29,"pl-s1"],[29,31,"pl-c1"]],[],[],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,26,"pl-smi"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[35,37,"pl-s1"],[38,41,"pl-c1"],[42,43,"pl-s1"],[45,47,"pl-s1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,45,"pl-c1"],[46,47,"pl-c1"],[48,51,"pl-s1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"],[67,68,"pl-c1"],[69,73,"pl-s1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"],[34,35,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,46,"pl-c1"],[47,48,"pl-c1"],[49,53,"pl-s1"],[54,55,"pl-s1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,22,"pl-c1"],[23,24,"pl-c1"],[25,31,"pl-s1"],[32,33,"pl-s1"],[35,41,"pl-c1"],[44,50,"pl-s1"],[51,52,"pl-s1"],[54,55,"pl-c1"],[58,61,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,27,"pl-c1"],[28,29,"pl-c1"],[30,36,"pl-s1"],[37,38,"pl-s1"],[40,46,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,26,"pl-c1"],[27,28,"pl-c1"],[29,35,"pl-s1"],[36,37,"pl-s1"],[39,45,"pl-c1"]],[[12,15,"pl-s1"],[15,17,"pl-c1"],[17,36,"pl-c1"],[37,38,"pl-c1"],[39,44,"pl-s1"],[45,46,"pl-s1"]],[],[[8,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[23,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[30,32,"pl-c1"],[33,35,"pl-s1"],[36,38,"pl-c1"],[39,47,"pl-s1"],[47,48,"pl-c1"],[48,49,"pl-c1"],[50,52,"pl-c1"],[53,55,"pl-s1"],[58,60,"pl-c1"],[61,63,"pl-c1"],[64,65,"pl-c1"]],[[12,19,"pl-en"],[20,26,"pl-s1"],[28,102,"pl-s"]],[[20,30,"pl-s1"],[32,34,"pl-s1"],[36,39,"pl-s1"],[41,45,"pl-s1"],[46,47,"pl-c1"],[49,53,"pl-s1"],[54,62,"pl-c1"],[65,69,"pl-s1"],[70,79,"pl-c1"],[82,86,"pl-s1"],[87,96,"pl-c1"]],[],[[8,12,"pl-en"],[13,17,"pl-s1"],[18,21,"pl-c1"]],[[8,12,"pl-en"],[13,17,"pl-s1"],[20,24,"pl-en"],[25,34,"pl-s1"],[37,41,"pl-en"],[42,48,"pl-s1"],[51,55,"pl-en"],[56,67,"pl-s1"]],[[8,23,"pl-en"],[24,25,"pl-c1"],[25,29,"pl-s1"]],[[8,12,"pl-en"],[13,29,"pl-s1"]],[],[[8,45,"pl-c"]],[[8,12,"pl-smi"],[13,23,"pl-s1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,36,"pl-s1"]],[[8,12,"pl-en"],[13,23,"pl-s1"]],[[8,10,"pl-k"],[12,22,"pl-s1"],[23,26,"pl-c1"],[28,32,"pl-en"],[33,43,"pl-s1"],[44,47,"pl-c1"]],[[8,19,"pl-en"],[20,21,"pl-c1"],[21,23,"pl-s1"]],[[8,24,"pl-en"],[25,26,"pl-c1"],[26,28,"pl-s1"]],[[8,24,"pl-en"],[25,32,"pl-s1"],[34,35,"pl-c1"]],[[8,12,"pl-en"],[13,22,"pl-s1"]],[[8,15,"pl-smi"],[16,17,"pl-c1"],[17,29,"pl-s1"],[30,31,"pl-c1"],[32,46,"pl-en"],[47,51,"pl-s1"],[53,63,"pl-s1"]],[[8,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-en"],[30,42,"pl-s1"],[44,54,"pl-s1"],[56,60,"pl-c1"],[62,63,"pl-c1"],[65,66,"pl-c1"],[66,76,"pl-s1"],[78,79,"pl-c1"],[79,91,"pl-s1"]],[[8,12,"pl-en"],[13,25,"pl-s1"]],[[8,9,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,30,"pl-s1"]],[[8,10,"pl-s1"],[11,12,"pl-c1"],[13,25,"pl-en"],[26,36,"pl-s1"],[37,40,"pl-c1"],[42,52,"pl-s1"],[53,54,"pl-c1"],[56,57,"pl-c1"]],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,45,"pl-s1"],[46,48,"pl-c1"],[49,51,"pl-s1"],[52,54,"pl-c1"],[55,56,"pl-s1"]],[[8,17,"pl-s1"],[18,19,"pl-c1"],[20,34,"pl-en"],[35,45,"pl-s1"],[47,59,"pl-s1"]],[[8,10,"pl-s1"],[11,12,"pl-c1"],[13,32,"pl-en"],[33,43,"pl-s1"],[44,47,"pl-c1"],[49,59,"pl-s1"],[60,61,"pl-c1"],[63,64,"pl-c1"],[66,68,"pl-s1"],[69,71,"pl-c1"],[73,82,"pl-s1"]],[[8,15,"pl-s1"],[16,17,"pl-c1"],[18,35,"pl-en"],[36,46,"pl-s1"],[48,60,"pl-s1"]],[],[[4,8,"pl-en"],[9,19,"pl-s1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,22,"pl-c1"],[24,28,"pl-en"],[29,39,"pl-s1"],[40,43,"pl-c1"]],[[4,15,"pl-en"],[16,17,"pl-c1"],[17,19,"pl-s1"]],[[4,20,"pl-en"],[21,22,"pl-c1"],[22,24,"pl-s1"]],[[4,20,"pl-en"],[21,28,"pl-s1"],[30,31,"pl-c1"]],[[4,8,"pl-en"],[9,18,"pl-s1"]],[[4,6,"pl-k"],[8,18,"pl-s1"],[22,36,"pl-en"],[37,38,"pl-c1"],[38,42,"pl-s1"],[45,59,"pl-en"],[60,61,"pl-c1"],[61,70,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-s1"]],[],[],[[0,63,"pl-c"]],[],[[0,3,"pl-smi"],[4,8,"pl-en"],[9,13,"pl-smi"]],[[4,8,"pl-smi"],[9,12,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,32,"pl-en"],[33,72,"pl-s"],[74,75,"pl-c1"],[75,78,"pl-s1"]],[],[[8,12,"pl-smi"],[13,16,"pl-s1"],[17,19,"pl-c1"]],[[8,18,"pl-en"],[19,20,"pl-c1"],[22,25,"pl-s1"],[27,30,"pl-s1"]],[[8,13,"pl-k"],[14,18,"pl-smi"],[19,20,"pl-c1"],[20,28,"pl-s1"],[29,30,"pl-c1"],[31,97,"pl-s"]],[[8,14,"pl-en"],[15,47,"pl-s"],[49,52,"pl-s1"],[54,57,"pl-s1"]],[[16,22,"pl-en"],[23,26,"pl-s1"],[28,36,"pl-s1"],[38,40,"pl-c1"],[41,42,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-s1"],[50,52,"pl-c1"],[53,59,"pl-c1"]],[],[[4,8,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[22,26,"pl-smi"],[28,31,"pl-c1"],[32,33,"pl-c1"],[35,41,"pl-smi"],[42,45,"pl-s1"]],[[4,10,"pl-en"],[11,34,"pl-s"],[36,45,"pl-s1"]],[],[[4,26,"pl-c"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,22,"pl-s1"],[23,26,"pl-c1"]],[[4,21,"pl-en"],[22,26,"pl-s1"],[28,39,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,38,"pl-en"],[39,40,"pl-c1"],[42,45,"pl-s1"],[47,51,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,26,"pl-s1"],[27,28,"pl-c1"],[29,42,"pl-en"],[43,44,"pl-c1"],[46,55,"pl-s1"],[57,60,"pl-s1"],[62,73,"pl-c1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,27,"pl-s1"],[28,30,"pl-c1"],[32,34,"pl-c1"],[37,40,"pl-smi"],[41,49,"pl-s1"],[50,52,"pl-c1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"]],[[4,17,"pl-smi"],[13,17,"pl-smi"],[18,19,"pl-c1"],[19,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-en"],[37,38,"pl-c1"],[40,43,"pl-s1"],[45,54,"pl-s1"],[56,57,"pl-c1"],[57,63,"pl-s1"],[65,74,"pl-s1"],[76,84,"pl-s1"]],[],[[4,8,"pl-smi"],[9,16,"pl-s1"],[17,19,"pl-c1"],[22,31,"pl-s1"],[32,34,"pl-c1"],[37,43,"pl-s1"],[44,46,"pl-c1"]],[[4,14,"pl-en"],[15,20,"pl-s1"],[22,25,"pl-s1"],[27,34,"pl-s1"]],[[4,14,"pl-en"],[15,22,"pl-s1"],[24,27,"pl-s1"],[29,38,"pl-s1"]],[[4,14,"pl-en"],[15,19,"pl-s1"],[21,27,"pl-s1"],[29,35,"pl-s1"]],[],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,26,"pl-s1"],[27,28,"pl-c1"],[29,95,"pl-s"]],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,28,"pl-s1"],[29,30,"pl-c1"],[31,97,"pl-s"]],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,94,"pl-s"]],[[4,77,"pl-c"]],[[4,10,"pl-en"],[11,60,"pl-s"],[62,69,"pl-s1"],[71,78,"pl-en"],[79,86,"pl-s1"],[88,98,"pl-s1"],[100,102,"pl-c1"],[103,105,"pl-c1"],[105,106,"pl-c1"],[108,118,"pl-s1"]],[[4,10,"pl-en"],[11,42,"pl-s"],[44,53,"pl-s1"],[55,62,"pl-en"],[63,72,"pl-s1"],[74,86,"pl-s1"],[88,90,"pl-c1"],[91,93,"pl-c1"],[93,94,"pl-c1"]],[[4,10,"pl-en"],[11,67,"pl-s"],[69,75,"pl-s1"],[77,84,"pl-en"],[85,91,"pl-s1"],[93,102,"pl-s1"],[104,106,"pl-c1"],[107,109,"pl-c1"],[109,110,"pl-c1"],[112,118,"pl-s1"]],[],[[4,57,"pl-c"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,75,"pl-s"],[77,86,"pl-s1"]],[[4,9,"pl-smi"],[10,14,"pl-s1"],[15,16,"pl-c1"],[17,29,"pl-en"],[30,31,"pl-c1"],[33,42,"pl-s1"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,80,"pl-s"]],[[12,21,"pl-s1"],[23,27,"pl-s1"],[28,36,"pl-c1"],[38,42,"pl-s1"],[43,44,"pl-c1"],[46,50,"pl-s1"],[51,54,"pl-c1"],[55,56,"pl-c1"]],[],[[4,44,"pl-c"]],[[4,8,"pl-smi"],[9,20,"pl-s1"],[22,31,"pl-s1"],[33,36,"pl-smi"],[37,54,"pl-s1"]],[[4,21,"pl-en"],[22,23,"pl-c1"],[25,34,"pl-s1"],[36,40,"pl-s1"],[42,46,"pl-s1"],[47,53,"pl-c1"],[55,59,"pl-s1"],[60,68,"pl-c1"],[70,71,"pl-c1"],[71,82,"pl-s1"],[84,85,"pl-c1"],[85,94,"pl-s1"],[96,97,"pl-c1"],[97,114,"pl-s1"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,87,"pl-s"]],[[12,23,"pl-s1"],[25,34,"pl-s1"],[36,40,"pl-s1"],[41,49,"pl-c1"],[51,68,"pl-s1"]],[],[[4,97,"pl-c"]],[[4,10,"pl-smi"],[11,19,"pl-s1"],[21,29,"pl-s1"]],[],[[8,12,"pl-smi"],[13,21,"pl-s1"],[22,25,"pl-c1"],[27,28,"pl-c1"],[30,31,"pl-c1"],[34,42,"pl-s1"],[43,46,"pl-c1"],[48,49,"pl-c1"],[51,52,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"],[45,53,"pl-s1"],[54,55,"pl-c1"],[56,57,"pl-s1"],[59,61,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,32,"pl-s1"],[34,35,"pl-s1"],[35,37,"pl-c1"],[39,47,"pl-s1"],[48,55,"pl-s1"],[56,57,"pl-s1"],[59,61,"pl-c1"]],[[8,14,"pl-smi"],[15,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"]],[[12,18,"pl-smi"],[19,21,"pl-s1"],[22,23,"pl-c1"],[25,31,"pl-smi"],[32,40,"pl-s1"],[41,42,"pl-s1"],[47,53,"pl-smi"],[54,63,"pl-s1"]],[[12,18,"pl-smi"],[19,21,"pl-s1"],[22,23,"pl-c1"],[25,31,"pl-smi"],[32,40,"pl-s1"],[41,42,"pl-s1"],[47,53,"pl-smi"],[54,57,"pl-s1"]],[[12,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-en"],[23,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-s1"]],[],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"]],[[8,45,"pl-c"]],[[8,12,"pl-smi"],[13,14,"pl-c1"],[14,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-en"],[26,29,"pl-c1"],[29,30,"pl-c1"],[30,33,"pl-c1"],[35,41,"pl-k"],[42,46,"pl-smi"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"],[43,45,"pl-s1"],[46,53,"pl-s1"],[54,55,"pl-s1"],[56,57,"pl-c1"],[57,60,"pl-c1"],[61,62,"pl-c1"],[63,70,"pl-s1"],[71,72,"pl-s1"],[72,73,"pl-c1"],[73,74,"pl-c1"],[76,78,"pl-c1"]],[[8,12,"pl-smi"],[13,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[8,14,"pl-smi"],[15,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,31,"pl-c1"],[33,34,"pl-s1"],[34,36,"pl-c1"]],[[12,18,"pl-smi"],[19,21,"pl-s1"],[22,23,"pl-c1"],[25,31,"pl-smi"],[32,40,"pl-s1"],[41,42,"pl-s1"],[47,53,"pl-smi"],[54,57,"pl-s1"]],[[12,14,"pl-k"],[16,18,"pl-s1"],[22,23,"pl-c1"],[25,33,"pl-k"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,35,"pl-c1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[16,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[28,29,"pl-s1"],[29,30,"pl-c1"],[30,33,"pl-c1"],[33,34,"pl-c1"],[34,35,"pl-s1"]],[[16,18,"pl-k"],[20,21,"pl-s1"],[22,24,"pl-c1"],[25,26,"pl-c1"],[28,36,"pl-k"]],[[16,22,"pl-smi"],[23,26,"pl-s1"],[27,28,"pl-c1"],[30,36,"pl-smi"],[37,38,"pl-s1"],[42,48,"pl-smi"],[49,57,"pl-s1"]],[[16,22,"pl-smi"],[23,25,"pl-s1"],[26,27,"pl-c1"],[29,35,"pl-smi"],[36,44,"pl-s1"],[45,46,"pl-s1"],[51,57,"pl-smi"],[58,61,"pl-s1"]],[[16,18,"pl-k"],[20,22,"pl-s1"],[26,27,"pl-c1"],[29,37,"pl-k"]],[[16,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[26,27,"pl-c1"],[28,32,"pl-en"],[33,36,"pl-s1"],[40,42,"pl-s1"],[42,43,"pl-c1"],[43,45,"pl-s1"]],[],[],[[8,16,"pl-s1"],[17,18,"pl-c1"],[19,21,"pl-s1"]],[[8,12,"pl-en"],[13,15,"pl-s1"]],[[8,15,"pl-en"],[16,22,"pl-s1"],[24,128,"pl-s"],[130,138,"pl-s1"],[140,148,"pl-s1"]],[],[],[[4,76,"pl-c"]],[[4,10,"pl-smi"],[11,24,"pl-s1"],[25,26,"pl-c1"],[27,30,"pl-c1"],[32,45,"pl-s1"],[46,47,"pl-c1"],[48,51,"pl-c1"],[53,57,"pl-smi"],[58,75,"pl-s1"],[76,77,"pl-c1"],[78,79,"pl-c1"],[81,99,"pl-s1"],[100,101,"pl-c1"],[102,103,"pl-c1"]],[],[[8,15,"pl-smi"],[16,17,"pl-c1"],[17,22,"pl-s1"],[23,24,"pl-c1"],[25,39,"pl-en"],[40,47,"pl-s1"],[49,52,"pl-s1"]],[[8,13,"pl-smi"],[14,15,"pl-c1"],[15,17,"pl-s1"],[19,22,"pl-smi"],[23,27,"pl-s1"]],[[8,17,"pl-smi"],[18,20,"pl-s1"],[21,22,"pl-c1"],[23,31,"pl-en"],[32,37,"pl-s1"],[39,42,"pl-s1"],[44,48,"pl-c1"],[50,51,"pl-c1"],[53,54,"pl-c1"],[54,56,"pl-s1"],[58,59,"pl-c1"],[59,63,"pl-s1"]],[[8,12,"pl-en"],[13,18,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-c1"],[15,16,"pl-c1"],[17,20,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-s1"]],[[8,12,"pl-smi"],[13,14,"pl-c1"],[14,16,"pl-s1"],[17,18,"pl-c1"],[19,27,"pl-en"],[28,30,"pl-s1"],[31,34,"pl-c1"],[36,38,"pl-s1"],[39,40,"pl-c1"],[42,43,"pl-c1"]],[[8,12,"pl-smi"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-s1"],[24,25,"pl-c1"]],[[8,14,"pl-smi"],[15,17,"pl-c1"],[18,19,"pl-c1"],[20,23,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[33,35,"pl-c1"],[37,39,"pl-k"],[41,43,"pl-s1"],[44,45,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-c1"],[54,60,"pl-smi"],[61,62,"pl-s1"],[63,64,"pl-c1"],[66,72,"pl-smi"],[73,75,"pl-s1"],[76,77,"pl-s1"],[80,86,"pl-smi"],[87,92,"pl-s1"],[94,96,"pl-c1"],[97,99,"pl-c1"],[100,101,"pl-c1"],[101,102,"pl-s1"],[102,103,"pl-c1"],[103,107,"pl-en"],[108,109,"pl-s1"]],[[8,12,"pl-smi"],[13,19,"pl-s1"],[21,26,"pl-smi"],[27,28,"pl-c1"],[28,32,"pl-s1"],[33,34,"pl-c1"],[35,51,"pl-en"],[52,54,"pl-s1"],[55,58,"pl-c1"],[60,62,"pl-s1"],[63,64,"pl-c1"],[66,67,"pl-c1"],[69,70,"pl-c1"],[70,76,"pl-s1"]],[[8,14,"pl-smi"],[15,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-c1"]],[[8,12,"pl-smi"],[13,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[8,11,"pl-k"],[13,17,"pl-smi"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,35,"pl-s1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[[12,18,"pl-smi"],[19,22,"pl-s1"],[23,24,"pl-c1"],[26,32,"pl-smi"],[33,37,"pl-s1"],[38,39,"pl-s1"],[41,42,"pl-c1"],[46,52,"pl-smi"],[53,55,"pl-s1"]],[[12,18,"pl-smi"],[19,21,"pl-s1"],[22,23,"pl-c1"],[25,31,"pl-smi"],[32,34,"pl-s1"],[35,39,"pl-s1"],[40,41,"pl-s1"],[43,44,"pl-c1"],[49,55,"pl-smi"],[56,61,"pl-s1"]],[[12,18,"pl-smi"],[19,21,"pl-s1"],[22,23,"pl-c1"],[25,31,"pl-smi"],[32,34,"pl-s1"],[35,39,"pl-s1"],[40,41,"pl-s1"],[43,44,"pl-c1"],[49,55,"pl-smi"],[56,61,"pl-s1"]],[[12,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-en"],[29,32,"pl-s1"],[36,38,"pl-s1"],[38,39,"pl-c1"],[39,41,"pl-s1"]],[],[[8,21,"pl-s1"],[22,23,"pl-c1"],[24,26,"pl-c1"],[28,41,"pl-s1"],[42,43,"pl-c1"],[44,46,"pl-s1"]],[[8,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,49,"pl-s1"],[50,51,"pl-c1"],[52,54,"pl-s1"],[55,56,"pl-c1"]],[[8,15,"pl-en"],[16,22,"pl-s1"],[24,156,"pl-s"]],[[16,29,"pl-s1"],[31,44,"pl-s1"],[46,63,"pl-s1"],[65,83,"pl-s1"]],[[8,12,"pl-en"],[13,15,"pl-s1"],[18,22,"pl-en"],[23,27,"pl-s1"],[30,34,"pl-en"],[35,37,"pl-s1"],[40,44,"pl-en"],[45,47,"pl-s1"],[48,51,"pl-c1"]],[],[],[[4,63,"pl-c"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,21,"pl-s1"],[22,23,"pl-c1"],[24,41,"pl-en"],[42,43,"pl-c1"],[43,47,"pl-s1"],[48,52,"pl-c1"],[54,66,"pl-c1"]],[],[[4,37,"pl-c"]],[[4,15,"pl-smi"],[16,25,"pl-s1"],[27,33,"pl-en"],[34,35,"pl-c1"],[35,44,"pl-s1"],[46,47,"pl-c1"],[49,55,"pl-k"],[56,65,"pl-s1"]],[[4,13,"pl-s1"],[14,18,"pl-c1"],[19,20,"pl-c1"],[21,33,"pl-c1"]],[[4,10,"pl-en"],[11,20,"pl-s1"],[21,32,"pl-c1"],[34,38,"pl-s1"],[40,43,"pl-c1"]],[],[[4,15,"pl-smi"],[16,27,"pl-s1"],[29,35,"pl-en"],[36,37,"pl-c1"],[37,48,"pl-s1"],[50,51,"pl-c1"],[53,59,"pl-k"],[60,71,"pl-s1"]],[[4,15,"pl-s1"],[16,20,"pl-c1"],[21,22,"pl-c1"],[23,33,"pl-c1"]],[],[[4,15,"pl-smi"],[16,24,"pl-s1"],[26,32,"pl-en"],[33,34,"pl-c1"],[34,42,"pl-s1"],[44,45,"pl-c1"],[47,53,"pl-k"],[54,62,"pl-s1"]],[[4,12,"pl-s1"],[13,17,"pl-c1"],[18,19,"pl-c1"],[20,28,"pl-c1"]],[[4,10,"pl-en"],[11,19,"pl-s1"],[20,29,"pl-c1"],[31,40,"pl-s1"],[42,48,"pl-k"],[49,58,"pl-s1"]],[[4,10,"pl-en"],[11,19,"pl-s1"],[20,28,"pl-c1"],[30,38,"pl-s1"],[40,46,"pl-k"],[47,55,"pl-s1"]],[],[[4,48,"pl-c"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,64,"pl-s"],[66,69,"pl-s1"]],[[4,15,"pl-smi"],[16,22,"pl-s1"],[23,24,"pl-c1"],[25,39,"pl-en"],[40,45,"pl-s1"],[47,50,"pl-s1"],[52,53,"pl-c1"],[53,57,"pl-s1"],[59,60,"pl-c1"],[60,69,"pl-s1"],[71,79,"pl-s1"],[81,82,"pl-c1"],[84,89,"pl-s"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,66,"pl-s"],[68,71,"pl-s1"]],[[4,15,"pl-smi"],[16,24,"pl-s1"],[25,26,"pl-c1"],[27,41,"pl-en"],[42,49,"pl-s1"],[51,54,"pl-s1"],[56,57,"pl-c1"],[57,61,"pl-s1"],[63,64,"pl-c1"],[64,75,"pl-s1"],[77,85,"pl-s1"],[87,88,"pl-c1"],[90,97,"pl-s"]],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,63,"pl-s"],[65,71,"pl-s1"]],[[4,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[24,38,"pl-en"],[39,43,"pl-s1"],[45,51,"pl-s1"],[53,54,"pl-c1"],[54,58,"pl-s1"],[60,61,"pl-c1"],[61,69,"pl-s1"],[71,79,"pl-s1"],[81,82,"pl-c1"],[84,88,"pl-s"]],[],[[4,92,"pl-c"]],[],[[8,19,"pl-smi"],[20,21,"pl-c1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[28,29,"pl-c1"],[32,33,"pl-c1"],[33,39,"pl-s1"],[41,42,"pl-c1"],[42,50,"pl-s1"],[52,53,"pl-c1"],[53,58,"pl-s1"]],[[8,13,"pl-k"],[14,18,"pl-smi"],[19,20,"pl-c1"],[20,25,"pl-s1"],[26,27,"pl-c1"],[29,30,"pl-c1"],[33,38,"pl-s"],[40,47,"pl-s"],[49,53,"pl-s"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[12,16,"pl-smi"],[17,21,"pl-s1"],[22,25,"pl-c1"]],[[12,20,"pl-en"],[21,25,"pl-s1"],[27,33,"pl-k"],[34,38,"pl-s1"],[41,147,"pl-s"],[149,154,"pl-s1"],[155,156,"pl-s1"]],[[12,16,"pl-smi"],[17,18,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,27,"pl-en"],[28,32,"pl-s1"],[34,37,"pl-s"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[16,19,"pl-k"],[21,25,"pl-smi"],[26,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[34,36,"pl-s1"],[37,38,"pl-c1"],[39,42,"pl-s1"],[43,44,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[57,59,"pl-s1"],[59,61,"pl-c1"]],[[20,34,"pl-smi"],[35,36,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[41,44,"pl-s1"],[45,46,"pl-s1"],[47,49,"pl-c1"],[49,52,"pl-c1"],[53,54,"pl-s1"],[56,58,"pl-s1"]],[[20,27,"pl-en"],[28,29,"pl-s1"],[31,85,"pl-s"]],[[28,29,"pl-s1"],[29,31,"pl-c1"],[31,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"],[41,52,"pl-c1"],[54,55,"pl-s1"],[55,57,"pl-c1"],[57,65,"pl-c1"],[67,75,"pl-c1"],[76,77,"pl-s1"],[80,81,"pl-s1"],[81,83,"pl-c1"],[83,92,"pl-c1"],[94,95,"pl-s1"],[95,97,"pl-c1"],[97,101,"pl-c1"]],[[28,29,"pl-s1"],[29,31,"pl-c1"],[31,36,"pl-c1"],[38,39,"pl-s1"],[39,41,"pl-c1"],[41,51,"pl-c1"],[53,54,"pl-s1"],[54,56,"pl-c1"],[56,65,"pl-c1"],[67,68,"pl-s1"],[68,70,"pl-c1"],[70,89,"pl-c1"]],[],[],[[12,18,"pl-en"],[19,20,"pl-s1"]],[],[],[],[[4,35,"pl-c"]],[[4,8,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"],[21,22,"pl-c1"],[24,28,"pl-c1"],[30,34,"pl-c1"],[36,41,"pl-c1"],[43,48,"pl-c1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"],[21,22,"pl-c1"],[24,25,"pl-c1"],[28,29,"pl-c1"],[29,35,"pl-s1"],[37,38,"pl-c1"],[38,46,"pl-s1"],[48,49,"pl-c1"],[49,54,"pl-s1"]],[[4,9,"pl-k"],[10,14,"pl-smi"],[15,16,"pl-c1"],[16,22,"pl-s1"],[23,24,"pl-c1"],[26,27,"pl-c1"],[30,35,"pl-s"],[37,44,"pl-s"],[46,50,"pl-s"]],[[4,10,"pl-smi"],[11,13,"pl-c1"],[14,15,"pl-c1"],[17,23,"pl-c1"],[25,26,"pl-c1"],[29,56,"pl-c"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"]],[[16,20,"pl-smi"],[21,32,"pl-s1"],[33,34,"pl-c1"],[35,43,"pl-s1"],[44,45,"pl-s1"],[49,53,"pl-c1"]],[[16,22,"pl-smi"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,30,"pl-c1"]],[[16,19,"pl-k"],[21,25,"pl-smi"],[26,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[34,36,"pl-s1"],[37,38,"pl-c1"],[39,50,"pl-s1"],[51,53,"pl-c1"],[54,56,"pl-s1"],[57,58,"pl-c1"],[59,62,"pl-s1"],[63,64,"pl-s1"],[65,67,"pl-c1"],[67,75,"pl-c1"],[77,79,"pl-s1"],[79,81,"pl-c1"]],[[20,21,"pl-s1"],[22,24,"pl-c1"],[25,28,"pl-s1"],[29,30,"pl-s1"],[31,33,"pl-c1"],[33,36,"pl-c1"],[37,45,"pl-c1"],[47,49,"pl-s1"],[51,55,"pl-c1"],[56,57,"pl-c1"],[58,61,"pl-s1"],[62,63,"pl-s1"],[64,66,"pl-c1"],[66,69,"pl-c1"],[70,71,"pl-s1"],[73,75,"pl-s1"],[77,81,"pl-c1"]],[[16,18,"pl-c1"],[19,20,"pl-s1"],[22,23,"pl-s1"],[25,26,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-s1"]],[],[],[],[],[[4,46,"pl-c"]],[],[[8,12,"pl-smi"],[13,14,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-en"],[24,84,"pl-s"],[86,89,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,83,"pl-s"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[16,20,"pl-smi"],[21,28,"pl-s1"],[29,30,"pl-c1"],[31,34,"pl-s1"],[35,36,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[48,49,"pl-c1"],[50,51,"pl-c1"]],[[16,30,"pl-smi"],[31,32,"pl-c1"],[32,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[40,43,"pl-s1"],[44,45,"pl-s1"],[46,48,"pl-c1"],[48,51,"pl-c1"],[52,53,"pl-s1"],[55,62,"pl-s1"]],[[16,19,"pl-k"],[21,24,"pl-smi"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,37,"pl-c1"],[39,40,"pl-s1"],[40,42,"pl-c1"]],[[20,27,"pl-en"],[28,29,"pl-s1"],[31,68,"pl-s"]],[[28,34,"pl-s1"],[35,36,"pl-s1"],[39,47,"pl-c1"],[48,49,"pl-s1"],[52,60,"pl-s1"],[61,62,"pl-s1"],[65,67,"pl-c1"],[68,69,"pl-s1"],[71,72,"pl-s1"],[74,75,"pl-s1"]],[[28,32,"pl-s1"],[32,34,"pl-c1"],[34,43,"pl-c1"],[45,49,"pl-s1"],[49,51,"pl-c1"],[51,61,"pl-c1"],[63,67,"pl-s1"],[67,69,"pl-c1"],[69,74,"pl-c1"]],[],[],[],[[8,14,"pl-en"],[15,16,"pl-s1"]],[],[],[[4,86,"pl-c"]],[[4,8,"pl-smi"],[9,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[4,7,"pl-k"],[9,12,"pl-smi"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,28,"pl-s1"],[28,30,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,15,"pl-k"],[17,21,"pl-smi"],[22,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[30,32,"pl-s1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[39,40,"pl-s1"],[41,43,"pl-c1"],[43,51,"pl-c1"],[53,55,"pl-s1"],[55,57,"pl-c1"]],[[16,30,"pl-smi"],[31,32,"pl-c1"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,37,"pl-c1"],[37,40,"pl-s1"],[41,42,"pl-s1"],[43,45,"pl-c1"],[45,48,"pl-c1"],[49,50,"pl-s1"],[52,54,"pl-s1"]],[[16,18,"pl-k"],[20,21,"pl-s1"],[21,23,"pl-c1"],[23,32,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-c1"]],[[20,91,"pl-c"]],[[0,93,"pl-c"]],[[0,91,"pl-c"]],[[0,95,"pl-c"]],[[0,95,"pl-c"]],[[0,99,"pl-c"]],[[20,26,"pl-smi"],[27,36,"pl-s1"],[37,38,"pl-c1"],[39,42,"pl-s1"],[43,44,"pl-s1"],[45,47,"pl-c1"],[47,50,"pl-c1"],[51,59,"pl-c1"],[61,63,"pl-s1"],[65,69,"pl-c1"]],[[20,22,"pl-k"],[24,28,"pl-en"],[29,30,"pl-s1"],[30,32,"pl-c1"],[32,36,"pl-c1"],[37,38,"pl-c1"],[39,48,"pl-s1"],[50,51,"pl-c1"],[52,56,"pl-c1"],[57,58,"pl-c1"],[60,64,"pl-en"],[65,74,"pl-s1"],[76,77,"pl-c1"],[78,81,"pl-c1"]],[[24,41,"pl-s1"],[41,43,"pl-c1"]],[],[],[],[],[],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,102,"pl-s"]],[[21,88,"pl-s"],[90,107,"pl-s1"]],[],[[4,37,"pl-c"]],[],[[8,12,"pl-smi"],[13,14,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-en"],[24,83,"pl-s"],[85,88,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,69,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,110,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,44,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,103,"pl-s"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-s1"],[32,34,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,38,"pl-c1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[[16,23,"pl-en"],[24,25,"pl-s1"],[27,70,"pl-s"],[72,78,"pl-s1"],[79,80,"pl-s1"],[83,91,"pl-c1"],[92,93,"pl-s1"]],[[24,26,"pl-c1"],[27,28,"pl-s1"],[30,31,"pl-s1"],[33,34,"pl-c1"],[37,39,"pl-c1"],[40,41,"pl-s1"],[43,44,"pl-s1"],[46,47,"pl-c1"],[50,52,"pl-c1"],[53,54,"pl-s1"],[56,57,"pl-s1"],[59,60,"pl-c1"],[63,65,"pl-c1"],[66,67,"pl-s1"],[69,70,"pl-s1"],[72,73,"pl-c1"]],[],[[8,14,"pl-smi"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-c1"],[29,30,"pl-c1"],[31,38,"pl-c1"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,70,"pl-s"],[72,78,"pl-c1"]],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,95,"pl-s"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,18,"pl-smi"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[29,30,"pl-s1"],[32,33,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[40,41,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"]],[[12,19,"pl-en"],[20,21,"pl-s1"],[23,46,"pl-s"],[48,56,"pl-c1"],[57,58,"pl-s1"],[61,62,"pl-c1"]],[],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,35,"pl-s"]],[[8,11,"pl-smi"],[12,19,"pl-s1"],[20,26,"pl-c1"],[28,29,"pl-c1"],[31,32,"pl-c1"],[35,45,"pl-s1"],[46,52,"pl-c1"],[54,55,"pl-c1"],[57,58,"pl-c1"],[61,75,"pl-s1"],[76,82,"pl-c1"],[84,85,"pl-c1"],[87,88,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"]],[[12,14,"pl-k"],[16,18,"pl-c1"],[19,20,"pl-c1"],[22,23,"pl-s1"],[25,26,"pl-c1"],[31,32,"pl-c1"],[32,38,"pl-c1"],[42,49,"pl-s1"],[50,51,"pl-s1"],[53,54,"pl-c1"],[55,56,"pl-c1"],[58,65,"pl-en"],[66,67,"pl-s1"],[69,156,"pl-s"],[158,166,"pl-c1"],[167,168,"pl-s1"],[171,173,"pl-c1"],[174,175,"pl-c1"],[177,178,"pl-s1"],[180,181,"pl-c1"]],[[12,14,"pl-k"],[16,18,"pl-c1"],[19,20,"pl-c1"],[22,23,"pl-s1"],[25,26,"pl-c1"],[31,32,"pl-c1"],[32,38,"pl-c1"],[42,52,"pl-s1"],[53,54,"pl-s1"],[56,57,"pl-c1"],[58,59,"pl-c1"],[61,68,"pl-en"],[69,70,"pl-s1"],[72,171,"pl-s"],[173,181,"pl-c1"],[182,183,"pl-s1"],[186,188,"pl-c1"],[189,190,"pl-c1"],[192,193,"pl-s1"],[195,196,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"],[40,42,"pl-k"],[44,46,"pl-c1"],[47,48,"pl-s1"],[50,51,"pl-s1"],[53,54,"pl-c1"],[59,60,"pl-c1"],[60,66,"pl-c1"],[68,82,"pl-s1"],[83,84,"pl-s1"],[86,87,"pl-c1"],[88,89,"pl-c1"]],[],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,77,"pl-s"]],[[8,11,"pl-smi"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,30,"pl-c1"],[32,33,"pl-s1"],[37,45,"pl-c1"],[47,48,"pl-s1"],[48,50,"pl-c1"]],[[12,18,"pl-smi"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,29,"pl-c1"],[30,31,"pl-c1"],[33,34,"pl-s1"],[36,37,"pl-c1"]],[[12,18,"pl-smi"],[19,25,"pl-s1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[31,32,"pl-c1"],[34,42,"pl-c1"],[44,45,"pl-c1"]],[[12,18,"pl-smi"],[19,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[29,30,"pl-s1"],[32,33,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[40,41,"pl-c1"],[43,44,"pl-s1"],[46,47,"pl-c1"]],[[12,15,"pl-smi"],[16,28,"pl-s1"],[29,30,"pl-c1"],[32,37,"pl-s1"],[41,47,"pl-c1"]],[[12,15,"pl-smi"],[16,26,"pl-s1"],[27,28,"pl-c1"],[30,35,"pl-s1"],[36,37,"pl-c1"],[38,44,"pl-s1"],[48,54,"pl-c1"]],[[12,15,"pl-smi"],[16,20,"pl-s1"],[21,22,"pl-c1"],[24,25,"pl-c1"],[29,35,"pl-c1"]],[[12,15,"pl-smi"],[16,21,"pl-s1"],[22,23,"pl-c1"],[25,32,"pl-s1"],[33,34,"pl-s1"]],[[12,15,"pl-smi"],[16,20,"pl-s1"],[21,22,"pl-c1"],[23,35,"pl-s1"],[36,38,"pl-c1"],[39,49,"pl-s1"],[50,52,"pl-c1"],[53,57,"pl-s1"],[58,60,"pl-c1"],[61,66,"pl-s1"]],[[12,19,"pl-en"],[20,21,"pl-s1"],[23,172,"pl-s"]],[[20,28,"pl-c1"],[29,30,"pl-s1"],[33,38,"pl-s1"],[40,46,"pl-c1"],[48,60,"pl-s1"],[61,66,"pl-s"],[67,71,"pl-s"]],[[20,25,"pl-s1"],[25,26,"pl-c1"],[26,32,"pl-s1"],[34,40,"pl-c1"],[42,52,"pl-s1"],[53,58,"pl-s"],[59,63,"pl-s"]],[[20,21,"pl-c1"],[23,29,"pl-c1"],[31,35,"pl-s1"],[36,41,"pl-s"],[42,46,"pl-s"]],[[20,25,"pl-s1"],[26,34,"pl-s"],[35,42,"pl-s"]],[[20,24,"pl-s1"],[27,59,"pl-s"],[62,74,"pl-s"]],[[12,14,"pl-k"],[16,20,"pl-s1"],[22,30,"pl-s1"],[31,32,"pl-c1"],[33,34,"pl-c1"]],[],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,37,"pl-s"]],[[8,10,"pl-k"],[12,20,"pl-s1"]],[[12,19,"pl-en"],[20,21,"pl-s1"],[23,141,"pl-s"]],[[10,14,"pl-k"]],[[12,18,"pl-smi"],[19,31,"pl-s1"],[32,33,"pl-c1"],[34,36,"pl-c1"],[37,38,"pl-c1"],[40,50,"pl-c1"],[52,53,"pl-c1"]],[[12,19,"pl-en"],[20,21,"pl-s1"],[23,107,"pl-s"]],[[12,14,"pl-k"],[16,28,"pl-s1"],[29,30,"pl-c1"],[31,37,"pl-c1"]],[[16,23,"pl-en"],[24,25,"pl-s1"],[27,120,"pl-s"]],[[28,149,"pl-s"]],[[24,36,"pl-s1"],[38,44,"pl-c1"]],[],[],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,83,"pl-s"]],[[8,11,"pl-smi"],[12,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[8,11,"pl-k"],[13,16,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-c1"],[36,37,"pl-s1"],[37,39,"pl-c1"],[41,43,"pl-k"],[45,59,"pl-s1"],[60,61,"pl-s1"]],[[12,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-c1"]],[[12,15,"pl-k"],[17,20,"pl-smi"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-s1"],[36,38,"pl-c1"],[40,42,"pl-k"],[44,46,"pl-c1"],[47,48,"pl-s1"],[50,51,"pl-s1"],[53,54,"pl-c1"],[59,60,"pl-c1"],[60,66,"pl-c1"]],[[16,23,"pl-en"],[24,25,"pl-s1"],[27,98,"pl-s"],[100,108,"pl-c1"],[109,110,"pl-s1"],[113,119,"pl-s1"],[120,121,"pl-s1"],[124,126,"pl-c1"],[127,128,"pl-s1"],[130,131,"pl-s1"],[133,134,"pl-c1"],[137,143,"pl-c1"]],[],[[8,10,"pl-k"],[13,27,"pl-s1"],[29,36,"pl-en"],[37,38,"pl-s1"],[40,49,"pl-s"]],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,66,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,105,"pl-s"]],[[16,24,"pl-s1"],[26,34,"pl-s1"],[36,40,"pl-c1"],[41,48,"pl-s"],[49,59,"pl-s"],[61,69,"pl-s1"],[71,79,"pl-s1"],[81,85,"pl-c1"],[86,93,"pl-s"],[94,104,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,141,"pl-s"]],[[20,111,"pl-s"]],[[16,29,"pl-s1"],[31,44,"pl-s1"],[46,63,"pl-s1"],[65,83,"pl-s1"]],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,62,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,105,"pl-s"]],[[16,20,"pl-s1"],[21,29,"pl-c1"],[31,48,"pl-s1"],[50,61,"pl-s1"],[63,72,"pl-s1"]],[],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,50,"pl-s"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,49,"pl-s"],[51,58,"pl-s1"],[60,67,"pl-en"],[68,75,"pl-s1"],[77,87,"pl-s1"],[89,91,"pl-c1"],[92,94,"pl-c1"],[94,95,"pl-c1"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,51,"pl-s"],[53,62,"pl-s1"],[64,71,"pl-en"],[72,81,"pl-s1"],[83,95,"pl-s1"],[97,99,"pl-c1"],[100,102,"pl-c1"],[102,103,"pl-c1"]],[[8,15,"pl-en"],[16,17,"pl-s1"],[19,56,"pl-s"],[58,64,"pl-s1"],[66,73,"pl-en"],[74,80,"pl-s1"],[82,91,"pl-s1"],[93,95,"pl-c1"],[96,98,"pl-c1"],[98,99,"pl-c1"],[101,107,"pl-s1"]],[],[[8,14,"pl-en"],[15,16,"pl-s1"]],[],[],[[4,11,"pl-en"],[12,18,"pl-s1"],[20,83,"pl-s"]],[],[[4,8,"pl-en"],[9,10,"pl-c1"],[13,17,"pl-en"],[18,23,"pl-s1"],[26,30,"pl-en"],[31,38,"pl-s1"],[41,45,"pl-en"],[46,50,"pl-s1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[]],"colorizedLines":null}},"title":"netta/transfer_check.c at main · ariannamethod/netta","appPayload":{},"meta":{"title":"netta/transfer_check.c at main · ariannamethod/netta"}}</script>
  <div data-target="react-app.reactRoot"><meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/> <!-- --> <a hidden="" id="code-view-repo-link" href="/ariannamethod/netta" data-discover="true"></a> <div class="d-none"></div><div><div style="--spacing:var(--spacing-none)" class="prc-PageLayout-PageLayoutRoot--KH-d" data-component="SplitPageLayout" data-has-sidebar="true"><div class="prc-PageLayout-SidebarWrapper-kLG4B CopilotSidePanelSidebar-module__SidePanel__L3O0C CopilotSidePanelSidebar-module__HiddenSidePanel__TBRGn" style="--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="end" data-sticky="true" data-responsive-variant="fullscreen"><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-SidebarVerticalDivider-0Rl0V" data-component="PageLayout.VerticalDivider" data-variant="line" data-position="end" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="450" aria-valuemax="768" aria-valuenow="544" aria-valuetext="Pane width 544 pixels" tabindex="0"></div></div><div class="prc-PageLayout-Sidebar-iciWg" data-component="SplitPageLayout.Sidebar" data-resizable="true" style="--spacing:var(--spacing-normal);--pane-min-width:450px;--pane-max-width:768px;--pane-width-custom:544px;--pane-width-size:var(--pane-width-custom);--pane-width:544px"><div class="height-full" data-testid="copilot-code-view-side-panel"><div id="copilot-side-panel-content" class="height-full"></div></div></div></div><div class="prc-PageLayout-PageLayoutWrapper-2BhU2" data-width="full"><div class="prc-PageLayout-PageLayoutContent-BneH9"><div id="repos-file-tree-sidebar" class="CodeViewFileTreeLayout-module__sidebar__n_Aau" tabindex="0"><div class="prc-PageLayout-PaneWrapper-pHPop ReposFileTreePane-module__Pane__rBZpI ReposFileTreePane-module__HideTree__AYZnm ReposFileTreePane-module__HidePane__VHAVt" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="prc-PageLayout-HorizontalDivider-JLVqp prc-PageLayout-PaneHorizontalDivider-9tbnE" data-component="PageLayout.HorizontalDivider" data-variant-regular="none" data-variant-narrow="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="prc-PageLayout-Pane-AyzHK" data-component="SplitPageLayout.Pane" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-PaneVerticalDivider-le57g" data-component="PageLayout.VerticalDivider" data-variant-narrow="none" data-variant-regular="line" data-variant-wide="line" data-position="start" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="256" aria-valuemax="600" aria-valuenow="320" aria-valuetext="Pane width 320 pixels" tabindex="0"></div></div></div></div><div data-component="SplitPageLayout.Content" class="prc-PageLayout-ContentWrapper-gR9eG"><div class="prc-PageLayout-Content-xWL-A" data-width="full" style="--spacing:var(--spacing-none)"><div class="SharedPageLayout-module__content__IwGAp" data-selector="repos-split-pane-content" id="repos-split-pane-content" tabindex="0"> <!-- --> <div class="container CodeViewHeader-module__Box__JkPOb"><div class="CodeViewHeader-module__StickyHeader__Qn7UN" id="StickyHeader"><div class="CodeViewHeader-module__Box_1__SbNDV"><div class="CodeViewHeader-module__Box_2__TB46f"><div class="react-code-view-header-wrap--narrow CodeViewHeader-module__Box_3__q1zUL"><div class="CodeViewHeader-module__treeToggleWrapper__RQ__9"><h2 class="use-tree-pane-module__Heading__s4QbZ prc-Heading-Heading-MtWFE" data-component="Heading"><button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Files</span></span></button><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_4lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="se" data-component="Tooltip" aria-hidden="true" id="_R_4lla9lik5_">Expand file tree</span><div class="d-none"></div></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="react-code-view-header-mb--narrow CodeViewHeader-module__Box_5__MQ0hL"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__lg__Rjz0A"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/ariannamethod/netta/tree/main" data-discover="true">netta</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__lg__Rjz0A prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="file-name-id">transfer_check.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lla9lik5_">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div><div class="CodeViewHeader-module__FileResultsList__JDzUy"><span class="d-flex FileResultsList-module__FilesSearchBox__ivVkc TextInput-wrapper prc-components-TextInputWrapper-Hpdqi prc-components-TextInputBaseWrapper-wY-n0" data-no-trailing-action="true" data-component="TextInput" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id="_R_1cpla9lik5_" aria-hidden="true" data-component="TextInput.LeadingVisual"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_1cpla9lik5_ _R_1cpla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_1cpla9lik5H1_" aria-hidden="true" data-component="TextInput.TrailingVisual"></span></span></div><div class="d-none"></div></div><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7p9la9lik5_" id="_R_99la9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_7p9la9lik5_">More file actions</span></div></div></div><div class="react-code-view-header-element--narrow"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div class="d-none"></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7pdla9lik5_" id="_R_9dla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_7pdla9lik5_">More file actions</span></div></div></div></div></div></div></div><div class="CodeView-module__contentWrapper__cG2JH"><div class="react-code-view-bottom-padding"><div class="BlobTopBanners-module__Box__v_nvx"></div></div> <div class="d-none"></div><div class="d-flex flex-column border rounded-2 tmp-mb-3 pl-1"><div class="LatestCommit-module__Box__B25ZT"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">History</h2><a data-component="LinkButton" href="/ariannamethod/netta/commits/main/transfer_check.c" class="prc-Button-ButtonBase-9n-Xk d-none d-lg-flex LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><a data-component="LinkButton" aria-label="View commit history for this file." href="/ariannamethod/netta/commits/main/transfer_check.c" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby="_R_4mlala9lik5_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" role="tooltip" aria-hidden="true" id="_R_4mlala9lik5_">History</span></div></div></div></div></div><div class="d-flex flex-row"><div class="container BlobViewContent-module__blobContainer__DtH2d"><div class="react-code-size-details-banner BlobViewContent-module__codeSizeDetails__e5sUw"><div class="react-code-size-details-banner CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="68.4 KB" style="--truncate-max-width:100%"><span>1654 lines (1491 loc) · 68.4 KB</span></div></div></div></div><div class="react-blob-view-header-sticky BlobViewContent-module__stickyHeader__VwxB5" id="repos-sticky-header"><div class="BlobViewHeader-module__Box__yhm9u"><div class="react-blob-sticky-header"><div class="FileNameStickyHeader-module__outerWrapper__ZL4Xc FileNameStickyHeader-module__outerWrapperHidden__Zpynk"><div class="FileNameStickyHeader-module__Box_1__Hazu5"><div class="FileNameStickyHeader-module__Box_2__hoolP"><div class="FileNameStickyHeader-module__Box_3__MVKsk"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="FileNameStickyHeader-module__Box_4__FLhtt"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__md__Wb1Gs"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/ariannamethod/netta/tree/main" data-discover="true">netta</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__md__Wb1Gs prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="sticky-file-name-id">transfer_check.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lcpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lcpala9lik5_">Copy path</span></div></div></div><button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Top</span></span></button></div></div></div><div class="BlobViewHeader-module__Box_1__VEmuQ"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">File metadata and controls</h2><div class="BlobViewHeader-module__Box_2__icUs2"><ul aria-label="File view" class="prc-SegmentedControl-SegmentedControl-lqIXp BlobTabButtons-module__SegmentedControl__jen2u" data-variant="default" data-size="small" data-component="SegmentedControl"><li class="prc-SegmentedControl-Item-tSCQh" data-selected="" data-component="SegmentedControl.Button"><button aria-pressed="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Code">Code</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Blame">Blame</div></span></button></li></ul><div class="d-none"></div><div class="react-code-size-details-in-header CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="68.4 KB" style="--truncate-max-width:100%"><span>1654 lines (1491 loc) · 68.4 KB</span></div></div></div></div><div class="BlobViewHeader-module__Box_3__ng6v2"><div class="d-none"></div><div class="react-blob-header-edit-and-raw-actions BlobViewHeader-module__Box_4__J4Y4W"><div class="d-none"></div><div class="prc-ButtonGroup-ButtonGroup-vFUrY" data-component="ButtonGroup"><div class="prc-ButtonGroup-Item-PqvDl"><a data-component="LinkButton" href="https://github.com/ariannamethod/netta/raw/refs/heads/main/transfer_check.c" data-testid="raw-button" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov BlobViewHeader-module__LinkButton__X9kx2" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Raw</span></span></a></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_qaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_qaucpala9lik5_">Copy raw file</span></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_eaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_eaucpala9lik5_">Download raw file</span></div></div></div><div class="d-none"></div><button data-component="IconButton" type="button" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__IconButton_2__RyjZg prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_jecpala9lik5_" id="symbols-button"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_jecpala9lik5_">Open symbols panel</span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_fkecpala9lik5_" id="_R_kecpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_fkecpala9lik5_">Edit and raw actions</span></div></div></div></div><div></div></div><div class="BlobViewContent-module__blobContentWrapper__JS0W6"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="BlobContent-module__blobContentSection__VOgZq" style="margin-top:46px"><!--$--><div class="CodeBlob-module__codeBlobWrapper__RS6In" style="padding-top:8px;padding-bottom:8px"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="position-relative"><div class="CodeBlob-module__codeBlobInner__tfjuQ"><div class="react-code-file-contents CodeLinesSSR-module__codeFileContents__ARmAN" role="presentation" aria-hidden="true" data-tab-size="4" data-paste-markdown-skip="true" style="tab-size:4;max-width:unset" data-hpc="true" containertiming="hpc"><div class="react-line-numbers" style="pointer-events:auto"><div data-line-number="1" class="react-line-number react-code-text" style="padding-right:16px">1</div><div data-line-number="2" class="react-line-number react-code-text" style="padding-right:16px">2</div><div data-line-number="3" class="react-line-number react-code-text" style="padding-right:16px">3</div><div data-line-number="4" class="react-line-number react-code-text" style="padding-right:16px">4</div><div data-line-number="5" class="react-line-number react-code-text" style="padding-right:16px">5</div><div data-line-number="6" class="react-line-number react-code-text" style="padding-right:16px">6</div><div data-line-number="7" class="react-line-number react-code-text" style="padding-right:16px">7</div><div data-line-number="8" class="react-line-number react-code-text" style="padding-right:16px">8</div><div data-line-number="9" class="react-line-number react-code-text" style="padding-right:16px">9</div><div data-line-number="10" class="react-line-number react-code-text" style="padding-right:16px">10</div><div data-line-number="11" class="react-line-number react-code-text" style="padding-right:16px">11</div><div data-line-number="12" class="react-line-number react-code-text" style="padding-right:16px">12</div><div data-line-number="13" class="react-line-number react-code-text" style="padding-right:16px">13</div><div data-line-number="14" class="react-line-number react-code-text" style="padding-right:16px">14</div><div data-line-number="15" class="react-line-number react-code-text" style="padding-right:16px">15</div><div data-line-number="16" class="react-line-number react-code-text" style="padding-right:16px">16</div><div data-line-number="17" class="react-line-number react-code-text" style="padding-right:16px">17</div><div data-line-number="18" class="react-line-number react-code-text" style="padding-right:16px">18</div><div data-line-number="19" class="react-line-number react-code-text" style="padding-right:16px">19</div><div data-line-number="20" class="react-line-number react-code-text" style="padding-right:16px">20</div><div data-line-number="21" class="react-line-number react-code-text" style="padding-right:16px">21</div><div data-line-number="22" class="react-line-number react-code-text" style="padding-right:16px">22</div><div data-line-number="23" class="react-line-number react-code-text" style="padding-right:16px">23</div><div data-line-number="24" class="react-line-number react-code-text" style="padding-right:16px">24</div><div data-line-number="25" class="react-line-number react-code-text" style="padding-right:16px">25</div><div data-line-number="26" class="react-line-number react-code-text" style="padding-right:16px">26</div><div data-line-number="27" class="react-line-number react-code-text" style="padding-right:16px">27</div><div data-line-number="28" class="react-line-number react-code-text" style="padding-right:16px">28</div><div data-line-number="29" class="react-line-number react-code-text" style="padding-right:16px">29</div><div data-line-number="30" class="react-line-number react-code-text" style="padding-right:16px">30</div><div data-line-number="31" class="react-line-number react-code-text" style="padding-right:16px">31</div><div data-line-number="32" class="react-line-number react-code-text" style="padding-right:16px">32</div><div data-line-number="33" class="react-line-number react-code-text" style="padding-right:16px">33</div><div data-line-number="34" class="react-line-number react-code-text" style="padding-right:16px">34</div><div data-line-number="35" class="react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="react-line-number react-code-text" style="padding-right:16px">39</div><div data-line-number="40" class="react-line-number react-code-text" style="padding-right:16px">40</div><div data-line-number="41" class="react-line-number react-code-text" style="padding-right:16px">41</div><div data-line-number="42" class="react-line-number react-code-text" style="padding-right:16px">42</div><div data-line-number="43" class="react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="react-line-number react-code-text" style="padding-right:16px">48</div><div data-line-number="49" class="react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="react-line-number react-code-text" style="padding-right:16px">54</div><div data-line-number="55" class="react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="react-line-number react-code-text" style="padding-right:16px">64</div><div data-line-number="65" class="react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="react-line-number react-code-text" style="padding-right:16px">75</div><div data-line-number="76" class="react-line-number react-code-text" style="padding-right:16px">76</div><div data-line-number="77" class="react-line-number react-code-text" style="padding-right:16px">77</div><div data-line-number="78" class="react-line-number react-code-text" style="padding-right:16px">78</div><div data-line-number="79" class="react-line-number react-code-text" style="padding-right:16px">79</div><div data-line-number="80" class="react-line-number react-code-text" style="padding-right:16px">80</div><div data-line-number="81" class="react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="react-line-number react-code-text" style="padding-right:16px">82</div><div data-line-number="83" class="react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="react-line-number react-code-text" style="padding-right:16px">88</div><div data-line-number="89" class="react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="react-line-number react-code-text" style="padding-right:16px">90</div><div data-line-number="91" class="react-line-number react-code-text" style="padding-right:16px">91</div><div data-line-number="92" class="react-line-number react-code-text" style="padding-right:16px">92</div><div data-line-number="93" class="react-line-number react-code-text" style="padding-right:16px">93</div><div data-line-number="94" class="react-line-number react-code-text" style="padding-right:16px">94</div><div data-line-number="95" class="react-line-number react-code-text" style="padding-right:16px">95</div><div data-line-number="96" class="react-line-number react-code-text" style="padding-right:16px">96</div><div data-line-number="97" class="react-line-number react-code-text" style="padding-right:16px">97</div><div data-line-number="98" class="react-line-number react-code-text" style="padding-right:16px">98</div><div data-line-number="99" class="react-line-number react-code-text" style="padding-right:16px">99</div><div data-line-number="100" class="react-line-number react-code-text" style="padding-right:16px">100</div><div data-line-number="101" class="react-line-number react-code-text" style="padding-right:16px">101</div><div data-line-number="102" class="react-line-number react-code-text" style="padding-right:16px">102</div><div data-line-number="103" class="react-line-number react-code-text" style="padding-right:16px">103</div><div data-line-number="104" class="react-line-number react-code-text" style="padding-right:16px">104</div><div data-line-number="105" class="react-line-number react-code-text" style="padding-right:16px">105</div><div data-line-number="106" class="react-line-number react-code-text" style="padding-right:16px">106</div><div data-line-number="107" class="react-line-number react-code-text" style="padding-right:16px">107</div><div data-line-number="108" class="react-line-number react-code-text" style="padding-right:16px">108</div><div data-line-number="109" class="react-line-number react-code-text" style="padding-right:16px">109</div><div data-line-number="110" class="react-line-number react-code-text" style="padding-right:16px">110</div><div data-line-number="111" class="react-line-number react-code-text" style="padding-right:16px">111</div><div data-line-number="112" class="react-line-number react-code-text" style="padding-right:16px">112</div><div data-line-number="113" class="react-line-number react-code-text" style="padding-right:16px">113</div><div data-line-number="114" class="react-line-number react-code-text" style="padding-right:16px">114</div><div data-line-number="115" class="react-line-number react-code-text" style="padding-right:16px">115</div><div data-line-number="116" class="react-line-number react-code-text" style="padding-right:16px">116</div><div data-line-number="117" class="react-line-number react-code-text" style="padding-right:16px">117</div><div data-line-number="118" class="react-line-number react-code-text" style="padding-right:16px">118</div><div data-line-number="119" class="react-line-number react-code-text" style="padding-right:16px">119</div><div data-line-number="120" class="react-line-number react-code-text" style="padding-right:16px">120</div><div data-line-number="121" class="react-line-number react-code-text" style="padding-right:16px">121</div><div data-line-number="122" class="react-line-number react-code-text" style="padding-right:16px">122</div><div data-line-number="123" class="react-line-number react-code-text" style="padding-right:16px">123</div><div data-line-number="124" class="react-line-number react-code-text" style="padding-right:16px">124</div><div data-line-number="125" class="react-line-number react-code-text" style="padding-right:16px">125</div><div data-line-number="126" class="react-line-number react-code-text" style="padding-right:16px">126</div><div data-line-number="127" class="react-line-number react-code-text" style="padding-right:16px">127</div><div data-line-number="128" class="react-line-number react-code-text" style="padding-right:16px">128</div><div data-line-number="129" class="react-line-number react-code-text" style="padding-right:16px">129</div><div data-line-number="130" class="react-line-number react-code-text" style="padding-right:16px">130</div><div data-line-number="131" class="react-line-number react-code-text" style="padding-right:16px">131</div><div data-line-number="132" class="react-line-number react-code-text" style="padding-right:16px">132</div><div data-line-number="133" class="react-line-number react-code-text" style="padding-right:16px">133</div><div data-line-number="134" class="react-line-number react-code-text" style="padding-right:16px">134</div><div data-line-number="135" class="react-line-number react-code-text" style="padding-right:16px">135</div><div data-line-number="136" class="react-line-number react-code-text" style="padding-right:16px">136</div><div data-line-number="137" class="react-line-number react-code-text" style="padding-right:16px">137</div><div data-line-number="138" class="react-line-number react-code-text" style="padding-right:16px">138</div><div data-line-number="139" class="react-line-number react-code-text" style="padding-right:16px">139</div><div data-line-number="140" class="react-line-number react-code-text" style="padding-right:16px">140</div><div data-line-number="141" class="react-line-number react-code-text" style="padding-right:16px">141</div><div data-line-number="142" class="react-line-number react-code-text" style="padding-right:16px">142</div><div data-line-number="143" class="react-line-number react-code-text" style="padding-right:16px">143</div><div data-line-number="144" class="react-line-number react-code-text" style="padding-right:16px">144</div><div data-line-number="145" class="react-line-number react-code-text" style="padding-right:16px">145</div><div data-line-number="146" class="react-line-number react-code-text" style="padding-right:16px">146</div><div data-line-number="147" class="react-line-number react-code-text" style="padding-right:16px">147</div><div data-line-number="148" class="react-line-number react-code-text" style="padding-right:16px">148</div><div data-line-number="149" class="react-line-number react-code-text" style="padding-right:16px">149</div><div data-line-number="150" class="react-line-number react-code-text" style="padding-right:16px">150</div><div data-line-number="151" class="react-line-number react-code-text" style="padding-right:16px">151</div><div data-line-number="152" class="react-line-number react-code-text" style="padding-right:16px">152</div><div data-line-number="153" class="react-line-number react-code-text" style="padding-right:16px">153</div><div data-line-number="154" class="react-line-number react-code-text" style="padding-right:16px">154</div><div data-line-number="155" class="react-line-number react-code-text" style="padding-right:16px">155</div><div data-line-number="156" class="react-line-number react-code-text" style="padding-right:16px">156</div><div data-line-number="157" class="react-line-number react-code-text" style="padding-right:16px">157</div><div data-line-number="158" class="react-line-number react-code-text" style="padding-right:16px">158</div><div data-line-number="159" class="react-line-number react-code-text" style="padding-right:16px">159</div><div data-line-number="160" class="react-line-number react-code-text" style="padding-right:16px">160</div><div data-line-number="161" class="react-line-number react-code-text" style="padding-right:16px">161</div><div data-line-number="162" class="react-line-number react-code-text" style="padding-right:16px">162</div><div data-line-number="163" class="react-line-number react-code-text" style="padding-right:16px">163</div><div data-line-number="164" class="react-line-number react-code-text" style="padding-right:16px">164</div><div data-line-number="165" class="react-line-number react-code-text" style="padding-right:16px">165</div><div data-line-number="166" class="react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="react-line-number react-code-text" style="padding-right:16px">173</div><div data-line-number="174" class="react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="react-line-number react-code-text" style="padding-right:16px">182</div><div data-line-number="183" class="react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="react-line-number react-code-text" style="padding-right:16px">188</div><div data-line-number="189" class="react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="react-line-number react-code-text" style="padding-right:16px">194</div><div data-line-number="195" class="react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="react-line-number react-code-text" style="padding-right:16px">202</div><div data-line-number="203" class="react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="react-line-number react-code-text" style="padding-right:16px">207</div><div data-line-number="208" class="react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="react-line-number react-code-text" style="padding-right:16px">214</div><div data-line-number="215" class="react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="react-line-number react-code-text" style="padding-right:16px">223</div><div data-line-number="224" class="react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="react-line-number react-code-text" style="padding-right:16px">234</div><div data-line-number="235" class="react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="react-line-number react-code-text" style="padding-right:16px">239</div><div data-line-number="240" class="react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="react-line-number react-code-text" style="padding-right:16px">253</div><div data-line-number="254" class="react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="react-line-number react-code-text" style="padding-right:16px">255</div><div data-line-number="256" class="react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="react-line-number react-code-text" style="padding-right:16px">267</div><div data-line-number="268" class="react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="react-line-number react-code-text" style="padding-right:16px">271</div><div data-line-number="272" class="react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="react-line-number react-code-text" style="padding-right:16px">307</div><div data-line-number="308" class="react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="react-line-number react-code-text" style="padding-right:16px">317</div><div data-line-number="318" class="react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="react-line-number react-code-text" style="padding-right:16px">329</div><div data-line-number="330" class="react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="react-line-number react-code-text" style="padding-right:16px">338</div><div data-line-number="339" class="react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="react-line-number react-code-text" style="padding-right:16px">443</div><div data-line-number="444" class="react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="react-line-number react-code-text" style="padding-right:16px">462</div><div data-line-number="463" class="react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="react-line-number react-code-text" style="padding-right:16px">468</div><div data-line-number="469" class="react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="react-line-number react-code-text" style="padding-right:16px">479</div><div data-line-number="480" class="react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="react-line-number react-code-text" style="padding-right:16px">512</div><div data-line-number="513" class="react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="react-line-number react-code-text" style="padding-right:16px">531</div><div data-line-number="532" class="react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="react-line-number react-code-text" style="padding-right:16px">586</div><div data-line-number="587" class="react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="react-line-number react-code-text" style="padding-right:16px">639</div><div data-line-number="640" class="react-line-number react-code-text" style="padding-right:16px">640</div><div data-line-number="641" class="react-line-number react-code-text" style="padding-right:16px">641</div><div data-line-number="642" class="react-line-number react-code-text" style="padding-right:16px">642</div><div data-line-number="643" class="react-line-number react-code-text" style="padding-right:16px">643</div><div data-line-number="644" class="react-line-number react-code-text" style="padding-right:16px">644</div><div data-line-number="645" class="react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="react-line-number react-code-text" style="padding-right:16px">657</div><div data-line-number="658" class="react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="react-line-number react-code-text" style="padding-right:16px">666</div><div data-line-number="667" class="react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="react-line-number react-code-text" style="padding-right:16px">683</div><div data-line-number="684" class="react-line-number react-code-text" style="padding-right:16px">684</div><div data-line-number="685" class="react-line-number react-code-text" style="padding-right:16px">685</div><div data-line-number="686" class="react-line-number react-code-text" style="padding-right:16px">686</div><div data-line-number="687" class="react-line-number react-code-text" style="padding-right:16px">687</div><div data-line-number="688" class="react-line-number react-code-text" style="padding-right:16px">688</div><div data-line-number="689" class="react-line-number react-code-text" style="padding-right:16px">689</div><div data-line-number="690" class="react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="react-line-number react-code-text" style="padding-right:16px">691</div><div data-line-number="692" class="react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="react-line-number react-code-text" style="padding-right:16px">708</div><div data-line-number="709" class="react-line-number react-code-text" style="padding-right:16px">709</div><div data-line-number="710" class="react-line-number react-code-text" style="padding-right:16px">710</div><div data-line-number="711" class="react-line-number react-code-text" style="padding-right:16px">711</div><div data-line-number="712" class="react-line-number react-code-text" style="padding-right:16px">712</div><div data-line-number="713" class="react-line-number react-code-text" style="padding-right:16px">713</div><div data-line-number="714" class="react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="react-line-number react-code-text" style="padding-right:16px">719</div><div data-line-number="720" class="react-line-number react-code-text" style="padding-right:16px">720</div><div data-line-number="721" class="react-line-number react-code-text" style="padding-right:16px">721</div><div data-line-number="722" class="react-line-number react-code-text" style="padding-right:16px">722</div><div data-line-number="723" class="react-line-number react-code-text" style="padding-right:16px">723</div><div data-line-number="724" class="react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="react-line-number react-code-text" style="padding-right:16px">754</div><div data-line-number="755" class="react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="react-line-number react-code-text" style="padding-right:16px">762</div><div data-line-number="763" class="react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="react-line-number react-code-text" style="padding-right:16px">792</div><div data-line-number="793" class="react-line-number react-code-text" style="padding-right:16px">793</div><div data-line-number="794" class="react-line-number react-code-text" style="padding-right:16px">794</div><div data-line-number="795" class="react-line-number react-code-text" style="padding-right:16px">795</div><div data-line-number="796" class="react-line-number react-code-text" style="padding-right:16px">796</div><div data-line-number="797" class="react-line-number react-code-text" style="padding-right:16px">797</div><div data-line-number="798" class="react-line-number react-code-text" style="padding-right:16px">798</div><div data-line-number="799" class="react-line-number react-code-text" style="padding-right:16px">799</div><div data-line-number="800" class="react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="react-line-number react-code-text" style="padding-right:16px">803</div><div data-line-number="804" class="react-line-number react-code-text" style="padding-right:16px">804</div><div data-line-number="805" class="react-line-number react-code-text" style="padding-right:16px">805</div><div data-line-number="806" class="react-line-number react-code-text" style="padding-right:16px">806</div><div data-line-number="807" class="react-line-number react-code-text" style="padding-right:16px">807</div><div data-line-number="808" class="react-line-number react-code-text" style="padding-right:16px">808</div><div data-line-number="809" class="react-line-number react-code-text" style="padding-right:16px">809</div><div data-line-number="810" class="react-line-number react-code-text" style="padding-right:16px">810</div><div data-line-number="811" class="react-line-number react-code-text" style="padding-right:16px">811</div><div data-line-number="812" class="react-line-number react-code-text" style="padding-right:16px">812</div><div data-line-number="813" class="react-line-number react-code-text" style="padding-right:16px">813</div><div data-line-number="814" class="react-line-number react-code-text" style="padding-right:16px">814</div><div data-line-number="815" class="react-line-number react-code-text" style="padding-right:16px">815</div><div data-line-number="816" class="react-line-number react-code-text" style="padding-right:16px">816</div><div data-line-number="817" class="react-line-number react-code-text" style="padding-right:16px">817</div><div data-line-number="818" class="react-line-number react-code-text" style="padding-right:16px">818</div><div data-line-number="819" class="react-line-number react-code-text" style="padding-right:16px">819</div><div data-line-number="820" class="react-line-number react-code-text" style="padding-right:16px">820</div><div data-line-number="821" class="react-line-number react-code-text" style="padding-right:16px">821</div><div data-line-number="822" class="react-line-number react-code-text" style="padding-right:16px">822</div><div data-line-number="823" class="react-line-number react-code-text" style="padding-right:16px">823</div><div data-line-number="824" class="react-line-number react-code-text" style="padding-right:16px">824</div><div data-line-number="825" class="react-line-number react-code-text" style="padding-right:16px">825</div><div data-line-number="826" class="react-line-number react-code-text" style="padding-right:16px">826</div><div data-line-number="827" class="react-line-number react-code-text" style="padding-right:16px">827</div><div data-line-number="828" class="react-line-number react-code-text" style="padding-right:16px">828</div><div data-line-number="829" class="react-line-number react-code-text" style="padding-right:16px">829</div><div data-line-number="830" class="react-line-number react-code-text" style="padding-right:16px">830</div><div data-line-number="831" class="react-line-number react-code-text" style="padding-right:16px">831</div><div data-line-number="832" class="react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="react-line-number react-code-text" style="padding-right:16px">834</div><div data-line-number="835" class="react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="react-line-number react-code-text" style="padding-right:16px">842</div><div data-line-number="843" class="react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="react-line-number react-code-text" style="padding-right:16px">849</div><div data-line-number="850" class="react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="react-line-number react-code-text" style="padding-right:16px">894</div><div data-line-number="895" class="react-line-number react-code-text" style="padding-right:16px">895</div><div data-line-number="896" class="react-line-number react-code-text" style="padding-right:16px">896</div><div data-line-number="897" class="react-line-number react-code-text" style="padding-right:16px">897</div><div data-line-number="898" class="react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="react-line-number react-code-text" style="padding-right:16px">905</div><div data-line-number="906" class="react-line-number react-code-text" style="padding-right:16px">906</div><div data-line-number="907" class="react-line-number react-code-text" style="padding-right:16px">907</div><div data-line-number="908" class="react-line-number react-code-text" style="padding-right:16px">908</div><div data-line-number="909" class="react-line-number react-code-text" style="padding-right:16px">909</div><div data-line-number="910" class="react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="react-line-number react-code-text" style="padding-right:16px">926</div><div data-line-number="927" class="react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="react-line-number react-code-text" style="padding-right:16px">982</div><div data-line-number="983" class="react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="react-line-number react-code-text" style="padding-right:16px">1000</div></div><div class="react-code-lines"><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1" class="react-file-line html-div" data-testid="code-cell" data-line-number="1" style="position:relative"><span class="pl-c">/* transfer_check.c — independent verifier for the NETTA transfer court.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC2" class="react-file-line html-div" data-testid="code-cell" data-line-number="2" style="position:relative"><span class="pl-c"> * Law: TRANSFER_PROTOCOL.md (SHA-256 230030d7...1dd72), consulted alone,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC3" class="react-file-line html-div" data-testid="code-cell" data-line-number="3" style="position:relative"><span class="pl-c"> * plus PROTOCOL.md of Body 0 for the probability chain it references.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC4" class="react-file-line html-div" data-testid="code-cell" data-line-number="4" style="position:relative"><span class="pl-c"> * Written without reading transfer.c, netta.c or netta_check.c.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC5" class="react-file-line html-div" data-testid="code-cell" data-line-number="5" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC6" class="react-file-line html-div" data-testid="code-cell" data-line-number="6" style="position:relative"><span class="pl-c"> * Stage 1: worlds, BPE growth (permutation-equivariant tie-break),</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC7" class="react-file-line html-div" data-testid="code-cell" data-line-number="7" style="position:relative"><span class="pl-c"> * cipher isomorphism proof, ghost raw invariants, and the prequential</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" style="position:relative"><span class="pl-c"> * LOCAL pricing loop (cold arm) for all three worlds. Stage 2 (in a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative"><span class="pl-c"> * later edit of this same file) adds descriptors, cache/align/oracle/</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" style="position:relative"><span class="pl-c"> * shuffled priors, the shadow/earn/revoke ledger, G_N and verdicts.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC13" class="react-file-line html-div" data-testid="code-cell" data-line-number="13" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;stdio.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC14" class="react-file-line html-div" data-testid="code-cell" data-line-number="14" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;stdlib.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC15" class="react-file-line html-div" data-testid="code-cell" data-line-number="15" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;string.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;stdint.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC17" class="react-file-line html-div" data-testid="code-cell" data-line-number="17" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">&lt;math.h&gt;</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC18" class="react-file-line html-div" data-testid="code-cell" data-line-number="18" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC19" class="react-file-line html-div" data-testid="code-cell" data-line-number="19" style="position:relative"><span class="pl-c">/* ---------------- SHA-256 (public domain, compact) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative">    <span class="pl-smi">uint32_t</span> <span class="pl-c1">state</span>[<span class="pl-c1">8</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC23" class="react-file-line html-div" data-testid="code-cell" data-line-number="23" style="position:relative">    <span class="pl-smi">uint64_t</span> <span class="pl-c1">bitlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC24" class="react-file-line html-div" data-testid="code-cell" data-line-number="24" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">buf</span>[<span class="pl-c1">64</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC25" class="react-file-line html-div" data-testid="code-cell" data-line-number="25" style="position:relative">    <span class="pl-smi">size_t</span> <span class="pl-c1">buflen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC26" class="react-file-line html-div" data-testid="code-cell" data-line-number="26" style="position:relative">} <span class="pl-smi">Sha256</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC27" class="react-file-line html-div" data-testid="code-cell" data-line-number="27" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC28" class="react-file-line html-div" data-testid="code-cell" data-line-number="28" style="position:relative"><span class="pl-k">static</span> <span class="pl-k">const</span> <span class="pl-smi">uint32_t</span> <span class="pl-s1">sha256_k</span>[<span class="pl-c1">64</span>] <span class="pl-c1">=</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC29" class="react-file-line html-div" data-testid="code-cell" data-line-number="29" style="position:relative">    <span class="pl-c1">0x428a2f98</span>,<span class="pl-c1">0x71374491</span>,<span class="pl-c1">0xb5c0fbcf</span>,<span class="pl-c1">0xe9b5dba5</span>,<span class="pl-c1">0x3956c25b</span>,<span class="pl-c1">0x59f111f1</span>,<span class="pl-c1">0x923f82a4</span>,<span class="pl-c1">0xab1c5ed5</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC30" class="react-file-line html-div" data-testid="code-cell" data-line-number="30" style="position:relative">    <span class="pl-c1">0xd807aa98</span>,<span class="pl-c1">0x12835b01</span>,<span class="pl-c1">0x243185be</span>,<span class="pl-c1">0x550c7dc3</span>,<span class="pl-c1">0x72be5d74</span>,<span class="pl-c1">0x80deb1fe</span>,<span class="pl-c1">0x9bdc06a7</span>,<span class="pl-c1">0xc19bf174</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" style="position:relative">    <span class="pl-c1">0xe49b69c1</span>,<span class="pl-c1">0xefbe4786</span>,<span class="pl-c1">0x0fc19dc6</span>,<span class="pl-c1">0x240ca1cc</span>,<span class="pl-c1">0x2de92c6f</span>,<span class="pl-c1">0x4a7484aa</span>,<span class="pl-c1">0x5cb0a9dc</span>,<span class="pl-c1">0x76f988da</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative">    <span class="pl-c1">0x983e5152</span>,<span class="pl-c1">0xa831c66d</span>,<span class="pl-c1">0xb00327c8</span>,<span class="pl-c1">0xbf597fc7</span>,<span class="pl-c1">0xc6e00bf3</span>,<span class="pl-c1">0xd5a79147</span>,<span class="pl-c1">0x06ca6351</span>,<span class="pl-c1">0x14292967</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC33" class="react-file-line html-div" data-testid="code-cell" data-line-number="33" style="position:relative">    <span class="pl-c1">0x27b70a85</span>,<span class="pl-c1">0x2e1b2138</span>,<span class="pl-c1">0x4d2c6dfc</span>,<span class="pl-c1">0x53380d13</span>,<span class="pl-c1">0x650a7354</span>,<span class="pl-c1">0x766a0abb</span>,<span class="pl-c1">0x81c2c92e</span>,<span class="pl-c1">0x92722c85</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC34" class="react-file-line html-div" data-testid="code-cell" data-line-number="34" style="position:relative">    <span class="pl-c1">0xa2bfe8a1</span>,<span class="pl-c1">0xa81a664b</span>,<span class="pl-c1">0xc24b8b70</span>,<span class="pl-c1">0xc76c51a3</span>,<span class="pl-c1">0xd192e819</span>,<span class="pl-c1">0xd6990624</span>,<span class="pl-c1">0xf40e3585</span>,<span class="pl-c1">0x106aa070</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC35" class="react-file-line html-div" data-testid="code-cell" data-line-number="35" style="position:relative">    <span class="pl-c1">0x19a4c116</span>,<span class="pl-c1">0x1e376c08</span>,<span class="pl-c1">0x2748774c</span>,<span class="pl-c1">0x34b0bcb5</span>,<span class="pl-c1">0x391c0cb3</span>,<span class="pl-c1">0x4ed8aa4a</span>,<span class="pl-c1">0x5b9cca4f</span>,<span class="pl-c1">0x682e6ff3</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC36" class="react-file-line html-div" data-testid="code-cell" data-line-number="36" style="position:relative">    <span class="pl-c1">0x748f82ee</span>,<span class="pl-c1">0x78a5636f</span>,<span class="pl-c1">0x84c87814</span>,<span class="pl-c1">0x8cc70208</span>,<span class="pl-c1">0x90befffa</span>,<span class="pl-c1">0xa4506ceb</span>,<span class="pl-c1">0xbef9a3f7</span>,<span class="pl-c1">0xc67178f2</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC37" class="react-file-line html-div" data-testid="code-cell" data-line-number="37" style="position:relative">};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC38" class="react-file-line html-div" data-testid="code-cell" data-line-number="38" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC39" class="react-file-line html-div" data-testid="code-cell" data-line-number="39" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">uint32_t</span> <span class="pl-en">sha256_rotr</span>(<span class="pl-smi">uint32_t</span> <span class="pl-s1">x</span>, <span class="pl-smi">int</span> <span class="pl-s1">n</span>) { <span class="pl-k">return</span> (<span class="pl-s1">x</span> &gt;&gt; <span class="pl-s1">n</span>) | (<span class="pl-s1">x</span> &lt;&lt; (<span class="pl-c1">32</span> <span class="pl-c1">-</span> <span class="pl-s1">n</span>)); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC40" class="react-file-line html-div" data-testid="code-cell" data-line-number="40" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC41" class="react-file-line html-div" data-testid="code-cell" data-line-number="41" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">sha256_transform</span>(<span class="pl-smi">Sha256</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>, <span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">data</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC42" class="react-file-line html-div" data-testid="code-cell" data-line-number="42" style="position:relative">    <span class="pl-smi">uint32_t</span> <span class="pl-s1">m</span>[<span class="pl-c1">64</span>], <span class="pl-s1">a</span>, <span class="pl-s1">b</span>, <span class="pl-s1">c</span>, <span class="pl-s1">d</span>, <span class="pl-s1">e</span>, <span class="pl-s1">f</span>, <span class="pl-s1">g</span>, <span class="pl-s1">h</span>, <span class="pl-s1">t1</span>, <span class="pl-s1">t2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC43" class="react-file-line html-div" data-testid="code-cell" data-line-number="43" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC44" class="react-file-line html-div" data-testid="code-cell" data-line-number="44" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC45" class="react-file-line html-div" data-testid="code-cell" data-line-number="45" style="position:relative">        <span class="pl-s1">m</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> ((<span class="pl-smi">uint32_t</span>)<span class="pl-s1">data</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span>] &lt;&lt; <span class="pl-c1">24</span>) | ((<span class="pl-smi">uint32_t</span>)<span class="pl-s1">data</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] &lt;&lt; <span class="pl-c1">16</span>) |</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC46" class="react-file-line html-div" data-testid="code-cell" data-line-number="46" style="position:relative">               ((<span class="pl-smi">uint32_t</span>)<span class="pl-s1">data</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">2</span>] &lt;&lt; <span class="pl-c1">8</span>) | ((<span class="pl-smi">uint32_t</span>)<span class="pl-s1">data</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">3</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC47" class="react-file-line html-div" data-testid="code-cell" data-line-number="47" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">16</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">64</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC48" class="react-file-line html-div" data-testid="code-cell" data-line-number="48" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-s1">s0</span> <span class="pl-c1">=</span> <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">15</span>], <span class="pl-c1">7</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">15</span>], <span class="pl-c1">18</span>) ^ (<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">15</span>] &gt;&gt; <span class="pl-c1">3</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC49" class="react-file-line html-div" data-testid="code-cell" data-line-number="49" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-s1">s1</span> <span class="pl-c1">=</span> <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">2</span>], <span class="pl-c1">17</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">2</span>], <span class="pl-c1">19</span>) ^ (<span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">2</span>] &gt;&gt; <span class="pl-c1">10</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC50" class="react-file-line html-div" data-testid="code-cell" data-line-number="50" style="position:relative">        <span class="pl-s1">m</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">16</span>] <span class="pl-c1">+</span> <span class="pl-s1">s0</span> <span class="pl-c1">+</span> <span class="pl-s1">m</span>[<span class="pl-s1">i</span><span class="pl-c1">-</span><span class="pl-c1">7</span>] <span class="pl-c1">+</span> <span class="pl-s1">s1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC51" class="react-file-line html-div" data-testid="code-cell" data-line-number="51" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC52" class="react-file-line html-div" data-testid="code-cell" data-line-number="52" style="position:relative">    <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">0</span>]; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">1</span>]; <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">2</span>]; <span class="pl-s1">d</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">3</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC53" class="react-file-line html-div" data-testid="code-cell" data-line-number="53" style="position:relative">    <span class="pl-s1">e</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">4</span>]; <span class="pl-s1">f</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">5</span>]; <span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">6</span>]; <span class="pl-s1">h</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">7</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC54" class="react-file-line html-div" data-testid="code-cell" data-line-number="54" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">64</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC55" class="react-file-line html-div" data-testid="code-cell" data-line-number="55" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-c1">S1</span> <span class="pl-c1">=</span> <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">e</span>,<span class="pl-c1">6</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">e</span>,<span class="pl-c1">11</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">e</span>,<span class="pl-c1">25</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC56" class="react-file-line html-div" data-testid="code-cell" data-line-number="56" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-s1">ch</span> <span class="pl-c1">=</span> (<span class="pl-s1">e</span> <span class="pl-c1">&amp;</span> <span class="pl-s1">f</span>) ^ ((~<span class="pl-s1">e</span>) <span class="pl-c1">&amp;</span> <span class="pl-s1">g</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC57" class="react-file-line html-div" data-testid="code-cell" data-line-number="57" style="position:relative">        <span class="pl-s1">t1</span> <span class="pl-c1">=</span> <span class="pl-s1">h</span> <span class="pl-c1">+</span> <span class="pl-c1">S1</span> <span class="pl-c1">+</span> <span class="pl-s1">ch</span> <span class="pl-c1">+</span> <span class="pl-s1">sha256_k</span>[<span class="pl-s1">i</span>] <span class="pl-c1">+</span> <span class="pl-s1">m</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC58" class="react-file-line html-div" data-testid="code-cell" data-line-number="58" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-c1">S0</span> <span class="pl-c1">=</span> <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">a</span>,<span class="pl-c1">2</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">a</span>,<span class="pl-c1">13</span>) ^ <span class="pl-en">sha256_rotr</span>(<span class="pl-s1">a</span>,<span class="pl-c1">22</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC59" class="react-file-line html-div" data-testid="code-cell" data-line-number="59" style="position:relative">        <span class="pl-smi">uint32_t</span> <span class="pl-s1">maj</span> <span class="pl-c1">=</span> (<span class="pl-s1">a</span> <span class="pl-c1">&amp;</span> <span class="pl-s1">b</span>) ^ (<span class="pl-s1">a</span> <span class="pl-c1">&amp;</span> <span class="pl-s1">c</span>) ^ (<span class="pl-s1">b</span> <span class="pl-c1">&amp;</span> <span class="pl-s1">c</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC60" class="react-file-line html-div" data-testid="code-cell" data-line-number="60" style="position:relative">        <span class="pl-s1">t2</span> <span class="pl-c1">=</span> <span class="pl-c1">S0</span> <span class="pl-c1">+</span> <span class="pl-s1">maj</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC61" class="react-file-line html-div" data-testid="code-cell" data-line-number="61" style="position:relative">        <span class="pl-s1">h</span> <span class="pl-c1">=</span> <span class="pl-s1">g</span>; <span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-s1">f</span>; <span class="pl-s1">f</span> <span class="pl-c1">=</span> <span class="pl-s1">e</span>; <span class="pl-s1">e</span> <span class="pl-c1">=</span> <span class="pl-s1">d</span> <span class="pl-c1">+</span> <span class="pl-s1">t1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC62" class="react-file-line html-div" data-testid="code-cell" data-line-number="62" style="position:relative">        <span class="pl-s1">d</span> <span class="pl-c1">=</span> <span class="pl-s1">c</span>; <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">b</span>; <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">a</span>; <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">t1</span> <span class="pl-c1">+</span> <span class="pl-s1">t2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC63" class="react-file-line html-div" data-testid="code-cell" data-line-number="63" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC64" class="react-file-line html-div" data-testid="code-cell" data-line-number="64" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">0</span>] <span class="pl-c1">+=</span> <span class="pl-s1">a</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">1</span>] <span class="pl-c1">+=</span> <span class="pl-s1">b</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">2</span>] <span class="pl-c1">+=</span> <span class="pl-s1">c</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">3</span>] <span class="pl-c1">+=</span> <span class="pl-s1">d</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC65" class="react-file-line html-div" data-testid="code-cell" data-line-number="65" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">4</span>] <span class="pl-c1">+=</span> <span class="pl-s1">e</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">5</span>] <span class="pl-c1">+=</span> <span class="pl-s1">f</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">6</span>] <span class="pl-c1">+=</span> <span class="pl-s1">g</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">7</span>] <span class="pl-c1">+=</span> <span class="pl-s1">h</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC66" class="react-file-line html-div" data-testid="code-cell" data-line-number="66" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC67" class="react-file-line html-div" data-testid="code-cell" data-line-number="67" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC68" class="react-file-line html-div" data-testid="code-cell" data-line-number="68" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">sha256_init</span>(<span class="pl-smi">Sha256</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC69" class="react-file-line html-div" data-testid="code-cell" data-line-number="69" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">0</span>]<span class="pl-c1">=</span><span class="pl-c1">0x6a09e667</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">1</span>]<span class="pl-c1">=</span><span class="pl-c1">0xbb67ae85</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">2</span>]<span class="pl-c1">=</span><span class="pl-c1">0x3c6ef372</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">3</span>]<span class="pl-c1">=</span><span class="pl-c1">0xa54ff53a</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC70" class="react-file-line html-div" data-testid="code-cell" data-line-number="70" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">4</span>]<span class="pl-c1">=</span><span class="pl-c1">0x510e527f</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">5</span>]<span class="pl-c1">=</span><span class="pl-c1">0x9b05688c</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">6</span>]<span class="pl-c1">=</span><span class="pl-c1">0x1f83d9ab</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-c1">7</span>]<span class="pl-c1">=</span><span class="pl-c1">0x5be0cd19</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC71" class="react-file-line html-div" data-testid="code-cell" data-line-number="71" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">bitlen</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC72" class="react-file-line html-div" data-testid="code-cell" data-line-number="72" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC73" class="react-file-line html-div" data-testid="code-cell" data-line-number="73" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC74" class="react-file-line html-div" data-testid="code-cell" data-line-number="74" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">sha256_update</span>(<span class="pl-smi">Sha256</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>, <span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">data</span>, <span class="pl-smi">size_t</span> <span class="pl-s1">len</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC75" class="react-file-line html-div" data-testid="code-cell" data-line-number="75" style="position:relative">    <span class="pl-smi">size_t</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC76" class="react-file-line html-div" data-testid="code-cell" data-line-number="76" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC77" class="react-file-line html-div" data-testid="code-cell" data-line-number="77" style="position:relative">        <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>[<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">data</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC78" class="react-file-line html-div" data-testid="code-cell" data-line-number="78" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span> <span class="pl-c1">==</span> <span class="pl-c1">64</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC79" class="react-file-line html-div" data-testid="code-cell" data-line-number="79" style="position:relative">            <span class="pl-en">sha256_transform</span>(<span class="pl-s1">ctx</span>, <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC80" class="react-file-line html-div" data-testid="code-cell" data-line-number="80" style="position:relative">            <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">bitlen</span> <span class="pl-c1">+=</span> <span class="pl-c1">512</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC81" class="react-file-line html-div" data-testid="code-cell" data-line-number="81" style="position:relative">            <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC82" class="react-file-line html-div" data-testid="code-cell" data-line-number="82" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC83" class="react-file-line html-div" data-testid="code-cell" data-line-number="83" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC84" class="react-file-line html-div" data-testid="code-cell" data-line-number="84" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC85" class="react-file-line html-div" data-testid="code-cell" data-line-number="85" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC86" class="react-file-line html-div" data-testid="code-cell" data-line-number="86" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">sha256_final</span>(<span class="pl-smi">Sha256</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>, <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">out</span>[<span class="pl-c1">32</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC87" class="react-file-line html-div" data-testid="code-cell" data-line-number="87" style="position:relative">    <span class="pl-smi">size_t</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC88" class="react-file-line html-div" data-testid="code-cell" data-line-number="88" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">bitlen</span> <span class="pl-c1">+=</span> (<span class="pl-smi">uint64_t</span>)<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buflen</span> <span class="pl-c1">*</span> <span class="pl-c1">8</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC89" class="react-file-line html-div" data-testid="code-cell" data-line-number="89" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-c1">0x80</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC90" class="react-file-line html-div" data-testid="code-cell" data-line-number="90" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">56</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC91" class="react-file-line html-div" data-testid="code-cell" data-line-number="91" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">64</span>) <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC92" class="react-file-line html-div" data-testid="code-cell" data-line-number="92" style="position:relative">        <span class="pl-en">sha256_transform</span>(<span class="pl-s1">ctx</span>, <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC93" class="react-file-line html-div" data-testid="code-cell" data-line-number="93" style="position:relative">        <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC94" class="react-file-line html-div" data-testid="code-cell" data-line-number="94" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC95" class="react-file-line html-div" data-testid="code-cell" data-line-number="95" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">56</span>) <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC96" class="react-file-line html-div" data-testid="code-cell" data-line-number="96" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">7</span>; <span class="pl-s1">k</span> &gt;= <span class="pl-c1">0</span>; <span class="pl-s1">k</span><span class="pl-c1">--</span>) <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>[<span class="pl-s1">i</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)(<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">bitlen</span> &gt;&gt; (<span class="pl-s1">k</span><span class="pl-c1">*</span><span class="pl-c1">8</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC97" class="react-file-line html-div" data-testid="code-cell" data-line-number="97" style="position:relative">    <span class="pl-en">sha256_transform</span>(<span class="pl-s1">ctx</span>, <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC98" class="react-file-line html-div" data-testid="code-cell" data-line-number="98" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">8</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC99" class="react-file-line html-div" data-testid="code-cell" data-line-number="99" style="position:relative">        <span class="pl-s1">out</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span>]   <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)(<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-s1">i</span>] &gt;&gt; <span class="pl-c1">24</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC100" class="react-file-line html-div" data-testid="code-cell" data-line-number="100" style="position:relative">        <span class="pl-s1">out</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)(<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-s1">i</span>] &gt;&gt; <span class="pl-c1">16</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC101" class="react-file-line html-div" data-testid="code-cell" data-line-number="101" style="position:relative">        <span class="pl-s1">out</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">2</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)(<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-s1">i</span>] &gt;&gt; <span class="pl-c1">8</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC102" class="react-file-line html-div" data-testid="code-cell" data-line-number="102" style="position:relative">        <span class="pl-s1">out</span>[<span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">4</span><span class="pl-c1">+</span><span class="pl-c1">3</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)(<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">state</span>[<span class="pl-s1">i</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC103" class="react-file-line html-div" data-testid="code-cell" data-line-number="103" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC104" class="react-file-line html-div" data-testid="code-cell" data-line-number="104" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC105" class="react-file-line html-div" data-testid="code-cell" data-line-number="105" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC106" class="react-file-line html-div" data-testid="code-cell" data-line-number="106" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">sha256_hex</span>(<span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">data</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">char</span> <span class="pl-s1">out_hex</span>[<span class="pl-c1">65</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC107" class="react-file-line html-div" data-testid="code-cell" data-line-number="107" style="position:relative">    <span class="pl-smi">Sha256</span> <span class="pl-s1">ctx</span>; <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">digest</span>[<span class="pl-c1">32</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC108" class="react-file-line html-div" data-testid="code-cell" data-line-number="108" style="position:relative">    <span class="pl-en">sha256_init</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">ctx</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC109" class="react-file-line html-div" data-testid="code-cell" data-line-number="109" style="position:relative">    <span class="pl-en">sha256_update</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">ctx</span>, <span class="pl-s1">data</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">len</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC110" class="react-file-line html-div" data-testid="code-cell" data-line-number="110" style="position:relative">    <span class="pl-en">sha256_final</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">ctx</span>, <span class="pl-s1">digest</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC111" class="react-file-line html-div" data-testid="code-cell" data-line-number="111" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">32</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-en">sprintf</span>(<span class="pl-s1">out_hex</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span><span class="pl-c1">*</span><span class="pl-c1">2</span>, <span class="pl-s">&quot;%02x&quot;</span>, <span class="pl-s1">digest</span>[<span class="pl-s1">i</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC112" class="react-file-line html-div" data-testid="code-cell" data-line-number="112" style="position:relative">    <span class="pl-s1">out_hex</span>[<span class="pl-c1">64</span>] <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC113" class="react-file-line html-div" data-testid="code-cell" data-line-number="113" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC114" class="react-file-line html-div" data-testid="code-cell" data-line-number="114" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC115" class="react-file-line html-div" data-testid="code-cell" data-line-number="115" style="position:relative"><span class="pl-c">/* ---------------- xorshift64 RNG (frozen law) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC117" class="react-file-line html-div" data-testid="code-cell" data-line-number="117" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">uint64_t</span> <span class="pl-en">rng_next</span>(<span class="pl-smi">uint64_t</span> <span class="pl-c1">*</span><span class="pl-s1">state</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC118" class="react-file-line html-div" data-testid="code-cell" data-line-number="118" style="position:relative">    <span class="pl-smi">uint64_t</span> <span class="pl-s1">x</span> <span class="pl-c1">=</span> <span class="pl-c1">*</span><span class="pl-s1">state</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC119" class="react-file-line html-div" data-testid="code-cell" data-line-number="119" style="position:relative">    <span class="pl-s1">x</span> ^= <span class="pl-s1">x</span> &lt;&lt; <span class="pl-c1">13</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC120" class="react-file-line html-div" data-testid="code-cell" data-line-number="120" style="position:relative">    <span class="pl-s1">x</span> ^= <span class="pl-s1">x</span> &gt;&gt; <span class="pl-c1">7</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative">    <span class="pl-s1">x</span> ^= <span class="pl-s1">x</span> &lt;&lt; <span class="pl-c1">17</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC122" class="react-file-line html-div" data-testid="code-cell" data-line-number="122" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">state</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC123" class="react-file-line html-div" data-testid="code-cell" data-line-number="123" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">x</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC124" class="react-file-line html-div" data-testid="code-cell" data-line-number="124" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC125" class="react-file-line html-div" data-testid="code-cell" data-line-number="125" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC126" class="react-file-line html-div" data-testid="code-cell" data-line-number="126" style="position:relative"><span class="pl-c">/* ---------------- file IO ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC127" class="react-file-line html-div" data-testid="code-cell" data-line-number="127" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC128" class="react-file-line html-div" data-testid="code-cell" data-line-number="128" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-en">read_file</span>(<span class="pl-k">const</span> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">path</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">out_len</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC129" class="react-file-line html-div" data-testid="code-cell" data-line-number="129" style="position:relative">    <span class="pl-smi">FILE</span> <span class="pl-c1">*</span><span class="pl-s1">f</span> <span class="pl-c1">=</span> <span class="pl-en">fopen</span>(<span class="pl-s1">path</span>, <span class="pl-s">&quot;rb&quot;</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC130" class="react-file-line html-div" data-testid="code-cell" data-line-number="130" style="position:relative">    <span class="pl-k">if</span> (!<span class="pl-s1">f</span>) { <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;cannot open %s\n&quot;</span>, <span class="pl-s1">path</span>); <span class="pl-en">exit</span>(<span class="pl-c1">1</span>); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC131" class="react-file-line html-div" data-testid="code-cell" data-line-number="131" style="position:relative">    <span class="pl-en">fseek</span>(<span class="pl-s1">f</span>, <span class="pl-c1">0</span>, <span class="pl-c1">SEEK_END</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC132" class="react-file-line html-div" data-testid="code-cell" data-line-number="132" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-en">ftell</span>(<span class="pl-s1">f</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC133" class="react-file-line html-div" data-testid="code-cell" data-line-number="133" style="position:relative">    <span class="pl-en">fseek</span>(<span class="pl-s1">f</span>, <span class="pl-c1">0</span>, <span class="pl-c1">SEEK_SET</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC134" class="react-file-line html-div" data-testid="code-cell" data-line-number="134" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">buf</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC135" class="react-file-line html-div" data-testid="code-cell" data-line-number="135" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-en">fread</span>(<span class="pl-s1">buf</span>, <span class="pl-c1">1</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span>, <span class="pl-s1">f</span>) <span class="pl-c1">!=</span> (<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span>) { <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;short read %s\n&quot;</span>, <span class="pl-s1">path</span>); <span class="pl-en">exit</span>(<span class="pl-c1">1</span>); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC136" class="react-file-line html-div" data-testid="code-cell" data-line-number="136" style="position:relative">    <span class="pl-en">fclose</span>(<span class="pl-s1">f</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC137" class="react-file-line html-div" data-testid="code-cell" data-line-number="137" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">out_len</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC138" class="react-file-line html-div" data-testid="code-cell" data-line-number="138" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">buf</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC139" class="react-file-line html-div" data-testid="code-cell" data-line-number="139" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC140" class="react-file-line html-div" data-testid="code-cell" data-line-number="140" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC141" class="react-file-line html-div" data-testid="code-cell" data-line-number="141" style="position:relative"><span class="pl-c">/* ---------------- World construction ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC142" class="react-file-line html-div" data-testid="code-cell" data-line-number="142" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC143" class="react-file-line html-div" data-testid="code-cell" data-line-number="143" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">build_cipher_perm</span>(<span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">perm</span>[<span class="pl-c1">256</span>], <span class="pl-smi">uint64_t</span> <span class="pl-s1">seed</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC144" class="react-file-line html-div" data-testid="code-cell" data-line-number="144" style="position:relative">    <span class="pl-smi">uint64_t</span> <span class="pl-s1">st</span> <span class="pl-c1">=</span> <span class="pl-s1">seed</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC145" class="react-file-line html-div" data-testid="code-cell" data-line-number="145" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">perm</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)<span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC146" class="react-file-line html-div" data-testid="code-cell" data-line-number="146" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">255</span>; <span class="pl-s1">i</span> &gt;= <span class="pl-c1">1</span>; <span class="pl-s1">i</span><span class="pl-c1">--</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC147" class="react-file-line html-div" data-testid="code-cell" data-line-number="147" style="position:relative">        <span class="pl-smi">uint64_t</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-en">rng_next</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">st</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC148" class="react-file-line html-div" data-testid="code-cell" data-line-number="148" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> (<span class="pl-smi">int</span>)(<span class="pl-s1">r</span> % (<span class="pl-smi">uint64_t</span>)(<span class="pl-s1">i</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC149" class="react-file-line html-div" data-testid="code-cell" data-line-number="149" style="position:relative">        <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">t</span> <span class="pl-c1">=</span> <span class="pl-s1">perm</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">perm</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">perm</span>[<span class="pl-s1">j</span>]; <span class="pl-s1">perm</span>[<span class="pl-s1">j</span>] <span class="pl-c1">=</span> <span class="pl-s1">t</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC150" class="react-file-line html-div" data-testid="code-cell" data-line-number="150" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC151" class="react-file-line html-div" data-testid="code-cell" data-line-number="151" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC152" class="react-file-line html-div" data-testid="code-cell" data-line-number="152" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC153" class="react-file-line html-div" data-testid="code-cell" data-line-number="153" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-en">build_w_iso</span>(<span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-c1">A</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">perm</span>[<span class="pl-c1">256</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC154" class="react-file-line html-div" data-testid="code-cell" data-line-number="154" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">out</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC155" class="react-file-line html-div" data-testid="code-cell" data-line-number="155" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">out</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">perm</span>[<span class="pl-c1">A</span>[<span class="pl-s1">i</span>]];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC156" class="react-file-line html-div" data-testid="code-cell" data-line-number="156" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">out</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC157" class="react-file-line html-div" data-testid="code-cell" data-line-number="157" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC158" class="react-file-line html-div" data-testid="code-cell" data-line-number="158" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC159" class="react-file-line html-div" data-testid="code-cell" data-line-number="159" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-en">build_w_ghost</span>(<span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">A_train</span>, <span class="pl-smi">long</span> <span class="pl-s1">train_len</span>, <span class="pl-smi">long</span> <span class="pl-s1">out_n</span>, <span class="pl-smi">uint64_t</span> <span class="pl-s1">seed</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC160" class="react-file-line html-div" data-testid="code-cell" data-line-number="160" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">counts</span>[<span class="pl-c1">256</span>] <span class="pl-c1">=</span> {<span class="pl-c1">0</span>};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC161" class="react-file-line html-div" data-testid="code-cell" data-line-number="161" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">train_len</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">counts</span>[<span class="pl-s1">A_train</span>[<span class="pl-s1">i</span>]]<span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC162" class="react-file-line html-div" data-testid="code-cell" data-line-number="162" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">cum</span>[<span class="pl-c1">257</span>]; <span class="pl-s1">cum</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC163" class="react-file-line html-div" data-testid="code-cell" data-line-number="163" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">b</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span>; <span class="pl-s1">b</span><span class="pl-c1">++</span>) <span class="pl-s1">cum</span>[<span class="pl-s1">b</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">=</span> <span class="pl-s1">cum</span>[<span class="pl-s1">b</span>] <span class="pl-c1">+</span> <span class="pl-s1">counts</span>[<span class="pl-s1">b</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC164" class="react-file-line html-div" data-testid="code-cell" data-line-number="164" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-s1">train_len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC165" class="react-file-line html-div" data-testid="code-cell" data-line-number="165" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">out</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">out_n</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative">    <span class="pl-smi">uint64_t</span> <span class="pl-s1">st</span> <span class="pl-c1">=</span> <span class="pl-s1">seed</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC167" class="react-file-line html-div" data-testid="code-cell" data-line-number="167" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">out_n</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC168" class="react-file-line html-div" data-testid="code-cell" data-line-number="168" style="position:relative">        <span class="pl-smi">uint64_t</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-en">rng_next</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">st</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC169" class="react-file-line html-div" data-testid="code-cell" data-line-number="169" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">v</span> <span class="pl-c1">=</span> (<span class="pl-smi">long</span>)(<span class="pl-s1">r</span> % (<span class="pl-smi">uint64_t</span>)<span class="pl-s1">total</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC170" class="react-file-line html-div" data-testid="code-cell" data-line-number="170" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-c1">255</span>, <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC171" class="react-file-line html-div" data-testid="code-cell" data-line-number="171" style="position:relative">        <span class="pl-c">/* binary search: cum[b] &lt;= v &lt; cum[b+1] */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC172" class="react-file-line html-div" data-testid="code-cell" data-line-number="172" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">lo</span> &lt;= <span class="pl-s1">hi</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC173" class="react-file-line html-div" data-testid="code-cell" data-line-number="173" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">mid</span> <span class="pl-c1">=</span> (<span class="pl-s1">lo</span> <span class="pl-c1">+</span> <span class="pl-s1">hi</span>) / <span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC174" class="react-file-line html-div" data-testid="code-cell" data-line-number="174" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">v</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">cum</span>[<span class="pl-s1">mid</span><span class="pl-c1">+</span><span class="pl-c1">1</span>]) { <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span>; <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC175" class="react-file-line html-div" data-testid="code-cell" data-line-number="175" style="position:relative">            <span class="pl-k">else</span> <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC177" class="react-file-line html-div" data-testid="code-cell" data-line-number="177" style="position:relative">        <span class="pl-s1">out</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)<span class="pl-s1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC178" class="react-file-line html-div" data-testid="code-cell" data-line-number="178" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC179" class="react-file-line html-div" data-testid="code-cell" data-line-number="179" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">out</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC180" class="react-file-line html-div" data-testid="code-cell" data-line-number="180" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC181" class="react-file-line html-div" data-testid="code-cell" data-line-number="181" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC182" class="react-file-line html-div" data-testid="code-cell" data-line-number="182" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">word</span>[<span class="pl-c1">32</span>]; <span class="pl-smi">int</span> <span class="pl-c1">len</span>; <span class="pl-smi">long</span> <span class="pl-c1">count</span>; <span class="pl-smi">long</span> <span class="pl-c1">first_pos</span>; } <span class="pl-smi">WordFreq</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC183" class="react-file-line html-div" data-testid="code-cell" data-line-number="183" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC184" class="react-file-line html-div" data-testid="code-cell" data-line-number="184" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">is_ws</span>(<span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">c</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC185" class="react-file-line html-div" data-testid="code-cell" data-line-number="185" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039; &#039;</span><span class="pl-c1">||</span><span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039;\t&#039;</span><span class="pl-c1">||</span><span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039;\n&#039;</span><span class="pl-c1">||</span><span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039;\r&#039;</span><span class="pl-c1">||</span><span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039;\v&#039;</span><span class="pl-c1">||</span><span class="pl-s1">c</span><span class="pl-c1">==</span><span class="pl-c1">&#039;\f&#039;</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC187" class="react-file-line html-div" data-testid="code-cell" data-line-number="187" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC188" class="react-file-line html-div" data-testid="code-cell" data-line-number="188" style="position:relative"><span class="pl-c">/* Returns malloc&#039;d output buffer, sets out_n. pairs[16][2][32] hold the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC189" class="react-file-line html-div" data-testid="code-cell" data-line-number="189" style="position:relative"><span class="pl-c"> * swapped words (rank order 0..15) and their lengths in pair_len[16][2],</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC190" class="react-file-line html-div" data-testid="code-cell" data-line-number="190" style="position:relative"><span class="pl-c"> * for reporting; swap_map is filled with the from/to byte-strings used. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC191" class="react-file-line html-div" data-testid="code-cell" data-line-number="191" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-en">build_w_ff</span>(<span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-c1">A</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">long</span> <span class="pl-s1">train_len</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC192" class="react-file-line html-div" data-testid="code-cell" data-line-number="192" style="position:relative">                                  <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">out_n</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC193" class="react-file-line html-div" data-testid="code-cell" data-line-number="193" style="position:relative">                                  <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">rank_word</span>[<span class="pl-c1">16</span>][<span class="pl-c1">32</span>], <span class="pl-smi">int</span> <span class="pl-s1">rank_len</span>[<span class="pl-c1">16</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC194" class="react-file-line html-div" data-testid="code-cell" data-line-number="194" style="position:relative">    <span class="pl-c">/* tokenize train region by whitespace, count frequency + first occurrence word-index */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC195" class="react-file-line html-div" data-testid="code-cell" data-line-number="195" style="position:relative">    <span class="pl-smi">WordFreq</span> <span class="pl-c1">*</span><span class="pl-s1">freqs</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>; <span class="pl-smi">long</span> <span class="pl-s1">nfreq</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">cap</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC196" class="react-file-line html-div" data-testid="code-cell" data-line-number="196" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">widx</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC197" class="react-file-line html-div" data-testid="code-cell" data-line-number="197" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC198" class="react-file-line html-div" data-testid="code-cell" data-line-number="198" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">train_len</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC199" class="react-file-line html-div" data-testid="code-cell" data-line-number="199" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-en">is_ws</span>(<span class="pl-c1">A</span>[<span class="pl-s1">i</span>])) { <span class="pl-s1">i</span><span class="pl-c1">++</span>; <span class="pl-k">continue</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC200" class="react-file-line html-div" data-testid="code-cell" data-line-number="200" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC201" class="react-file-line html-div" data-testid="code-cell" data-line-number="201" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">j</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">train_len</span> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">is_ws</span>(<span class="pl-c1">A</span>[<span class="pl-s1">j</span>])) <span class="pl-s1">j</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC202" class="react-file-line html-div" data-testid="code-cell" data-line-number="202" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">wlen</span> <span class="pl-c1">=</span> (<span class="pl-smi">int</span>)(<span class="pl-s1">j</span> <span class="pl-c1">-</span> <span class="pl-s1">i</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC203" class="react-file-line html-div" data-testid="code-cell" data-line-number="203" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">wlen</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">31</span>) <span class="pl-s1">wlen</span> <span class="pl-c1">=</span> <span class="pl-c1">31</span>; <span class="pl-c">/* clamp; top words are short in practice */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC204" class="react-file-line html-div" data-testid="code-cell" data-line-number="204" style="position:relative">        <span class="pl-c">/* find in freqs */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC205" class="react-file-line html-div" data-testid="code-cell" data-line-number="205" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">found</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC206" class="react-file-line html-div" data-testid="code-cell" data-line-number="206" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">nfreq</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC207" class="react-file-line html-div" data-testid="code-cell" data-line-number="207" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">freqs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">len</span> <span class="pl-c1">==</span> <span class="pl-s1">wlen</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">memcmp</span>(<span class="pl-s1">freqs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">word</span>, <span class="pl-c1">A</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">wlen</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>) { <span class="pl-s1">found</span> <span class="pl-c1">=</span> <span class="pl-s1">k</span>; <span class="pl-k">break</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC208" class="react-file-line html-div" data-testid="code-cell" data-line-number="208" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC209" class="react-file-line html-div" data-testid="code-cell" data-line-number="209" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">found</span> &gt;= <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC210" class="react-file-line html-div" data-testid="code-cell" data-line-number="210" style="position:relative">            <span class="pl-s1">freqs</span>[<span class="pl-s1">found</span>].<span class="pl-c1">count</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC211" class="react-file-line html-div" data-testid="code-cell" data-line-number="211" style="position:relative">        } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC212" class="react-file-line html-div" data-testid="code-cell" data-line-number="212" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">nfreq</span> <span class="pl-c1">==</span> <span class="pl-s1">cap</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC213" class="react-file-line html-div" data-testid="code-cell" data-line-number="213" style="position:relative">                <span class="pl-s1">cap</span> <span class="pl-c1">=</span> <span class="pl-s1">cap</span> ? <span class="pl-s1">cap</span> <span class="pl-c1">*</span> <span class="pl-c1">2</span> : <span class="pl-c1">1024</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC214" class="react-file-line html-div" data-testid="code-cell" data-line-number="214" style="position:relative">                <span class="pl-s1">freqs</span> <span class="pl-c1">=</span> <span class="pl-en">realloc</span>(<span class="pl-s1">freqs</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">cap</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">WordFreq</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC215" class="react-file-line html-div" data-testid="code-cell" data-line-number="215" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC216" class="react-file-line html-div" data-testid="code-cell" data-line-number="216" style="position:relative">            <span class="pl-en">memcpy</span>(<span class="pl-s1">freqs</span>[<span class="pl-s1">nfreq</span>].<span class="pl-c1">word</span>, <span class="pl-c1">A</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">wlen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC217" class="react-file-line html-div" data-testid="code-cell" data-line-number="217" style="position:relative">            <span class="pl-s1">freqs</span>[<span class="pl-s1">nfreq</span>].<span class="pl-c1">len</span> <span class="pl-c1">=</span> <span class="pl-s1">wlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC218" class="react-file-line html-div" data-testid="code-cell" data-line-number="218" style="position:relative">            <span class="pl-s1">freqs</span>[<span class="pl-s1">nfreq</span>].<span class="pl-c1">count</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC219" class="react-file-line html-div" data-testid="code-cell" data-line-number="219" style="position:relative">            <span class="pl-s1">freqs</span>[<span class="pl-s1">nfreq</span>].<span class="pl-c1">first_pos</span> <span class="pl-c1">=</span> <span class="pl-s1">widx</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC220" class="react-file-line html-div" data-testid="code-cell" data-line-number="220" style="position:relative">            <span class="pl-s1">nfreq</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC221" class="react-file-line html-div" data-testid="code-cell" data-line-number="221" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC222" class="react-file-line html-div" data-testid="code-cell" data-line-number="222" style="position:relative">        <span class="pl-s1">widx</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC223" class="react-file-line html-div" data-testid="code-cell" data-line-number="223" style="position:relative">        <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">j</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC224" class="react-file-line html-div" data-testid="code-cell" data-line-number="224" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC225" class="react-file-line html-div" data-testid="code-cell" data-line-number="225" style="position:relative">    <span class="pl-c">/* sort by count desc, tie-break first_pos asc (simple insertion since top16 needed, but do full sort for determinism) */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC226" class="react-file-line html-div" data-testid="code-cell" data-line-number="226" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; <span class="pl-s1">a</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">nfreq</span>; <span class="pl-s1">a</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC227" class="react-file-line html-div" data-testid="code-cell" data-line-number="227" style="position:relative">        <span class="pl-smi">WordFreq</span> <span class="pl-s1">key</span> <span class="pl-c1">=</span> <span class="pl-s1">freqs</span>[<span class="pl-s1">a</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC228" class="react-file-line html-div" data-testid="code-cell" data-line-number="228" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">a</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC229" class="react-file-line html-div" data-testid="code-cell" data-line-number="229" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">b</span> &gt;= <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> (<span class="pl-s1">freqs</span>[<span class="pl-s1">b</span>].<span class="pl-c1">count</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">key</span>.<span class="pl-c1">count</span> <span class="pl-c1">||</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC230" class="react-file-line html-div" data-testid="code-cell" data-line-number="230" style="position:relative">               (<span class="pl-s1">freqs</span>[<span class="pl-s1">b</span>].<span class="pl-c1">count</span> <span class="pl-c1">==</span> <span class="pl-s1">key</span>.<span class="pl-c1">count</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">freqs</span>[<span class="pl-s1">b</span>].<span class="pl-c1">first_pos</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">key</span>.<span class="pl-c1">first_pos</span>))) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC231" class="react-file-line html-div" data-testid="code-cell" data-line-number="231" style="position:relative">            <span class="pl-s1">freqs</span>[<span class="pl-s1">b</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">=</span> <span class="pl-s1">freqs</span>[<span class="pl-s1">b</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC232" class="react-file-line html-div" data-testid="code-cell" data-line-number="232" style="position:relative">            <span class="pl-s1">b</span><span class="pl-c1">--</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC233" class="react-file-line html-div" data-testid="code-cell" data-line-number="233" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC234" class="react-file-line html-div" data-testid="code-cell" data-line-number="234" style="position:relative">        <span class="pl-s1">freqs</span>[<span class="pl-s1">b</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">=</span> <span class="pl-s1">key</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC235" class="react-file-line html-div" data-testid="code-cell" data-line-number="235" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC236" class="react-file-line html-div" data-testid="code-cell" data-line-number="236" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">top</span> <span class="pl-c1">=</span> <span class="pl-s1">nfreq</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span> ? (<span class="pl-smi">int</span>)<span class="pl-s1">nfreq</span> : <span class="pl-c1">16</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC237" class="react-file-line html-div" data-testid="code-cell" data-line-number="237" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">top</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span>) { <span class="pl-en">fprintf</span>(<span class="pl-s1">stderr</span>, <span class="pl-s">&quot;FATAL: fewer than 16 distinct words in A-train\n&quot;</span>); <span class="pl-en">exit</span>(<span class="pl-c1">1</span>); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC238" class="react-file-line html-div" data-testid="code-cell" data-line-number="238" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC239" class="react-file-line html-div" data-testid="code-cell" data-line-number="239" style="position:relative">        <span class="pl-s1">rank_len</span>[<span class="pl-s1">k</span>] <span class="pl-c1">=</span> <span class="pl-s1">freqs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC240" class="react-file-line html-div" data-testid="code-cell" data-line-number="240" style="position:relative">        <span class="pl-en">memcpy</span>(<span class="pl-s1">rank_word</span>[<span class="pl-s1">k</span>], <span class="pl-s1">freqs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">word</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">freqs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">len</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC241" class="react-file-line html-div" data-testid="code-cell" data-line-number="241" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC242" class="react-file-line html-div" data-testid="code-cell" data-line-number="242" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">freqs</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC243" class="react-file-line html-div" data-testid="code-cell" data-line-number="243" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC244" class="react-file-line html-div" data-testid="code-cell" data-line-number="244" style="position:relative">    <span class="pl-c">/* build swap: pairs (0,1)(2,3)... */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC245" class="react-file-line html-div" data-testid="code-cell" data-line-number="245" style="position:relative">    <span class="pl-c">/* apply to full A: tokenize by whitespace, replace matching words */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC246" class="react-file-line html-div" data-testid="code-cell" data-line-number="246" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">out</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span> <span class="pl-c1">*</span> <span class="pl-c1">4</span> <span class="pl-c1">+</span> <span class="pl-c1">16</span>); <span class="pl-c">/* generous upper bound */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC247" class="react-file-line html-div" data-testid="code-cell" data-line-number="247" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">oi</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC248" class="react-file-line html-div" data-testid="code-cell" data-line-number="248" style="position:relative">    <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC249" class="react-file-line html-div" data-testid="code-cell" data-line-number="249" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC250" class="react-file-line html-div" data-testid="code-cell" data-line-number="250" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-en">is_ws</span>(<span class="pl-c1">A</span>[<span class="pl-s1">i</span>])) { <span class="pl-s1">out</span>[<span class="pl-s1">oi</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-c1">A</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">i</span><span class="pl-c1">++</span>; <span class="pl-k">continue</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC251" class="react-file-line html-div" data-testid="code-cell" data-line-number="251" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">j</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">&amp;&amp;</span> !<span class="pl-en">is_ws</span>(<span class="pl-c1">A</span>[<span class="pl-s1">j</span>])) <span class="pl-s1">j</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">wlen</span> <span class="pl-c1">=</span> (<span class="pl-smi">int</span>)(<span class="pl-s1">j</span> <span class="pl-c1">-</span> <span class="pl-s1">i</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">matched</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC255" class="react-file-line html-div" data-testid="code-cell" data-line-number="255" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">wlen</span> &lt;= <span class="pl-c1">31</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC256" class="react-file-line html-div" data-testid="code-cell" data-line-number="256" style="position:relative">            <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC257" class="react-file-line html-div" data-testid="code-cell" data-line-number="257" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">rank_len</span>[<span class="pl-s1">k</span>] <span class="pl-c1">==</span> <span class="pl-s1">wlen</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">memcmp</span>(<span class="pl-s1">rank_word</span>[<span class="pl-s1">k</span>], <span class="pl-c1">A</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">wlen</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>) { <span class="pl-s1">matched</span> <span class="pl-c1">=</span> <span class="pl-s1">k</span>; <span class="pl-k">break</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC258" class="react-file-line html-div" data-testid="code-cell" data-line-number="258" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC259" class="react-file-line html-div" data-testid="code-cell" data-line-number="259" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC260" class="react-file-line html-div" data-testid="code-cell" data-line-number="260" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">matched</span> &gt;= <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC261" class="react-file-line html-div" data-testid="code-cell" data-line-number="261" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">partner</span> <span class="pl-c1">=</span> <span class="pl-s1">matched</span> ^ <span class="pl-c1">1</span>; <span class="pl-c">/* 0&lt;-&gt;1, 2&lt;-&gt;3, ... */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC262" class="react-file-line html-div" data-testid="code-cell" data-line-number="262" style="position:relative">            <span class="pl-en">memcpy</span>(<span class="pl-s1">out</span> <span class="pl-c1">+</span> <span class="pl-s1">oi</span>, <span class="pl-s1">rank_word</span>[<span class="pl-s1">partner</span>], (<span class="pl-smi">size_t</span>)<span class="pl-s1">rank_len</span>[<span class="pl-s1">partner</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC263" class="react-file-line html-div" data-testid="code-cell" data-line-number="263" style="position:relative">            <span class="pl-s1">oi</span> <span class="pl-c1">+=</span> <span class="pl-s1">rank_len</span>[<span class="pl-s1">partner</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC264" class="react-file-line html-div" data-testid="code-cell" data-line-number="264" style="position:relative">        } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC265" class="react-file-line html-div" data-testid="code-cell" data-line-number="265" style="position:relative">            <span class="pl-en">memcpy</span>(<span class="pl-s1">out</span> <span class="pl-c1">+</span> <span class="pl-s1">oi</span>, <span class="pl-c1">A</span> <span class="pl-c1">+</span> <span class="pl-s1">i</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">wlen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC266" class="react-file-line html-div" data-testid="code-cell" data-line-number="266" style="position:relative">            <span class="pl-s1">oi</span> <span class="pl-c1">+=</span> <span class="pl-s1">wlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC267" class="react-file-line html-div" data-testid="code-cell" data-line-number="267" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC268" class="react-file-line html-div" data-testid="code-cell" data-line-number="268" style="position:relative">        <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">j</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC269" class="react-file-line html-div" data-testid="code-cell" data-line-number="269" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC270" class="react-file-line html-div" data-testid="code-cell" data-line-number="270" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">out_n</span> <span class="pl-c1">=</span> <span class="pl-s1">oi</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC271" class="react-file-line html-div" data-testid="code-cell" data-line-number="271" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">out</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC272" class="react-file-line html-div" data-testid="code-cell" data-line-number="272" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC273" class="react-file-line html-div" data-testid="code-cell" data-line-number="273" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC274" class="react-file-line html-div" data-testid="code-cell" data-line-number="274" style="position:relative"><span class="pl-c">/* ---------------- BPE growth (permutation-equivariant tie-break) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC275" class="react-file-line html-div" data-testid="code-cell" data-line-number="275" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC276" class="react-file-line html-div" data-testid="code-cell" data-line-number="276" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">int32_t</span> <span class="pl-c1">l</span>, <span class="pl-c1">r</span>; } <span class="pl-smi">Merge</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC277" class="react-file-line html-div" data-testid="code-cell" data-line-number="277" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC278" class="react-file-line html-div" data-testid="code-cell" data-line-number="278" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC279" class="react-file-line html-div" data-testid="code-cell" data-line-number="279" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-c1">tok</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC280" class="react-file-line html-div" data-testid="code-cell" data-line-number="280" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC281" class="react-file-line html-div" data-testid="code-cell" data-line-number="281" style="position:relative">} <span class="pl-smi">TokStream</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC282" class="react-file-line html-div" data-testid="code-cell" data-line-number="282" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC283" class="react-file-line html-div" data-testid="code-cell" data-line-number="283" style="position:relative"><span class="pl-c">/* grow_bpe: builds up to max_merges merges from byte/unit stream `init`,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC284" class="react-file-line html-div" data-testid="code-cell" data-line-number="284" style="position:relative"><span class="pl-c"> * length n0. Tie-break: max count; ties broken by earliest first</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC285" class="react-file-line html-div" data-testid="code-cell" data-line-number="285" style="position:relative"><span class="pl-c"> * position of pair appearance. Stops at max_merges or max count &lt; min_pair.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC286" class="react-file-line html-div" data-testid="code-cell" data-line-number="286" style="position:relative"><span class="pl-c"> * Returns final token stream (caller frees .tok) and fills *merges_out</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC287" class="react-file-line html-div" data-testid="code-cell" data-line-number="287" style="position:relative"><span class="pl-c"> * (caller frees) with *n_merges_out entries. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC288" class="react-file-line html-div" data-testid="code-cell" data-line-number="288" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">TokStream</span> <span class="pl-en">grow_bpe</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">init</span>, <span class="pl-smi">long</span> <span class="pl-s1">n0</span>, <span class="pl-smi">int</span> <span class="pl-s1">max_merges</span>, <span class="pl-smi">int</span> <span class="pl-s1">min_pair</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC289" class="react-file-line html-div" data-testid="code-cell" data-line-number="289" style="position:relative">                           <span class="pl-smi">Merge</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">merges_out</span>, <span class="pl-smi">int</span> <span class="pl-c1">*</span><span class="pl-s1">n_merges_out</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC290" class="react-file-line html-div" data-testid="code-cell" data-line-number="290" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">n0</span> ? <span class="pl-s1">n0</span> : <span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC291" class="react-file-line html-div" data-testid="code-cell" data-line-number="291" style="position:relative">    <span class="pl-en">memcpy</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">init</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">n0</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC292" class="react-file-line html-div" data-testid="code-cell" data-line-number="292" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">scratch</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">n0</span> ? <span class="pl-s1">n0</span> : <span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC293" class="react-file-line html-div" data-testid="code-cell" data-line-number="293" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">n0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC294" class="react-file-line html-div" data-testid="code-cell" data-line-number="294" style="position:relative">    <span class="pl-smi">Merge</span> <span class="pl-c1">*</span><span class="pl-s1">merges</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">max_merges</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">Merge</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC295" class="react-file-line html-div" data-testid="code-cell" data-line-number="295" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">nm</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC296" class="react-file-line html-div" data-testid="code-cell" data-line-number="296" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-s1">next_id</span> <span class="pl-c1">=</span> <span class="pl-c1">256</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC297" class="react-file-line html-div" data-testid="code-cell" data-line-number="297" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC298" class="react-file-line html-div" data-testid="code-cell" data-line-number="298" style="position:relative">    <span class="pl-c">/* generation-stamped hashmap for pair -&gt; (count, first_pos): avoids</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC299" class="react-file-line html-div" data-testid="code-cell" data-line-number="299" style="position:relative"><span class="pl-c">     * clearing the whole table every merge iteration (O(1) &quot;clear&quot; via</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC300" class="react-file-line html-div" data-testid="code-cell" data-line-number="300" style="position:relative"><span class="pl-c">     * bumping cur_gen instead of O(cap) writes). */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC301" class="react-file-line html-div" data-testid="code-cell" data-line-number="301" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">cap</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC302" class="react-file-line html-div" data-testid="code-cell" data-line-number="302" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">cap</span> <span class="pl-c1">&lt;</span> (<span class="pl-s1">n0</span> <span class="pl-c1">*</span> <span class="pl-c1">2</span> <span class="pl-c1">+</span> <span class="pl-c1">16</span>)) <span class="pl-s1">cap</span> &lt;&lt;= <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC303" class="react-file-line html-div" data-testid="code-cell" data-line-number="303" style="position:relative">    <span class="pl-smi">int64_t</span> <span class="pl-c1">*</span><span class="pl-s1">keys</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>(<span class="pl-s1">cap</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int64_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC304" class="react-file-line html-div" data-testid="code-cell" data-line-number="304" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">counts</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>(<span class="pl-s1">cap</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">long</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC305" class="react-file-line html-div" data-testid="code-cell" data-line-number="305" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">firstpos</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>(<span class="pl-s1">cap</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">long</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC306" class="react-file-line html-div" data-testid="code-cell" data-line-number="306" style="position:relative">    <span class="pl-smi">uint32_t</span> <span class="pl-c1">*</span><span class="pl-s1">gen</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">cap</span>, <span class="pl-k">sizeof</span>(<span class="pl-smi">uint32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC307" class="react-file-line html-div" data-testid="code-cell" data-line-number="307" style="position:relative">    <span class="pl-smi">uint32_t</span> <span class="pl-s1">cur_gen</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC308" class="react-file-line html-div" data-testid="code-cell" data-line-number="308" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC309" class="react-file-line html-div" data-testid="code-cell" data-line-number="309" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">m</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">m</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">max_merges</span>; <span class="pl-s1">m</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC310" class="react-file-line html-div" data-testid="code-cell" data-line-number="310" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">n</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">2</span>) <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC311" class="react-file-line html-div" data-testid="code-cell" data-line-number="311" style="position:relative">        <span class="pl-s1">cur_gen</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC312" class="react-file-line html-div" data-testid="code-cell" data-line-number="312" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">best_count</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>, <span class="pl-s1">best_first</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC313" class="react-file-line html-div" data-testid="code-cell" data-line-number="313" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">best_l</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">best_r</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC314" class="react-file-line html-div" data-testid="code-cell" data-line-number="314" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">have_best</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC315" class="react-file-line html-div" data-testid="code-cell" data-line-number="315" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC316" class="react-file-line html-div" data-testid="code-cell" data-line-number="316" style="position:relative">            <span class="pl-smi">int64_t</span> <span class="pl-s1">key</span> <span class="pl-c1">=</span> ((<span class="pl-smi">int64_t</span>)<span class="pl-s1">tok</span>[<span class="pl-s1">i</span>] &lt;&lt; <span class="pl-c1">32</span>) ^ (<span class="pl-smi">int64_t</span>)(<span class="pl-smi">uint32_t</span>)<span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC317" class="react-file-line html-div" data-testid="code-cell" data-line-number="317" style="position:relative">            <span class="pl-smi">uint64_t</span> <span class="pl-s1">h</span> <span class="pl-c1">=</span> (<span class="pl-smi">uint64_t</span>)<span class="pl-s1">key</span> <span class="pl-c1">*</span> <span class="pl-c1">0x9E3779B97F4A7C15ULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC318" class="react-file-line html-div" data-testid="code-cell" data-line-number="318" style="position:relative">            <span class="pl-smi">long</span> <span class="pl-s1">slot</span> <span class="pl-c1">=</span> (<span class="pl-smi">long</span>)(<span class="pl-s1">h</span> <span class="pl-c1">&amp;</span> (<span class="pl-smi">uint64_t</span>)(<span class="pl-s1">cap</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC319" class="react-file-line html-div" data-testid="code-cell" data-line-number="319" style="position:relative">            <span class="pl-k">while</span> (<span class="pl-s1">gen</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">==</span> <span class="pl-s1">cur_gen</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">keys</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">!=</span> <span class="pl-s1">key</span>) <span class="pl-s1">slot</span> <span class="pl-c1">=</span> (<span class="pl-s1">slot</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>) <span class="pl-c1">&amp;</span> (<span class="pl-s1">cap</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC320" class="react-file-line html-div" data-testid="code-cell" data-line-number="320" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">gen</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">!=</span> <span class="pl-s1">cur_gen</span>) { <span class="pl-s1">gen</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">=</span> <span class="pl-s1">cur_gen</span>; <span class="pl-s1">keys</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">=</span> <span class="pl-s1">key</span>; <span class="pl-s1">counts</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">firstpos</span>[<span class="pl-s1">slot</span>] <span class="pl-c1">=</span> <span class="pl-s1">i</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC321" class="react-file-line html-div" data-testid="code-cell" data-line-number="321" style="position:relative">            <span class="pl-s1">counts</span>[<span class="pl-s1">slot</span>]<span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC322" class="react-file-line html-div" data-testid="code-cell" data-line-number="322" style="position:relative">            <span class="pl-smi">long</span> <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">counts</span>[<span class="pl-s1">slot</span>], <span class="pl-s1">f</span> <span class="pl-c1">=</span> <span class="pl-s1">firstpos</span>[<span class="pl-s1">slot</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">best_count</span> <span class="pl-c1">||</span> (<span class="pl-s1">c</span> <span class="pl-c1">==</span> <span class="pl-s1">best_count</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">f</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">best_first</span>)) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC324" class="react-file-line html-div" data-testid="code-cell" data-line-number="324" style="position:relative">                <span class="pl-s1">best_count</span> <span class="pl-c1">=</span> <span class="pl-s1">c</span>; <span class="pl-s1">best_first</span> <span class="pl-c1">=</span> <span class="pl-s1">f</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC325" class="react-file-line html-div" data-testid="code-cell" data-line-number="325" style="position:relative">                <span class="pl-s1">best_l</span> <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">best_r</span> <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC326" class="react-file-line html-div" data-testid="code-cell" data-line-number="326" style="position:relative">                <span class="pl-s1">have_best</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC327" class="react-file-line html-div" data-testid="code-cell" data-line-number="327" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC329" class="react-file-line html-div" data-testid="code-cell" data-line-number="329" style="position:relative">        <span class="pl-k">if</span> (!<span class="pl-s1">have_best</span> <span class="pl-c1">||</span> <span class="pl-s1">best_count</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">min_pair</span>) <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC330" class="react-file-line html-div" data-testid="code-cell" data-line-number="330" style="position:relative">        <span class="pl-c">/* apply merge left-to-right, non-overlapping, into the scratch</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC331" class="react-file-line html-div" data-testid="code-cell" data-line-number="331" style="position:relative"><span class="pl-c">         * buffer, then swap (avoids malloc/free every iteration) */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC332" class="react-file-line html-div" data-testid="code-cell" data-line-number="332" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">ni</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC333" class="react-file-line html-div" data-testid="code-cell" data-line-number="333" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC334" class="react-file-line html-div" data-testid="code-cell" data-line-number="334" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC335" class="react-file-line html-div" data-testid="code-cell" data-line-number="335" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>] <span class="pl-c1">==</span> <span class="pl-s1">best_l</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">==</span> <span class="pl-s1">best_r</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC336" class="react-file-line html-div" data-testid="code-cell" data-line-number="336" style="position:relative">                <span class="pl-s1">scratch</span>[<span class="pl-s1">ni</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">next_id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC337" class="react-file-line html-div" data-testid="code-cell" data-line-number="337" style="position:relative">                <span class="pl-s1">i</span> <span class="pl-c1">+=</span> <span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC338" class="react-file-line html-div" data-testid="code-cell" data-line-number="338" style="position:relative">            } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC339" class="react-file-line html-div" data-testid="code-cell" data-line-number="339" style="position:relative">                <span class="pl-s1">scratch</span>[<span class="pl-s1">ni</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC340" class="react-file-line html-div" data-testid="code-cell" data-line-number="340" style="position:relative">                <span class="pl-s1">i</span> <span class="pl-c1">+=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC341" class="react-file-line html-div" data-testid="code-cell" data-line-number="341" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative">        { <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tmp</span> <span class="pl-c1">=</span> <span class="pl-s1">tok</span>; <span class="pl-s1">tok</span> <span class="pl-c1">=</span> <span class="pl-s1">scratch</span>; <span class="pl-s1">scratch</span> <span class="pl-c1">=</span> <span class="pl-s1">tmp</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative">        <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">ni</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative">        <span class="pl-s1">merges</span>[<span class="pl-s1">nm</span>].<span class="pl-c1">l</span> <span class="pl-c1">=</span> <span class="pl-s1">best_l</span>; <span class="pl-s1">merges</span>[<span class="pl-s1">nm</span>].<span class="pl-c1">r</span> <span class="pl-c1">=</span> <span class="pl-s1">best_r</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC346" class="react-file-line html-div" data-testid="code-cell" data-line-number="346" style="position:relative">        <span class="pl-s1">nm</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC347" class="react-file-line html-div" data-testid="code-cell" data-line-number="347" style="position:relative">        <span class="pl-s1">next_id</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC348" class="react-file-line html-div" data-testid="code-cell" data-line-number="348" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC349" class="react-file-line html-div" data-testid="code-cell" data-line-number="349" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">scratch</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC350" class="react-file-line html-div" data-testid="code-cell" data-line-number="350" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">keys</span>); <span class="pl-en">free</span>(<span class="pl-s1">counts</span>); <span class="pl-en">free</span>(<span class="pl-s1">firstpos</span>); <span class="pl-en">free</span>(<span class="pl-s1">gen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC351" class="react-file-line html-div" data-testid="code-cell" data-line-number="351" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">merges_out</span> <span class="pl-c1">=</span> <span class="pl-s1">merges</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC352" class="react-file-line html-div" data-testid="code-cell" data-line-number="352" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">n_merges_out</span> <span class="pl-c1">=</span> <span class="pl-s1">nm</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC353" class="react-file-line html-div" data-testid="code-cell" data-line-number="353" style="position:relative">    <span class="pl-smi">TokStream</span> <span class="pl-s1">result</span>; <span class="pl-s1">result</span>.<span class="pl-c1">tok</span> <span class="pl-c1">=</span> <span class="pl-s1">tok</span>; <span class="pl-s1">result</span>.<span class="pl-c1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC354" class="react-file-line html-div" data-testid="code-cell" data-line-number="354" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">result</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC355" class="react-file-line html-div" data-testid="code-cell" data-line-number="355" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC356" class="react-file-line html-div" data-testid="code-cell" data-line-number="356" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC357" class="react-file-line html-div" data-testid="code-cell" data-line-number="357" style="position:relative"><span class="pl-c">/* segment: replay merges in creation order over a fresh byte/unit stream */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC358" class="react-file-line html-div" data-testid="code-cell" data-line-number="358" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">TokStream</span> <span class="pl-en">segment_with_merges</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">init</span>, <span class="pl-smi">long</span> <span class="pl-s1">n0</span>, <span class="pl-k">const</span> <span class="pl-smi">Merge</span> <span class="pl-c1">*</span><span class="pl-s1">merges</span>, <span class="pl-smi">int</span> <span class="pl-s1">n_merges</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC359" class="react-file-line html-div" data-testid="code-cell" data-line-number="359" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n0</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC360" class="react-file-line html-div" data-testid="code-cell" data-line-number="360" style="position:relative">    <span class="pl-en">memcpy</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">init</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">n0</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC361" class="react-file-line html-div" data-testid="code-cell" data-line-number="361" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">n0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC362" class="react-file-line html-div" data-testid="code-cell" data-line-number="362" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-s1">next_id</span> <span class="pl-c1">=</span> <span class="pl-c1">256</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC363" class="react-file-line html-div" data-testid="code-cell" data-line-number="363" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">m</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">m</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n_merges</span>; <span class="pl-s1">m</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC364" class="react-file-line html-div" data-testid="code-cell" data-line-number="364" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">l</span> <span class="pl-c1">=</span> <span class="pl-s1">merges</span>[<span class="pl-s1">m</span>].<span class="pl-c1">l</span>, <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-s1">merges</span>[<span class="pl-s1">m</span>].<span class="pl-c1">r</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC365" class="react-file-line html-div" data-testid="code-cell" data-line-number="365" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">ni</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC366" class="react-file-line html-div" data-testid="code-cell" data-line-number="366" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC367" class="react-file-line html-div" data-testid="code-cell" data-line-number="367" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">any</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC368" class="react-file-line html-div" data-testid="code-cell" data-line-number="368" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">tok</span>[<span class="pl-s1">k</span>]<span class="pl-c1">==</span><span class="pl-s1">l</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">tok</span>[<span class="pl-s1">k</span><span class="pl-c1">+</span><span class="pl-c1">1</span>]<span class="pl-c1">==</span><span class="pl-s1">r</span>) { <span class="pl-s1">any</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; <span class="pl-k">break</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC369" class="react-file-line html-div" data-testid="code-cell" data-line-number="369" style="position:relative">        <span class="pl-k">if</span> (!<span class="pl-s1">any</span>) { <span class="pl-s1">next_id</span><span class="pl-c1">++</span>; <span class="pl-k">continue</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC370" class="react-file-line html-div" data-testid="code-cell" data-line-number="370" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">nt</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC371" class="react-file-line html-div" data-testid="code-cell" data-line-number="371" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC372" class="react-file-line html-div" data-testid="code-cell" data-line-number="372" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>] <span class="pl-c1">==</span> <span class="pl-s1">l</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>] <span class="pl-c1">==</span> <span class="pl-s1">r</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC373" class="react-file-line html-div" data-testid="code-cell" data-line-number="373" style="position:relative">                <span class="pl-s1">nt</span>[<span class="pl-s1">ni</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">next_id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC374" class="react-file-line html-div" data-testid="code-cell" data-line-number="374" style="position:relative">                <span class="pl-s1">i</span> <span class="pl-c1">+=</span> <span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC375" class="react-file-line html-div" data-testid="code-cell" data-line-number="375" style="position:relative">            } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC376" class="react-file-line html-div" data-testid="code-cell" data-line-number="376" style="position:relative">                <span class="pl-s1">nt</span>[<span class="pl-s1">ni</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC377" class="react-file-line html-div" data-testid="code-cell" data-line-number="377" style="position:relative">                <span class="pl-s1">i</span> <span class="pl-c1">+=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC378" class="react-file-line html-div" data-testid="code-cell" data-line-number="378" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC379" class="react-file-line html-div" data-testid="code-cell" data-line-number="379" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC380" class="react-file-line html-div" data-testid="code-cell" data-line-number="380" style="position:relative">        <span class="pl-en">free</span>(<span class="pl-s1">tok</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC381" class="react-file-line html-div" data-testid="code-cell" data-line-number="381" style="position:relative">        <span class="pl-s1">tok</span> <span class="pl-c1">=</span> <span class="pl-s1">nt</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC382" class="react-file-line html-div" data-testid="code-cell" data-line-number="382" style="position:relative">        <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">ni</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC383" class="react-file-line html-div" data-testid="code-cell" data-line-number="383" style="position:relative">        <span class="pl-s1">next_id</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC384" class="react-file-line html-div" data-testid="code-cell" data-line-number="384" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC385" class="react-file-line html-div" data-testid="code-cell" data-line-number="385" style="position:relative">    <span class="pl-smi">TokStream</span> <span class="pl-s1">result</span>; <span class="pl-s1">result</span>.<span class="pl-c1">tok</span> <span class="pl-c1">=</span> <span class="pl-s1">tok</span>; <span class="pl-s1">result</span>.<span class="pl-c1">n</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC386" class="react-file-line html-div" data-testid="code-cell" data-line-number="386" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">result</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC387" class="react-file-line html-div" data-testid="code-cell" data-line-number="387" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC388" class="react-file-line html-div" data-testid="code-cell" data-line-number="388" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC389" class="react-file-line html-div" data-testid="code-cell" data-line-number="389" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-en">bytes_to_units</span>(<span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">b</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC390" class="react-file-line html-div" data-testid="code-cell" data-line-number="390" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">n</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC391" class="react-file-line html-div" data-testid="code-cell" data-line-number="391" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">u</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">b</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC392" class="react-file-line html-div" data-testid="code-cell" data-line-number="392" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">u</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC393" class="react-file-line html-div" data-testid="code-cell" data-line-number="393" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC394" class="react-file-line html-div" data-testid="code-cell" data-line-number="394" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC395" class="react-file-line html-div" data-testid="code-cell" data-line-number="395" style="position:relative"><span class="pl-c">/* ---------------- count tables + backoff probability ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC396" class="react-file-line html-div" data-testid="code-cell" data-line-number="396" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC397" class="react-file-line html-div" data-testid="code-cell" data-line-number="397" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC398" class="react-file-line html-div" data-testid="code-cell" data-line-number="398" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">a</span>, <span class="pl-c1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC399" class="react-file-line html-div" data-testid="code-cell" data-line-number="399" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC400" class="react-file-line html-div" data-testid="code-cell" data-line-number="400" style="position:relative">} <span class="pl-smi">Pair2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC401" class="react-file-line html-div" data-testid="code-cell" data-line-number="401" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC402" class="react-file-line html-div" data-testid="code-cell" data-line-number="402" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">a</span>, <span class="pl-c1">b</span>, <span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC403" class="react-file-line html-div" data-testid="code-cell" data-line-number="403" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC404" class="react-file-line html-div" data-testid="code-cell" data-line-number="404" style="position:relative">} <span class="pl-smi">Pair3</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC405" class="react-file-line html-div" data-testid="code-cell" data-line-number="405" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC406" class="react-file-line html-div" data-testid="code-cell" data-line-number="406" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">cmp_pair2</span>(<span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">y</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC407" class="react-file-line html-div" data-testid="code-cell" data-line-number="407" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>, <span class="pl-c1">*</span><span class="pl-s1">q</span> <span class="pl-c1">=</span> <span class="pl-s1">y</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC408" class="react-file-line html-div" data-testid="code-cell" data-line-number="408" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span>) <span class="pl-k">return</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span>) ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC409" class="react-file-line html-div" data-testid="code-cell" data-line-number="409" style="position:relative">    <span class="pl-k">return</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span>) ? <span class="pl-c1">-1</span> : (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span>) ? <span class="pl-c1">1</span> : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC410" class="react-file-line html-div" data-testid="code-cell" data-line-number="410" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">cmp_pair3</span>(<span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">y</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>, <span class="pl-c1">*</span><span class="pl-s1">q</span> <span class="pl-c1">=</span> <span class="pl-s1">y</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span>) <span class="pl-k">return</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span>) ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC414" class="react-file-line html-div" data-testid="code-cell" data-line-number="414" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span>) <span class="pl-k">return</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span>) ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC415" class="react-file-line html-div" data-testid="code-cell" data-line-number="415" style="position:relative">    <span class="pl-k">return</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">c</span>) ? <span class="pl-c1">-1</span> : (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">c</span>) ? <span class="pl-c1">1</span> : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC416" class="react-file-line html-div" data-testid="code-cell" data-line-number="416" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC417" class="react-file-line html-div" data-testid="code-cell" data-line-number="417" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC418" class="react-file-line html-div" data-testid="code-cell" data-line-number="418" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC419" class="react-file-line html-div" data-testid="code-cell" data-line-number="419" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-c1">n1</span>;         <span class="pl-c">/* size V, unigram counts */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC420" class="react-file-line html-div" data-testid="code-cell" data-line-number="420" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC421" class="react-file-line html-div" data-testid="code-cell" data-line-number="421" style="position:relative">    <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-c1">fwd</span>;        <span class="pl-c">/* sorted by (a,b), RLE counts, distance-1 forward pairs */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC422" class="react-file-line html-div" data-testid="code-cell" data-line-number="422" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">n_fwd</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC423" class="react-file-line html-div" data-testid="code-cell" data-line-number="423" style="position:relative">    <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-c1">tri</span>;        <span class="pl-c">/* sorted by (a,b,c), RLE counts */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC424" class="react-file-line html-div" data-testid="code-cell" data-line-number="424" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">n_tri</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC425" class="react-file-line html-div" data-testid="code-cell" data-line-number="425" style="position:relative">} <span class="pl-smi">CountTable</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC426" class="react-file-line html-div" data-testid="code-cell" data-line-number="426" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC427" class="react-file-line html-div" data-testid="code-cell" data-line-number="427" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-en">build_n1</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">long</span> <span class="pl-c1">V</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC428" class="react-file-line html-div" data-testid="code-cell" data-line-number="428" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">n1</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span>, <span class="pl-k">sizeof</span>(<span class="pl-smi">long</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC429" class="react-file-line html-div" data-testid="code-cell" data-line-number="429" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">n1</span>[<span class="pl-s1">tok</span>[<span class="pl-s1">i</span>]]<span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC430" class="react-file-line html-div" data-testid="code-cell" data-line-number="430" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">n1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC431" class="react-file-line html-div" data-testid="code-cell" data-line-number="431" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC432" class="react-file-line html-div" data-testid="code-cell" data-line-number="432" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC433" class="react-file-line html-div" data-testid="code-cell" data-line-number="433" style="position:relative"><span class="pl-c">/* build RLE&#039;d, sorted pair table from raw (a,b) list */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC434" class="react-file-line html-div" data-testid="code-cell" data-line-number="434" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-en">rle_pairs2</span>(<span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">raw_a</span>, <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">raw_b</span>, <span class="pl-smi">long</span> <span class="pl-s1">m</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">out_n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC435" class="react-file-line html-div" data-testid="code-cell" data-line-number="435" style="position:relative">    <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">m</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair2</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC436" class="react-file-line html-div" data-testid="code-cell" data-line-number="436" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">raw_a</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">raw_b</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC437" class="react-file-line html-div" data-testid="code-cell" data-line-number="437" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">p</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">m</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair2</span>), <span class="pl-s1">cmp_pair2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC438" class="react-file-line html-div" data-testid="code-cell" data-line-number="438" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC439" class="react-file-line html-div" data-testid="code-cell" data-line-number="439" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC440" class="react-file-line html-div" data-testid="code-cell" data-line-number="440" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">w</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">b</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span>) <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">c</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC441" class="react-file-line html-div" data-testid="code-cell" data-line-number="441" style="position:relative">        <span class="pl-k">else</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC442" class="react-file-line html-div" data-testid="code-cell" data-line-number="442" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC443" class="react-file-line html-div" data-testid="code-cell" data-line-number="443" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">out_n</span> <span class="pl-c1">=</span> <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC444" class="react-file-line html-div" data-testid="code-cell" data-line-number="444" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC445" class="react-file-line html-div" data-testid="code-cell" data-line-number="445" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC446" class="react-file-line html-div" data-testid="code-cell" data-line-number="446" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC447" class="react-file-line html-div" data-testid="code-cell" data-line-number="447" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-en">rle_pairs3</span>(<span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">ra</span>, <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">rb</span>, <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">rc</span>, <span class="pl-smi">long</span> <span class="pl-s1">m</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">out_n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC448" class="react-file-line html-div" data-testid="code-cell" data-line-number="448" style="position:relative">    <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">m</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair3</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC449" class="react-file-line html-div" data-testid="code-cell" data-line-number="449" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">ra</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">rb</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">rc</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">n</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC450" class="react-file-line html-div" data-testid="code-cell" data-line-number="450" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">p</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">m</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair3</span>), <span class="pl-s1">cmp_pair3</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC451" class="react-file-line html-div" data-testid="code-cell" data-line-number="451" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC452" class="react-file-line html-div" data-testid="code-cell" data-line-number="452" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC453" class="react-file-line html-div" data-testid="code-cell" data-line-number="453" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">w</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">b</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">c</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>) <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">-</span><span class="pl-c1">1</span>].<span class="pl-c1">n</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC454" class="react-file-line html-div" data-testid="code-cell" data-line-number="454" style="position:relative">        <span class="pl-k">else</span> <span class="pl-s1">p</span>[<span class="pl-s1">w</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC455" class="react-file-line html-div" data-testid="code-cell" data-line-number="455" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC456" class="react-file-line html-div" data-testid="code-cell" data-line-number="456" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">out_n</span> <span class="pl-c1">=</span> <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC459" class="react-file-line html-div" data-testid="code-cell" data-line-number="459" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC460" class="react-file-line html-div" data-testid="code-cell" data-line-number="460" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">CountTable</span> <span class="pl-en">build_counts</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">long</span> <span class="pl-c1">V</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC461" class="react-file-line html-div" data-testid="code-cell" data-line-number="461" style="position:relative">    <span class="pl-smi">CountTable</span> <span class="pl-s1">ct</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC462" class="react-file-line html-div" data-testid="code-cell" data-line-number="462" style="position:relative">    <span class="pl-s1">ct</span>.<span class="pl-c1">V</span> <span class="pl-c1">=</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC463" class="react-file-line html-div" data-testid="code-cell" data-line-number="463" style="position:relative">    <span class="pl-s1">ct</span>.<span class="pl-c1">n1</span> <span class="pl-c1">=</span> <span class="pl-en">build_n1</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">n</span>, <span class="pl-c1">V</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC464" class="react-file-line html-div" data-testid="code-cell" data-line-number="464" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">m2</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">1</span> ? <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span> : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC465" class="react-file-line html-div" data-testid="code-cell" data-line-number="465" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">a2</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m2</span>?<span class="pl-s1">m2</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC466" class="react-file-line html-div" data-testid="code-cell" data-line-number="466" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">b2</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m2</span>?<span class="pl-s1">m2</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC467" class="react-file-line html-div" data-testid="code-cell" data-line-number="467" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m2</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">a2</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">b2</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>]; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC468" class="react-file-line html-div" data-testid="code-cell" data-line-number="468" style="position:relative">    <span class="pl-s1">ct</span>.<span class="pl-c1">fwd</span> <span class="pl-c1">=</span> <span class="pl-en">rle_pairs2</span>(<span class="pl-s1">a2</span>, <span class="pl-s1">b2</span>, <span class="pl-s1">m2</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">ct</span>.<span class="pl-c1">n_fwd</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC469" class="react-file-line html-div" data-testid="code-cell" data-line-number="469" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">a2</span>); <span class="pl-en">free</span>(<span class="pl-s1">b2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC470" class="react-file-line html-div" data-testid="code-cell" data-line-number="470" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC471" class="react-file-line html-div" data-testid="code-cell" data-line-number="471" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">m3</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">2</span> ? <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-c1">2</span> : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC472" class="react-file-line html-div" data-testid="code-cell" data-line-number="472" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">a3</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m3</span>?<span class="pl-s1">m3</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC473" class="react-file-line html-div" data-testid="code-cell" data-line-number="473" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">b3</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m3</span>?<span class="pl-s1">m3</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC474" class="react-file-line html-div" data-testid="code-cell" data-line-number="474" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">c3</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m3</span>?<span class="pl-s1">m3</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC475" class="react-file-line html-div" data-testid="code-cell" data-line-number="475" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m3</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">a3</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">b3</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">1</span>]; <span class="pl-s1">c3</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-c1">2</span>]; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC476" class="react-file-line html-div" data-testid="code-cell" data-line-number="476" style="position:relative">    <span class="pl-s1">ct</span>.<span class="pl-c1">tri</span> <span class="pl-c1">=</span> <span class="pl-en">rle_pairs3</span>(<span class="pl-s1">a3</span>, <span class="pl-s1">b3</span>, <span class="pl-s1">c3</span>, <span class="pl-s1">m3</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">ct</span>.<span class="pl-c1">n_tri</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC477" class="react-file-line html-div" data-testid="code-cell" data-line-number="477" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">a3</span>); <span class="pl-en">free</span>(<span class="pl-s1">b3</span>); <span class="pl-en">free</span>(<span class="pl-s1">c3</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC478" class="react-file-line html-div" data-testid="code-cell" data-line-number="478" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">ct</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC479" class="react-file-line html-div" data-testid="code-cell" data-line-number="479" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC480" class="react-file-line html-div" data-testid="code-cell" data-line-number="480" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC481" class="react-file-line html-div" data-testid="code-cell" data-line-number="481" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_counts</span>(<span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC482" class="react-file-line html-div" data-testid="code-cell" data-line-number="482" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n1</span>); <span class="pl-en">free</span>(<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>); <span class="pl-en">free</span>(<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC483" class="react-file-line html-div" data-testid="code-cell" data-line-number="483" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC484" class="react-file-line html-div" data-testid="code-cell" data-line-number="484" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC485" class="react-file-line html-div" data-testid="code-cell" data-line-number="485" style="position:relative"><span class="pl-c">/* binary search: first index in fwd with a==key (fwd sorted by (a,b)) */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC486" class="react-file-line html-div" data-testid="code-cell" data-line-number="486" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">long</span> <span class="pl-en">fwd_lower_bound</span>(<span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd</span>, <span class="pl-smi">long</span> <span class="pl-s1">n_fwd</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">a</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC487" class="react-file-line html-div" data-testid="code-cell" data-line-number="487" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">n_fwd</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC488" class="react-file-line html-div" data-testid="code-cell" data-line-number="488" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">lo</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">hi</span>) { <span class="pl-smi">long</span> <span class="pl-s1">mid</span> <span class="pl-c1">=</span> (<span class="pl-s1">lo</span><span class="pl-c1">+</span><span class="pl-s1">hi</span>)/<span class="pl-c1">2</span>; <span class="pl-k">if</span> (<span class="pl-s1">fwd</span>[<span class="pl-s1">mid</span>].<span class="pl-c1">a</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">a</span>) <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span><span class="pl-c1">+</span><span class="pl-c1">1</span>; <span class="pl-k">else</span> <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC489" class="react-file-line html-div" data-testid="code-cell" data-line-number="489" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">lo</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC490" class="react-file-line html-div" data-testid="code-cell" data-line-number="490" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC491" class="react-file-line html-div" data-testid="code-cell" data-line-number="491" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">long</span> <span class="pl-en">tri_lower_bound</span>(<span class="pl-k">const</span> <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-s1">tri</span>, <span class="pl-smi">long</span> <span class="pl-s1">n_tri</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">a</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">b</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC492" class="react-file-line html-div" data-testid="code-cell" data-line-number="492" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">n_tri</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC493" class="react-file-line html-div" data-testid="code-cell" data-line-number="493" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">lo</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">hi</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC494" class="react-file-line html-div" data-testid="code-cell" data-line-number="494" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">mid</span> <span class="pl-c1">=</span> (<span class="pl-s1">lo</span><span class="pl-c1">+</span><span class="pl-s1">hi</span>)/<span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC495" class="react-file-line html-div" data-testid="code-cell" data-line-number="495" style="position:relative">        <span class="pl-smi">Pair3</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> (<span class="pl-smi">Pair3</span><span class="pl-c1">*</span>)<span class="pl-c1">&amp;</span><span class="pl-s1">tri</span>[<span class="pl-s1">mid</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC496" class="react-file-line html-div" data-testid="code-cell" data-line-number="496" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">less</span> <span class="pl-c1">=</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">a</span>) <span class="pl-c1">||</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">a</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">b</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC497" class="react-file-line html-div" data-testid="code-cell" data-line-number="497" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">less</span>) <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span><span class="pl-c1">+</span><span class="pl-c1">1</span>; <span class="pl-k">else</span> <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC498" class="react-file-line html-div" data-testid="code-cell" data-line-number="498" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC499" class="react-file-line html-div" data-testid="code-cell" data-line-number="499" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">lo</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC500" class="react-file-line html-div" data-testid="code-cell" data-line-number="500" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC501" class="react-file-line html-div" data-testid="code-cell" data-line-number="501" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC502" class="react-file-line html-div" data-testid="code-cell" data-line-number="502" style="position:relative"><span class="pl-c">/* context sum + specific weight for level-2 (bigram) */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC503" class="react-file-line html-div" data-testid="code-cell" data-line-number="503" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">ctx2_lookup</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">sum_out</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">w_out</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC504" class="react-file-line html-div" data-testid="code-cell" data-line-number="504" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-en">fwd_lower_bound</span>(<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>, <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n_fwd</span>, <span class="pl-s1">c1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC505" class="react-file-line html-div" data-testid="code-cell" data-line-number="505" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">sum</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n_fwd</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">c1</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative">        <span class="pl-s1">sum</span> <span class="pl-c1">+=</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC508" class="react-file-line html-div" data-testid="code-cell" data-line-number="508" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">==</span> <span class="pl-s1">u</span>) <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC509" class="react-file-line html-div" data-testid="code-cell" data-line-number="509" style="position:relative">        <span class="pl-s1">i</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">sum_out</span> <span class="pl-c1">=</span> <span class="pl-s1">sum</span>; <span class="pl-c1">*</span><span class="pl-s1">w_out</span> <span class="pl-c1">=</span> <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC512" class="react-file-line html-div" data-testid="code-cell" data-line-number="512" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC513" class="react-file-line html-div" data-testid="code-cell" data-line-number="513" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">ctx3_lookup</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c2</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">sum_out</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">w_out</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC514" class="react-file-line html-div" data-testid="code-cell" data-line-number="514" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-en">tri_lower_bound</span>(<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>, <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n_tri</span>, <span class="pl-s1">c2</span>, <span class="pl-s1">c1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC515" class="react-file-line html-div" data-testid="code-cell" data-line-number="515" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">sum</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC516" class="react-file-line html-div" data-testid="code-cell" data-line-number="516" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n_tri</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">c2</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">==</span> <span class="pl-s1">c1</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC517" class="react-file-line html-div" data-testid="code-cell" data-line-number="517" style="position:relative">        <span class="pl-s1">sum</span> <span class="pl-c1">+=</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>[<span class="pl-s1">i</span>].<span class="pl-c1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC518" class="react-file-line html-div" data-testid="code-cell" data-line-number="518" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span> <span class="pl-c1">==</span> <span class="pl-s1">u</span>) <span class="pl-s1">w</span> <span class="pl-c1">=</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">tri</span>[<span class="pl-s1">i</span>].<span class="pl-c1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC519" class="react-file-line html-div" data-testid="code-cell" data-line-number="519" style="position:relative">        <span class="pl-s1">i</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC520" class="react-file-line html-div" data-testid="code-cell" data-line-number="520" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC521" class="react-file-line html-div" data-testid="code-cell" data-line-number="521" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">sum_out</span> <span class="pl-c1">=</span> <span class="pl-s1">sum</span>; <span class="pl-c1">*</span><span class="pl-s1">w_out</span> <span class="pl-c1">=</span> <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC522" class="react-file-line html-div" data-testid="code-cell" data-line-number="522" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC523" class="react-file-line html-div" data-testid="code-cell" data-line-number="523" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC524" class="react-file-line html-div" data-testid="code-cell" data-line-number="524" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">EPS</span> 0.1</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC525" class="react-file-line html-div" data-testid="code-cell" data-line-number="525" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC526" class="react-file-line html-div" data-testid="code-cell" data-line-number="526" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">P1_of</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">long</span> <span class="pl-s1">n1_total</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC527" class="react-file-line html-div" data-testid="code-cell" data-line-number="527" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">w</span> <span class="pl-c1">=</span> (<span class="pl-s1">u</span> &gt;= <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) ? <span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">n1</span>[<span class="pl-s1">u</span>] : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC528" class="react-file-line html-div" data-testid="code-cell" data-line-number="528" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">top</span> <span class="pl-c1">=</span> (<span class="pl-s1">n1_total</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>) ? (<span class="pl-c1">1.0</span> <span class="pl-c1">-</span> <span class="pl-c1">EPS</span>) <span class="pl-c1">*</span> (<span class="pl-smi">double</span>)<span class="pl-s1">w</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">n1_total</span> : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC529" class="react-file-line html-div" data-testid="code-cell" data-line-number="529" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">top</span> <span class="pl-c1">+</span> <span class="pl-c1">EPS</span> <span class="pl-c1">*</span> (<span class="pl-c1">1.0</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">ct</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC530" class="react-file-line html-div" data-testid="code-cell" data-line-number="530" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC531" class="react-file-line html-div" data-testid="code-cell" data-line-number="531" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">P2_of</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">long</span> <span class="pl-s1">n1_total</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC532" class="react-file-line html-div" data-testid="code-cell" data-line-number="532" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">sum</span>, <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC533" class="react-file-line html-div" data-testid="code-cell" data-line-number="533" style="position:relative">    <span class="pl-en">ctx2_lookup</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">sum</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">w</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC534" class="react-file-line html-div" data-testid="code-cell" data-line-number="534" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">sum</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-en">P1_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC535" class="react-file-line html-div" data-testid="code-cell" data-line-number="535" style="position:relative">    <span class="pl-k">return</span> (<span class="pl-c1">1.0</span> <span class="pl-c1">-</span> <span class="pl-c1">EPS</span>) <span class="pl-c1">*</span> (<span class="pl-smi">double</span>)<span class="pl-s1">w</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">sum</span> <span class="pl-c1">+</span> <span class="pl-c1">EPS</span> <span class="pl-c1">*</span> <span class="pl-en">P1_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC536" class="react-file-line html-div" data-testid="code-cell" data-line-number="536" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC537" class="react-file-line html-div" data-testid="code-cell" data-line-number="537" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">P3_of</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">long</span> <span class="pl-s1">n1_total</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c2</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC538" class="react-file-line html-div" data-testid="code-cell" data-line-number="538" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">sum</span>, <span class="pl-s1">w</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC539" class="react-file-line html-div" data-testid="code-cell" data-line-number="539" style="position:relative">    <span class="pl-en">ctx3_lookup</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">c2</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">sum</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">w</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC540" class="react-file-line html-div" data-testid="code-cell" data-line-number="540" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">sum</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-en">P2_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC541" class="react-file-line html-div" data-testid="code-cell" data-line-number="541" style="position:relative">    <span class="pl-k">return</span> (<span class="pl-c1">1.0</span> <span class="pl-c1">-</span> <span class="pl-c1">EPS</span>) <span class="pl-c1">*</span> (<span class="pl-smi">double</span>)<span class="pl-s1">w</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">sum</span> <span class="pl-c1">+</span> <span class="pl-c1">EPS</span> <span class="pl-c1">*</span> <span class="pl-en">P2_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC542" class="react-file-line html-div" data-testid="code-cell" data-line-number="542" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC543" class="react-file-line html-div" data-testid="code-cell" data-line-number="543" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC544" class="react-file-line html-div" data-testid="code-cell" data-line-number="544" style="position:relative"><span class="pl-c">/* boundary-aware price: pos_in_world is the absolute position (0-based)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC545" class="react-file-line html-div" data-testid="code-cell" data-line-number="545" style="position:relative"><span class="pl-c"> * in the FULL lived destination stream (not just this chunk); ctx2/ctx1</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC546" class="react-file-line html-div" data-testid="code-cell" data-line-number="546" style="position:relative"><span class="pl-c"> * are the previous two units of that same lived stream (or -1 if not</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC547" class="react-file-line html-div" data-testid="code-cell" data-line-number="547" style="position:relative"><span class="pl-c"> * yet available). */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC548" class="react-file-line html-div" data-testid="code-cell" data-line-number="548" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">price_unit</span>(<span class="pl-k">const</span> <span class="pl-smi">CountTable</span> <span class="pl-c1">*</span><span class="pl-s1">ct</span>, <span class="pl-smi">long</span> <span class="pl-s1">n1_total</span>, <span class="pl-smi">long</span> <span class="pl-s1">pos_in_world</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC549" class="react-file-line html-div" data-testid="code-cell" data-line-number="549" style="position:relative">                          <span class="pl-smi">int32_t</span> <span class="pl-s1">c2</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC550" class="react-file-line html-div" data-testid="code-cell" data-line-number="550" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">pos_in_world</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-en">P1_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC551" class="react-file-line html-div" data-testid="code-cell" data-line-number="551" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">pos_in_world</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span>) <span class="pl-k">return</span> <span class="pl-en">P2_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC552" class="react-file-line html-div" data-testid="code-cell" data-line-number="552" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">P3_of</span>(<span class="pl-s1">ct</span>, <span class="pl-s1">n1_total</span>, <span class="pl-s1">c2</span>, <span class="pl-s1">c1</span>, <span class="pl-s1">u</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC553" class="react-file-line html-div" data-testid="code-cell" data-line-number="553" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC554" class="react-file-line html-div" data-testid="code-cell" data-line-number="554" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC555" class="react-file-line html-div" data-testid="code-cell" data-line-number="555" style="position:relative"><span class="pl-c">/* ---------------- unit byte-length + descriptors (12 scalars) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC556" class="react-file-line html-div" data-testid="code-cell" data-line-number="556" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-en">build_unit_len</span>(<span class="pl-k">const</span> <span class="pl-smi">Merge</span> <span class="pl-c1">*</span><span class="pl-s1">merges</span>, <span class="pl-smi">int</span> <span class="pl-s1">n_merges</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span> <span class="pl-c1">=</span> <span class="pl-c1">256</span> <span class="pl-c1">+</span> <span class="pl-s1">n_merges</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">ulen</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">long</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">ulen</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC561" class="react-file-line html-div" data-testid="code-cell" data-line-number="561" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n_merges</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">ulen</span>[<span class="pl-c1">256</span><span class="pl-c1">+</span><span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">ulen</span>[<span class="pl-s1">merges</span>[<span class="pl-s1">i</span>].<span class="pl-c1">l</span>] <span class="pl-c1">+</span> <span class="pl-s1">ulen</span>[<span class="pl-s1">merges</span>[<span class="pl-s1">i</span>].<span class="pl-c1">r</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC562" class="react-file-line html-div" data-testid="code-cell" data-line-number="562" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">ulen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC563" class="react-file-line html-div" data-testid="code-cell" data-line-number="563" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC564" class="react-file-line html-div" data-testid="code-cell" data-line-number="564" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC565" class="react-file-line html-div" data-testid="code-cell" data-line-number="565" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-en">build_dist_pairs</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">int</span> <span class="pl-s1">d</span>, <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">out_n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC566" class="react-file-line html-div" data-testid="code-cell" data-line-number="566" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">m</span> <span class="pl-c1">=</span> (<span class="pl-s1">n</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">d</span>) ? <span class="pl-s1">n</span> <span class="pl-c1">-</span> <span class="pl-s1">d</span> : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m</span>?<span class="pl-s1">m</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">b</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">m</span>?<span class="pl-s1">m</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">m</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">a</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">b</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">tok</span>[<span class="pl-s1">i</span><span class="pl-c1">+</span><span class="pl-s1">d</span>]; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC570" class="react-file-line html-div" data-testid="code-cell" data-line-number="570" style="position:relative">    <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-en">rle_pairs2</span>(<span class="pl-s1">a</span>, <span class="pl-s1">b</span>, <span class="pl-s1">m</span>, <span class="pl-s1">out_n</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC571" class="react-file-line html-div" data-testid="code-cell" data-line-number="571" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">a</span>); <span class="pl-en">free</span>(<span class="pl-s1">b</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC572" class="react-file-line html-div" data-testid="code-cell" data-line-number="572" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC573" class="react-file-line html-div" data-testid="code-cell" data-line-number="573" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC574" class="react-file-line html-div" data-testid="code-cell" data-line-number="574" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC575" class="react-file-line html-div" data-testid="code-cell" data-line-number="575" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-en">build_reverse_pairs</span>(<span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd</span>, <span class="pl-smi">long</span> <span class="pl-s1">n_fwd</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC576" class="react-file-line html-div" data-testid="code-cell" data-line-number="576" style="position:relative">    <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">rev</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)(<span class="pl-s1">n_fwd</span>?<span class="pl-s1">n_fwd</span>:<span class="pl-c1">1</span>) <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair2</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC577" class="react-file-line html-div" data-testid="code-cell" data-line-number="577" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n_fwd</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">rev</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span>; <span class="pl-s1">rev</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span> <span class="pl-c1">=</span> <span class="pl-s1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span>; <span class="pl-s1">rev</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">fwd</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC578" class="react-file-line html-div" data-testid="code-cell" data-line-number="578" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">rev</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">n_fwd</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">Pair2</span>), <span class="pl-s1">cmp_pair2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC579" class="react-file-line html-div" data-testid="code-cell" data-line-number="579" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">rev</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC580" class="react-file-line html-div" data-testid="code-cell" data-line-number="580" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC581" class="react-file-line html-div" data-testid="code-cell" data-line-number="581" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC582" class="react-file-line html-div" data-testid="code-cell" data-line-number="582" style="position:relative"><span class="pl-k">#define</span> <span class="pl-c1">NDESC</span> 12</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC583" class="react-file-line html-div" data-testid="code-cell" data-line-number="583" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC584" class="react-file-line html-div" data-testid="code-cell" data-line-number="584" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC585" class="react-file-line html-div" data-testid="code-cell" data-line-number="585" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC586" class="react-file-line html-div" data-testid="code-cell" data-line-number="586" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-c1">alive</span>; <span class="pl-c">/* 0/1, size V */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC587" class="react-file-line html-div" data-testid="code-cell" data-line-number="587" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">raw</span>;          <span class="pl-c">/* V*NDESC */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC588" class="react-file-line html-div" data-testid="code-cell" data-line-number="588" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">z</span>;            <span class="pl-c">/* V*NDESC, z-scored over alive units only */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC589" class="react-file-line html-div" data-testid="code-cell" data-line-number="589" style="position:relative">} <span class="pl-smi">Descriptors</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC590" class="react-file-line html-div" data-testid="code-cell" data-line-number="590" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC591" class="react-file-line html-div" data-testid="code-cell" data-line-number="591" style="position:relative"><span class="pl-c">/* group-wise pass over a Pair2 array sorted by &#039;a&#039;: calls fn(u, group_start, group_len) */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC592" class="react-file-line html-div" data-testid="code-cell" data-line-number="592" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">for_each_group</span>(<span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">p</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">void</span> (<span class="pl-c1">*</span><span class="pl-s1">fn</span>)(<span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-s1">start</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>), <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC593" class="react-file-line html-div" data-testid="code-cell" data-line-number="593" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC594" class="react-file-line html-div" data-testid="code-cell" data-line-number="594" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC595" class="react-file-line html-div" data-testid="code-cell" data-line-number="595" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC596" class="react-file-line html-div" data-testid="code-cell" data-line-number="596" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">j</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">p</span>[<span class="pl-s1">j</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span>) <span class="pl-s1">j</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC597" class="react-file-line html-div" data-testid="code-cell" data-line-number="597" style="position:relative">        <span class="pl-en">fn</span>(<span class="pl-s1">p</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span>, <span class="pl-s1">i</span>, <span class="pl-s1">j</span> <span class="pl-c1">-</span> <span class="pl-s1">i</span>, <span class="pl-s1">ctx</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC598" class="react-file-line html-div" data-testid="code-cell" data-line-number="598" style="position:relative">        <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">j</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC599" class="react-file-line html-div" data-testid="code-cell" data-line-number="599" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC600" class="react-file-line html-div" data-testid="code-cell" data-line-number="600" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC602" class="react-file-line html-div" data-testid="code-cell" data-line-number="602" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC603" class="react-file-line html-div" data-testid="code-cell" data-line-number="603" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-c1">fwd1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">raw</span>; <span class="pl-c">/* V*NDESC */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative">} <span class="pl-smi">EntropyCtx</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">entropy_pass</span>(<span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-s1">start</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx_</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative">    <span class="pl-smi">EntropyCtx</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx_</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC610" class="react-file-line html-div" data-testid="code-cell" data-line-number="610" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC611" class="react-file-line html-div" data-testid="code-cell" data-line-number="611" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) <span class="pl-s1">total</span> <span class="pl-c1">+=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC612" class="react-file-line html-div" data-testid="code-cell" data-line-number="612" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> &gt;= <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC613" class="react-file-line html-div" data-testid="code-cell" data-line-number="613" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">H</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>, <span class="pl-s1">top1</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>, <span class="pl-s1">sorted4</span>[<span class="pl-c1">4</span>] <span class="pl-c1">=</span> {<span class="pl-c1">0</span>,<span class="pl-c1">0</span>,<span class="pl-c1">0</span>,<span class="pl-c1">0</span>};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC614" class="react-file-line html-div" data-testid="code-cell" data-line-number="614" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC615" class="react-file-line html-div" data-testid="code-cell" data-line-number="615" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">p</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC616" class="react-file-line html-div" data-testid="code-cell" data-line-number="616" style="position:relative">        <span class="pl-c1">H</span> <span class="pl-c1">+=</span> <span class="pl-c1">-</span><span class="pl-s1">p</span> <span class="pl-c1">*</span> <span class="pl-en">log2</span>(<span class="pl-s1">p</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC617" class="react-file-line html-div" data-testid="code-cell" data-line-number="617" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">p</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">top1</span>) <span class="pl-s1">top1</span> <span class="pl-c1">=</span> <span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC618" class="react-file-line html-div" data-testid="code-cell" data-line-number="618" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">s</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">s</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">4</span>; <span class="pl-s1">s</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC619" class="react-file-line html-div" data-testid="code-cell" data-line-number="619" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">p</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">sorted4</span>[<span class="pl-s1">s</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC620" class="react-file-line html-div" data-testid="code-cell" data-line-number="620" style="position:relative">                <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">t</span> <span class="pl-c1">=</span> <span class="pl-c1">3</span>; <span class="pl-s1">t</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">s</span>; <span class="pl-s1">t</span><span class="pl-c1">--</span>) <span class="pl-s1">sorted4</span>[<span class="pl-s1">t</span>] <span class="pl-c1">=</span> <span class="pl-s1">sorted4</span>[<span class="pl-s1">t</span><span class="pl-c1">-</span><span class="pl-c1">1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC621" class="react-file-line html-div" data-testid="code-cell" data-line-number="621" style="position:relative">                <span class="pl-s1">sorted4</span>[<span class="pl-s1">s</span>] <span class="pl-c1">=</span> <span class="pl-s1">p</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC622" class="react-file-line html-div" data-testid="code-cell" data-line-number="622" style="position:relative">                <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC623" class="react-file-line html-div" data-testid="code-cell" data-line-number="623" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC624" class="react-file-line html-div" data-testid="code-cell" data-line-number="624" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC625" class="react-file-line html-div" data-testid="code-cell" data-line-number="625" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC626" class="react-file-line html-div" data-testid="code-cell" data-line-number="626" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">top4</span> <span class="pl-c1">=</span> <span class="pl-s1">sorted4</span>[<span class="pl-c1">0</span>]<span class="pl-c1">+</span><span class="pl-s1">sorted4</span>[<span class="pl-c1">1</span>]<span class="pl-c1">+</span><span class="pl-s1">sorted4</span>[<span class="pl-c1">2</span>]<span class="pl-c1">+</span><span class="pl-s1">sorted4</span>[<span class="pl-c1">3</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC627" class="react-file-line html-div" data-testid="code-cell" data-line-number="627" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">2</span>] <span class="pl-c1">=</span> <span class="pl-c1">H</span>;      <span class="pl-c">/* right transition entropy */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC628" class="react-file-line html-div" data-testid="code-cell" data-line-number="628" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">4</span>] <span class="pl-c1">=</span> <span class="pl-en">log2</span>((<span class="pl-smi">double</span>)<span class="pl-s1">len</span>); <span class="pl-c">/* log2 right degree */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC629" class="react-file-line html-div" data-testid="code-cell" data-line-number="629" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">6</span>] <span class="pl-c1">=</span> <span class="pl-s1">top1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC630" class="react-file-line html-div" data-testid="code-cell" data-line-number="630" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">7</span>] <span class="pl-c1">=</span> <span class="pl-s1">top4</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC631" class="react-file-line html-div" data-testid="code-cell" data-line-number="631" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC632" class="react-file-line html-div" data-testid="code-cell" data-line-number="632" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC633" class="react-file-line html-div" data-testid="code-cell" data-line-number="633" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC634" class="react-file-line html-div" data-testid="code-cell" data-line-number="634" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-c1">rev1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC635" class="react-file-line html-div" data-testid="code-cell" data-line-number="635" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">raw</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC636" class="react-file-line html-div" data-testid="code-cell" data-line-number="636" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC637" class="react-file-line html-div" data-testid="code-cell" data-line-number="637" style="position:relative">} <span class="pl-smi">LeftCtx</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC638" class="react-file-line html-div" data-testid="code-cell" data-line-number="638" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC639" class="react-file-line html-div" data-testid="code-cell" data-line-number="639" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">left_entropy_pass</span>(<span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-s1">start</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx_</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC640" class="react-file-line html-div" data-testid="code-cell" data-line-number="640" style="position:relative">    <span class="pl-smi">LeftCtx</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx_</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC641" class="react-file-line html-div" data-testid="code-cell" data-line-number="641" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC642" class="react-file-line html-div" data-testid="code-cell" data-line-number="642" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) <span class="pl-s1">total</span> <span class="pl-c1">+=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rev1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC643" class="react-file-line html-div" data-testid="code-cell" data-line-number="643" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> &gt;= <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC644" class="react-file-line html-div" data-testid="code-cell" data-line-number="644" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">H</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC645" class="react-file-line html-div" data-testid="code-cell" data-line-number="645" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC646" class="react-file-line html-div" data-testid="code-cell" data-line-number="646" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">p</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rev1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC647" class="react-file-line html-div" data-testid="code-cell" data-line-number="647" style="position:relative">        <span class="pl-c1">H</span> <span class="pl-c1">+=</span> <span class="pl-c1">-</span><span class="pl-s1">p</span> <span class="pl-c1">*</span> <span class="pl-en">log2</span>(<span class="pl-s1">p</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC648" class="react-file-line html-div" data-testid="code-cell" data-line-number="648" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC649" class="react-file-line html-div" data-testid="code-cell" data-line-number="649" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">3</span>] <span class="pl-c1">=</span> <span class="pl-c1">H</span>;                 <span class="pl-c">/* left transition entropy */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC650" class="react-file-line html-div" data-testid="code-cell" data-line-number="650" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">5</span>] <span class="pl-c1">=</span> <span class="pl-en">log2</span>((<span class="pl-smi">double</span>)<span class="pl-s1">len</span>); <span class="pl-c">/* log2 left degree */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC651" class="react-file-line html-div" data-testid="code-cell" data-line-number="651" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC652" class="react-file-line html-div" data-testid="code-cell" data-line-number="652" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC653" class="react-file-line html-div" data-testid="code-cell" data-line-number="653" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC654" class="react-file-line html-div" data-testid="code-cell" data-line-number="654" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-c1">dtab</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC655" class="react-file-line html-div" data-testid="code-cell" data-line-number="655" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">raw</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC656" class="react-file-line html-div" data-testid="code-cell" data-line-number="656" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">dimidx</span>; <span class="pl-c">/* 8,9,10 for d=1,2,4 */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC657" class="react-file-line html-div" data-testid="code-cell" data-line-number="657" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC658" class="react-file-line html-div" data-testid="code-cell" data-line-number="658" style="position:relative">} <span class="pl-smi">ConcCtx</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC659" class="react-file-line html-div" data-testid="code-cell" data-line-number="659" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC660" class="react-file-line html-div" data-testid="code-cell" data-line-number="660" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">concentration_pass</span>(<span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-s1">start</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx_</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC661" class="react-file-line html-div" data-testid="code-cell" data-line-number="661" style="position:relative">    <span class="pl-smi">ConcCtx</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx_</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC662" class="react-file-line html-div" data-testid="code-cell" data-line-number="662" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC663" class="react-file-line html-div" data-testid="code-cell" data-line-number="663" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) <span class="pl-s1">total</span> <span class="pl-c1">+=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dtab</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC664" class="react-file-line html-div" data-testid="code-cell" data-line-number="664" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> &gt;= <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC665" class="react-file-line html-div" data-testid="code-cell" data-line-number="665" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">simpson</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC666" class="react-file-line html-div" data-testid="code-cell" data-line-number="666" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC667" class="react-file-line html-div" data-testid="code-cell" data-line-number="667" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">frac</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dtab</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC668" class="react-file-line html-div" data-testid="code-cell" data-line-number="668" style="position:relative">        <span class="pl-s1">simpson</span> <span class="pl-c1">+=</span> <span class="pl-s1">frac</span> <span class="pl-c1">*</span> <span class="pl-s1">frac</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC669" class="react-file-line html-div" data-testid="code-cell" data-line-number="669" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC670" class="react-file-line html-div" data-testid="code-cell" data-line-number="670" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dimidx</span>] <span class="pl-c1">=</span> <span class="pl-s1">simpson</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC671" class="react-file-line html-div" data-testid="code-cell" data-line-number="671" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC672" class="react-file-line html-div" data-testid="code-cell" data-line-number="672" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC673" class="react-file-line html-div" data-testid="code-cell" data-line-number="673" style="position:relative"><span class="pl-c">/* refinement (dim 11): transition-probability-weighted mean of right</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC674" class="react-file-line html-div" data-testid="code-cell" data-line-number="674" style="position:relative"><span class="pl-c"> * neighbors&#039; right-entropies. Needs H_right (dim index 2) already filled. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC675" class="react-file-line html-div" data-testid="code-cell" data-line-number="675" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC676" class="react-file-line html-div" data-testid="code-cell" data-line-number="676" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-c1">fwd1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC677" class="react-file-line html-div" data-testid="code-cell" data-line-number="677" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">*</span><span class="pl-c1">raw</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC678" class="react-file-line html-div" data-testid="code-cell" data-line-number="678" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC679" class="react-file-line html-div" data-testid="code-cell" data-line-number="679" style="position:relative">} <span class="pl-smi">RefineCtx</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC680" class="react-file-line html-div" data-testid="code-cell" data-line-number="680" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC681" class="react-file-line html-div" data-testid="code-cell" data-line-number="681" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">refine_pass</span>(<span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-smi">long</span> <span class="pl-s1">start</span>, <span class="pl-smi">long</span> <span class="pl-s1">len</span>, <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">ctx_</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC682" class="react-file-line html-div" data-testid="code-cell" data-line-number="682" style="position:relative">    <span class="pl-smi">RefineCtx</span> <span class="pl-c1">*</span><span class="pl-s1">ctx</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx_</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC683" class="react-file-line html-div" data-testid="code-cell" data-line-number="683" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC684" class="react-file-line html-div" data-testid="code-cell" data-line-number="684" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) <span class="pl-s1">total</span> <span class="pl-c1">+=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC685" class="react-file-line html-div" data-testid="code-cell" data-line-number="685" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">u</span> &gt;= <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC686" class="react-file-line html-div" data-testid="code-cell" data-line-number="686" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">acc</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC687" class="react-file-line html-div" data-testid="code-cell" data-line-number="687" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">len</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC688" class="react-file-line html-div" data-testid="code-cell" data-line-number="688" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">v</span> <span class="pl-c1">=</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC689" class="react-file-line html-div" data-testid="code-cell" data-line-number="689" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">p</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">fwd1</span>[<span class="pl-s1">start</span><span class="pl-c1">+</span><span class="pl-s1">k</span>].<span class="pl-c1">c</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC690" class="react-file-line html-div" data-testid="code-cell" data-line-number="690" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">Hv</span> <span class="pl-c1">=</span> (<span class="pl-s1">v</span> &gt;= <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">v</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>) ? <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">v</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">2</span>] : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC691" class="react-file-line html-div" data-testid="code-cell" data-line-number="691" style="position:relative">        <span class="pl-s1">acc</span> <span class="pl-c1">+=</span> <span class="pl-s1">p</span> <span class="pl-c1">*</span> <span class="pl-s1">Hv</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC692" class="react-file-line html-div" data-testid="code-cell" data-line-number="692" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC693" class="react-file-line html-div" data-testid="code-cell" data-line-number="693" style="position:relative">    <span class="pl-s1">ctx</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">11</span>] <span class="pl-c1">=</span> <span class="pl-s1">acc</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC694" class="react-file-line html-div" data-testid="code-cell" data-line-number="694" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC695" class="react-file-line html-div" data-testid="code-cell" data-line-number="695" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC696" class="react-file-line html-div" data-testid="code-cell" data-line-number="696" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">Descriptors</span> <span class="pl-en">compute_descriptors</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">tok</span>, <span class="pl-smi">long</span> <span class="pl-s1">n</span>, <span class="pl-smi">long</span> <span class="pl-c1">V</span>, <span class="pl-k">const</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">n1</span>, <span class="pl-k">const</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">ulen</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC697" class="react-file-line html-div" data-testid="code-cell" data-line-number="697" style="position:relative">    <span class="pl-smi">Descriptors</span> <span class="pl-s1">d</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC698" class="react-file-line html-div" data-testid="code-cell" data-line-number="698" style="position:relative">    <span class="pl-s1">d</span>.<span class="pl-c1">V</span> <span class="pl-c1">=</span> <span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC699" class="react-file-line html-div" data-testid="code-cell" data-line-number="699" style="position:relative">    <span class="pl-s1">d</span>.<span class="pl-c1">alive</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span>, <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC700" class="react-file-line html-div" data-testid="code-cell" data-line-number="700" style="position:relative">    <span class="pl-s1">d</span>.<span class="pl-c1">raw</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-c1">NDESC</span>, <span class="pl-k">sizeof</span>(<span class="pl-smi">double</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC701" class="react-file-line html-div" data-testid="code-cell" data-line-number="701" style="position:relative">    <span class="pl-s1">d</span>.<span class="pl-c1">z</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-c1">NDESC</span>, <span class="pl-k">sizeof</span>(<span class="pl-smi">double</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC702" class="react-file-line html-div" data-testid="code-cell" data-line-number="702" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC703" class="react-file-line html-div" data-testid="code-cell" data-line-number="703" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n_fwd1</span>; <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd1</span> <span class="pl-c1">=</span> <span class="pl-en">build_dist_pairs</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">n</span>, <span class="pl-c1">1</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">n_fwd1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC704" class="react-file-line html-div" data-testid="code-cell" data-line-number="704" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n_fwd2</span>; <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd2</span> <span class="pl-c1">=</span> <span class="pl-en">build_dist_pairs</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">n</span>, <span class="pl-c1">2</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">n_fwd2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC705" class="react-file-line html-div" data-testid="code-cell" data-line-number="705" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">n_fwd4</span>; <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd4</span> <span class="pl-c1">=</span> <span class="pl-en">build_dist_pairs</span>(<span class="pl-s1">tok</span>, <span class="pl-s1">n</span>, <span class="pl-c1">4</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">n_fwd4</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC706" class="react-file-line html-div" data-testid="code-cell" data-line-number="706" style="position:relative">    <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">rev1</span> <span class="pl-c1">=</span> <span class="pl-en">build_reverse_pairs</span>(<span class="pl-s1">fwd1</span>, <span class="pl-s1">n_fwd1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC707" class="react-file-line html-div" data-testid="code-cell" data-line-number="707" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC708" class="react-file-line html-div" data-testid="code-cell" data-line-number="708" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V</span>; <span class="pl-s1">u</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC709" class="react-file-line html-div" data-testid="code-cell" data-line-number="709" style="position:relative">        <span class="pl-s1">d</span>.<span class="pl-c1">alive</span>[<span class="pl-s1">u</span>] <span class="pl-c1">=</span> (<span class="pl-s1">n1</span>[<span class="pl-s1">u</span>] <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC710" class="react-file-line html-div" data-testid="code-cell" data-line-number="710" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">n1</span>[<span class="pl-s1">u</span>] <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>) <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">0</span>] <span class="pl-c1">=</span> <span class="pl-en">log2</span>((<span class="pl-smi">double</span>)<span class="pl-s1">n1</span>[<span class="pl-s1">u</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC711" class="react-file-line html-div" data-testid="code-cell" data-line-number="711" style="position:relative">        <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>] <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">ulen</span>[<span class="pl-s1">u</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC712" class="react-file-line html-div" data-testid="code-cell" data-line-number="712" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC713" class="react-file-line html-div" data-testid="code-cell" data-line-number="713" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC714" class="react-file-line html-div" data-testid="code-cell" data-line-number="714" style="position:relative">    <span class="pl-smi">EntropyCtx</span> <span class="pl-s1">ec</span> <span class="pl-c1">=</span> { <span class="pl-s1">fwd1</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC715" class="react-file-line html-div" data-testid="code-cell" data-line-number="715" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">fwd1</span>, <span class="pl-s1">n_fwd1</span>, <span class="pl-s1">entropy_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">ec</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC716" class="react-file-line html-div" data-testid="code-cell" data-line-number="716" style="position:relative">    <span class="pl-smi">LeftCtx</span> <span class="pl-s1">lc</span> <span class="pl-c1">=</span> { <span class="pl-s1">rev1</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC717" class="react-file-line html-div" data-testid="code-cell" data-line-number="717" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">rev1</span>, <span class="pl-s1">n_fwd1</span>, <span class="pl-s1">left_entropy_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">lc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC718" class="react-file-line html-div" data-testid="code-cell" data-line-number="718" style="position:relative">    <span class="pl-smi">ConcCtx</span> <span class="pl-s1">cc1</span> <span class="pl-c1">=</span> { <span class="pl-s1">fwd1</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">8</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC719" class="react-file-line html-div" data-testid="code-cell" data-line-number="719" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">fwd1</span>, <span class="pl-s1">n_fwd1</span>, <span class="pl-s1">concentration_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">cc1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC720" class="react-file-line html-div" data-testid="code-cell" data-line-number="720" style="position:relative">    <span class="pl-smi">ConcCtx</span> <span class="pl-s1">cc2</span> <span class="pl-c1">=</span> { <span class="pl-s1">fwd2</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">9</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC721" class="react-file-line html-div" data-testid="code-cell" data-line-number="721" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">fwd2</span>, <span class="pl-s1">n_fwd2</span>, <span class="pl-s1">concentration_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">cc2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC722" class="react-file-line html-div" data-testid="code-cell" data-line-number="722" style="position:relative">    <span class="pl-smi">ConcCtx</span> <span class="pl-s1">cc4</span> <span class="pl-c1">=</span> { <span class="pl-s1">fwd4</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">10</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC723" class="react-file-line html-div" data-testid="code-cell" data-line-number="723" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">fwd4</span>, <span class="pl-s1">n_fwd4</span>, <span class="pl-s1">concentration_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">cc4</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC724" class="react-file-line html-div" data-testid="code-cell" data-line-number="724" style="position:relative">    <span class="pl-smi">RefineCtx</span> <span class="pl-s1">rc</span> <span class="pl-c1">=</span> { <span class="pl-s1">fwd1</span>, <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>, <span class="pl-c1">V</span> };</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC725" class="react-file-line html-div" data-testid="code-cell" data-line-number="725" style="position:relative">    <span class="pl-en">for_each_group</span>(<span class="pl-s1">fwd1</span>, <span class="pl-s1">n_fwd1</span>, <span class="pl-s1">refine_pass</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">rc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC726" class="react-file-line html-div" data-testid="code-cell" data-line-number="726" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC727" class="react-file-line html-div" data-testid="code-cell" data-line-number="727" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">fwd1</span>); <span class="pl-en">free</span>(<span class="pl-s1">fwd2</span>); <span class="pl-en">free</span>(<span class="pl-s1">fwd4</span>); <span class="pl-en">free</span>(<span class="pl-s1">rev1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC728" class="react-file-line html-div" data-testid="code-cell" data-line-number="728" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC729" class="react-file-line html-div" data-testid="code-cell" data-line-number="729" style="position:relative">    <span class="pl-c">/* z-score per dimension over alive units */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC730" class="react-file-line html-div" data-testid="code-cell" data-line-number="730" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">NDESC</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC731" class="react-file-line html-div" data-testid="code-cell" data-line-number="731" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">sum</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>; <span class="pl-smi">long</span> <span class="pl-s1">cnt</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC732" class="react-file-line html-div" data-testid="code-cell" data-line-number="732" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V</span>; <span class="pl-s1">u</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">d</span>.<span class="pl-c1">alive</span>[<span class="pl-s1">u</span>]) { <span class="pl-s1">sum</span> <span class="pl-c1">+=</span> <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>]; <span class="pl-s1">cnt</span><span class="pl-c1">++</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC733" class="react-file-line html-div" data-testid="code-cell" data-line-number="733" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">mean</span> <span class="pl-c1">=</span> <span class="pl-s1">cnt</span> ? <span class="pl-s1">sum</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">cnt</span> : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC734" class="react-file-line html-div" data-testid="code-cell" data-line-number="734" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">var</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC735" class="react-file-line html-div" data-testid="code-cell" data-line-number="735" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V</span>; <span class="pl-s1">u</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">d</span>.<span class="pl-c1">alive</span>[<span class="pl-s1">u</span>]) { <span class="pl-smi">double</span> <span class="pl-s1">diff</span> <span class="pl-c1">=</span> <span class="pl-s1">d</span>.<span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>]<span class="pl-c1">-</span><span class="pl-s1">mean</span>; <span class="pl-s1">var</span> <span class="pl-c1">+=</span> <span class="pl-s1">diff</span><span class="pl-c1">*</span><span class="pl-s1">diff</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC736" class="react-file-line html-div" data-testid="code-cell" data-line-number="736" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">std</span> <span class="pl-c1">=</span> <span class="pl-s1">cnt</span> ? <span class="pl-en">sqrt</span>(<span class="pl-s1">var</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">cnt</span>) : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC737" class="react-file-line html-div" data-testid="code-cell" data-line-number="737" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">u</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">u</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V</span>; <span class="pl-s1">u</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC738" class="react-file-line html-div" data-testid="code-cell" data-line-number="738" style="position:relative">            <span class="pl-k">if</span> (!<span class="pl-s1">d</span>.<span class="pl-c1">alive</span>[<span class="pl-s1">u</span>]) <span class="pl-k">continue</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC739" class="react-file-line html-div" data-testid="code-cell" data-line-number="739" style="position:relative">            <span class="pl-s1">d</span>.<span class="pl-c1">z</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>] <span class="pl-c1">=</span> (<span class="pl-s1">std</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">1e-12</span>) ? (<span class="pl-s1">d</span>.<span class="pl-c1">raw</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>]<span class="pl-c1">-</span><span class="pl-s1">mean</span>)/<span class="pl-s1">std</span> : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC740" class="react-file-line html-div" data-testid="code-cell" data-line-number="740" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC741" class="react-file-line html-div" data-testid="code-cell" data-line-number="741" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC742" class="react-file-line html-div" data-testid="code-cell" data-line-number="742" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">d</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC743" class="react-file-line html-div" data-testid="code-cell" data-line-number="743" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC744" class="react-file-line html-div" data-testid="code-cell" data-line-number="744" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC745" class="react-file-line html-div" data-testid="code-cell" data-line-number="745" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_descriptors</span>(<span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">d</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC746" class="react-file-line html-div" data-testid="code-cell" data-line-number="746" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">d</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>); <span class="pl-en">free</span>(<span class="pl-s1">d</span><span class="pl-c1">-&gt;</span><span class="pl-c1">raw</span>); <span class="pl-en">free</span>(<span class="pl-s1">d</span><span class="pl-c1">-&gt;</span><span class="pl-c1">z</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC747" class="react-file-line html-div" data-testid="code-cell" data-line-number="747" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC748" class="react-file-line html-div" data-testid="code-cell" data-line-number="748" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC749" class="react-file-line html-div" data-testid="code-cell" data-line-number="749" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">zdist</span>(<span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">d</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">d2</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">v</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC750" class="react-file-line html-div" data-testid="code-cell" data-line-number="750" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">s</span> <span class="pl-c1">=</span> <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC751" class="react-file-line html-div" data-testid="code-cell" data-line-number="751" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">NDESC</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC752" class="react-file-line html-div" data-testid="code-cell" data-line-number="752" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">diff</span> <span class="pl-c1">=</span> <span class="pl-s1">d</span><span class="pl-c1">-&gt;</span><span class="pl-c1">z</span>[<span class="pl-s1">u</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>] <span class="pl-c1">-</span> <span class="pl-s1">d2</span><span class="pl-c1">-&gt;</span><span class="pl-c1">z</span>[<span class="pl-s1">v</span><span class="pl-c1">*</span><span class="pl-c1">NDESC</span><span class="pl-c1">+</span><span class="pl-s1">k</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC753" class="react-file-line html-div" data-testid="code-cell" data-line-number="753" style="position:relative">        <span class="pl-s1">s</span> <span class="pl-c1">+=</span> <span class="pl-s1">diff</span><span class="pl-c1">*</span><span class="pl-s1">diff</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC754" class="react-file-line html-div" data-testid="code-cell" data-line-number="754" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC755" class="react-file-line html-div" data-testid="code-cell" data-line-number="755" style="position:relative">    <span class="pl-k">return</span> <span class="pl-en">sqrt</span>(<span class="pl-s1">s</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC756" class="react-file-line html-div" data-testid="code-cell" data-line-number="756" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC757" class="react-file-line html-div" data-testid="code-cell" data-line-number="757" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC758" class="react-file-line html-div" data-testid="code-cell" data-line-number="758" style="position:relative"><span class="pl-c">/* ---------------- unit byte-strings (for the oracle&#039;s true map) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC759" class="react-file-line html-div" data-testid="code-cell" data-line-number="759" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC760" class="react-file-line html-div" data-testid="code-cell" data-line-number="760" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-c1">data</span>; <span class="pl-smi">int</span> <span class="pl-c1">len</span>; } <span class="pl-smi">ByteStr</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC761" class="react-file-line html-div" data-testid="code-cell" data-line-number="761" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC762" class="react-file-line html-div" data-testid="code-cell" data-line-number="762" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">ByteStr</span> <span class="pl-c1">*</span><span class="pl-en">build_bytestrings</span>(<span class="pl-k">const</span> <span class="pl-smi">Merge</span> <span class="pl-c1">*</span><span class="pl-s1">merges</span>, <span class="pl-smi">int</span> <span class="pl-s1">n_merges</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC763" class="react-file-line html-div" data-testid="code-cell" data-line-number="763" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-c1">V</span> <span class="pl-c1">=</span> <span class="pl-c1">256</span> <span class="pl-c1">+</span> <span class="pl-s1">n_merges</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC764" class="react-file-line html-div" data-testid="code-cell" data-line-number="764" style="position:relative">    <span class="pl-smi">ByteStr</span> <span class="pl-c1">*</span><span class="pl-s1">bs</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">ByteStr</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC765" class="react-file-line html-div" data-testid="code-cell" data-line-number="765" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>(<span class="pl-c1">1</span>); <span class="pl-s1">bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span>[<span class="pl-c1">0</span>] <span class="pl-c1">=</span> (<span class="pl-smi">unsigned <span class="pl-smi">char</span></span>)<span class="pl-s1">i</span>; <span class="pl-s1">bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">len</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC766" class="react-file-line html-div" data-testid="code-cell" data-line-number="766" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n_merges</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC767" class="react-file-line html-div" data-testid="code-cell" data-line-number="767" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">l</span> <span class="pl-c1">=</span> <span class="pl-s1">merges</span>[<span class="pl-s1">i</span>].<span class="pl-c1">l</span>, <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-s1">merges</span>[<span class="pl-s1">i</span>].<span class="pl-c1">r</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC768" class="react-file-line html-div" data-testid="code-cell" data-line-number="768" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">len</span> <span class="pl-c1">=</span> <span class="pl-s1">bs</span>[<span class="pl-s1">l</span>].<span class="pl-c1">len</span> <span class="pl-c1">+</span> <span class="pl-s1">bs</span>[<span class="pl-s1">r</span>].<span class="pl-c1">len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC769" class="react-file-line html-div" data-testid="code-cell" data-line-number="769" style="position:relative">        <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">d</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">len</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC770" class="react-file-line html-div" data-testid="code-cell" data-line-number="770" style="position:relative">        <span class="pl-en">memcpy</span>(<span class="pl-s1">d</span>, <span class="pl-s1">bs</span>[<span class="pl-s1">l</span>].<span class="pl-c1">data</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">bs</span>[<span class="pl-s1">l</span>].<span class="pl-c1">len</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC771" class="react-file-line html-div" data-testid="code-cell" data-line-number="771" style="position:relative">        <span class="pl-en">memcpy</span>(<span class="pl-s1">d</span> <span class="pl-c1">+</span> <span class="pl-s1">bs</span>[<span class="pl-s1">l</span>].<span class="pl-c1">len</span>, <span class="pl-s1">bs</span>[<span class="pl-s1">r</span>].<span class="pl-c1">data</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">bs</span>[<span class="pl-s1">r</span>].<span class="pl-c1">len</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC772" class="react-file-line html-div" data-testid="code-cell" data-line-number="772" style="position:relative">        <span class="pl-s1">bs</span>[<span class="pl-c1">256</span><span class="pl-c1">+</span><span class="pl-s1">i</span>].<span class="pl-c1">data</span> <span class="pl-c1">=</span> <span class="pl-s1">d</span>; <span class="pl-s1">bs</span>[<span class="pl-c1">256</span><span class="pl-c1">+</span><span class="pl-s1">i</span>].<span class="pl-c1">len</span> <span class="pl-c1">=</span> <span class="pl-s1">len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC773" class="react-file-line html-div" data-testid="code-cell" data-line-number="773" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC774" class="react-file-line html-div" data-testid="code-cell" data-line-number="774" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">bs</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC775" class="react-file-line html-div" data-testid="code-cell" data-line-number="775" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC776" class="react-file-line html-div" data-testid="code-cell" data-line-number="776" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_bytestrings</span>(<span class="pl-smi">ByteStr</span> <span class="pl-c1">*</span><span class="pl-s1">bs</span>, <span class="pl-smi">long</span> <span class="pl-c1">V</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC777" class="react-file-line html-div" data-testid="code-cell" data-line-number="777" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-en">free</span>(<span class="pl-s1">bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC778" class="react-file-line html-div" data-testid="code-cell" data-line-number="778" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">bs</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC779" class="react-file-line html-div" data-testid="code-cell" data-line-number="779" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC780" class="react-file-line html-div" data-testid="code-cell" data-line-number="780" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC781" class="react-file-line html-div" data-testid="code-cell" data-line-number="781" style="position:relative"><span class="pl-c">/* ---------------- oracle true-map (byte permutation / word swap) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC782" class="react-file-line html-div" data-testid="code-cell" data-line-number="782" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC783" class="react-file-line html-div" data-testid="code-cell" data-line-number="783" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">enum</span> { <span class="pl-c1">XFORM_NONE</span>, <span class="pl-c1">XFORM_CIPHER</span>, <span class="pl-c1">XFORM_FF</span> } <span class="pl-smi">XformKind</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC784" class="react-file-line html-div" data-testid="code-cell" data-line-number="784" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC785" class="react-file-line html-div" data-testid="code-cell" data-line-number="785" style="position:relative">    <span class="pl-smi">XformKind</span> <span class="pl-c1">kind</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC786" class="react-file-line html-div" data-testid="code-cell" data-line-number="786" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">cipher_perm</span>[<span class="pl-c1">256</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC787" class="react-file-line html-div" data-testid="code-cell" data-line-number="787" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">rank_word</span>[<span class="pl-c1">16</span>][<span class="pl-c1">32</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC788" class="react-file-line html-div" data-testid="code-cell" data-line-number="788" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-c1">rank_len</span>[<span class="pl-c1">16</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC789" class="react-file-line html-div" data-testid="code-cell" data-line-number="789" style="position:relative">} <span class="pl-smi">OracleXform</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC790" class="react-file-line html-div" data-testid="code-cell" data-line-number="790" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC791" class="react-file-line html-div" data-testid="code-cell" data-line-number="791" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">xform_apply</span>(<span class="pl-k">const</span> <span class="pl-smi">OracleXform</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">in</span>, <span class="pl-smi">int</span> <span class="pl-s1">inlen</span>, <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">out</span>, <span class="pl-smi">int</span> <span class="pl-c1">*</span><span class="pl-s1">outlen</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC792" class="react-file-line html-div" data-testid="code-cell" data-line-number="792" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">kind</span> <span class="pl-c1">==</span> <span class="pl-c1">XFORM_CIPHER</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC793" class="react-file-line html-div" data-testid="code-cell" data-line-number="793" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">inlen</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">out</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">cipher_perm</span>[<span class="pl-s1">in</span>[<span class="pl-s1">i</span>]];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC794" class="react-file-line html-div" data-testid="code-cell" data-line-number="794" style="position:relative">        <span class="pl-c1">*</span><span class="pl-s1">outlen</span> <span class="pl-c1">=</span> <span class="pl-s1">inlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC795" class="react-file-line html-div" data-testid="code-cell" data-line-number="795" style="position:relative">    } <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">kind</span> <span class="pl-c1">==</span> <span class="pl-c1">XFORM_FF</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC796" class="react-file-line html-div" data-testid="code-cell" data-line-number="796" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">matched</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC797" class="react-file-line html-div" data-testid="code-cell" data-line-number="797" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">inlen</span> &lt;= <span class="pl-c1">31</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC798" class="react-file-line html-div" data-testid="code-cell" data-line-number="798" style="position:relative">            <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">16</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC799" class="react-file-line html-div" data-testid="code-cell" data-line-number="799" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rank_len</span>[<span class="pl-s1">k</span>] <span class="pl-c1">==</span> <span class="pl-s1">inlen</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-en">memcmp</span>(<span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rank_word</span>[<span class="pl-s1">k</span>], <span class="pl-s1">in</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">inlen</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>) { <span class="pl-s1">matched</span> <span class="pl-c1">=</span> <span class="pl-s1">k</span>; <span class="pl-k">break</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC800" class="react-file-line html-div" data-testid="code-cell" data-line-number="800" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC801" class="react-file-line html-div" data-testid="code-cell" data-line-number="801" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">matched</span> &gt;= <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC802" class="react-file-line html-div" data-testid="code-cell" data-line-number="802" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">partner</span> <span class="pl-c1">=</span> <span class="pl-s1">matched</span> ^ <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC803" class="react-file-line html-div" data-testid="code-cell" data-line-number="803" style="position:relative">            <span class="pl-en">memcpy</span>(<span class="pl-s1">out</span>, <span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rank_word</span>[<span class="pl-s1">partner</span>], (<span class="pl-smi">size_t</span>)<span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rank_len</span>[<span class="pl-s1">partner</span>]);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC804" class="react-file-line html-div" data-testid="code-cell" data-line-number="804" style="position:relative">            <span class="pl-c1">*</span><span class="pl-s1">outlen</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span><span class="pl-c1">-&gt;</span><span class="pl-c1">rank_len</span>[<span class="pl-s1">partner</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC805" class="react-file-line html-div" data-testid="code-cell" data-line-number="805" style="position:relative">        } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC806" class="react-file-line html-div" data-testid="code-cell" data-line-number="806" style="position:relative">            <span class="pl-en">memcpy</span>(<span class="pl-s1">out</span>, <span class="pl-s1">in</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">inlen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC807" class="react-file-line html-div" data-testid="code-cell" data-line-number="807" style="position:relative">            <span class="pl-c1">*</span><span class="pl-s1">outlen</span> <span class="pl-c1">=</span> <span class="pl-s1">inlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC808" class="react-file-line html-div" data-testid="code-cell" data-line-number="808" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC809" class="react-file-line html-div" data-testid="code-cell" data-line-number="809" style="position:relative">    } <span class="pl-k">else</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC810" class="react-file-line html-div" data-testid="code-cell" data-line-number="810" style="position:relative">        <span class="pl-en">memcpy</span>(<span class="pl-s1">out</span>, <span class="pl-s1">in</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">inlen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC811" class="react-file-line html-div" data-testid="code-cell" data-line-number="811" style="position:relative">        <span class="pl-c1">*</span><span class="pl-s1">outlen</span> <span class="pl-c1">=</span> <span class="pl-s1">inlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC812" class="react-file-line html-div" data-testid="code-cell" data-line-number="812" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC813" class="react-file-line html-div" data-testid="code-cell" data-line-number="813" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC814" class="react-file-line html-div" data-testid="code-cell" data-line-number="814" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC815" class="react-file-line html-div" data-testid="code-cell" data-line-number="815" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-k">const</span> <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-c1">data</span>; <span class="pl-smi">int</span> <span class="pl-c1">len</span>; <span class="pl-smi">int32_t</span> <span class="pl-c1">id</span>; } <span class="pl-smi">BSEntry</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC816" class="react-file-line html-div" data-testid="code-cell" data-line-number="816" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">cmp_bsentry</span>(<span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">y</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC817" class="react-file-line html-div" data-testid="code-cell" data-line-number="817" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">BSEntry</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>, <span class="pl-c1">*</span><span class="pl-s1">q</span> <span class="pl-c1">=</span> <span class="pl-s1">y</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC818" class="react-file-line html-div" data-testid="code-cell" data-line-number="818" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">minlen</span> <span class="pl-c1">=</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> ? <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> : <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC819" class="react-file-line html-div" data-testid="code-cell" data-line-number="819" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">minlen</span> ? <span class="pl-en">memcmp</span>(<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">data</span>, <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">data</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">minlen</span>) : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC820" class="react-file-line html-div" data-testid="code-cell" data-line-number="820" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">c</span> <span class="pl-c1">!=</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-s1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC821" class="react-file-line html-div" data-testid="code-cell" data-line-number="821" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> <span class="pl-c1">-</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC822" class="react-file-line html-div" data-testid="code-cell" data-line-number="822" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC823" class="react-file-line html-div" data-testid="code-cell" data-line-number="823" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC824" class="react-file-line html-div" data-testid="code-cell" data-line-number="824" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-c1">map</span>; <span class="pl-smi">long</span> <span class="pl-c1">V_A</span>; } <span class="pl-smi">OracleMap</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC825" class="react-file-line html-div" data-testid="code-cell" data-line-number="825" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC826" class="react-file-line html-div" data-testid="code-cell" data-line-number="826" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">OracleMap</span> <span class="pl-en">build_oracle_map</span>(<span class="pl-k">const</span> <span class="pl-smi">ByteStr</span> <span class="pl-c1">*</span><span class="pl-s1">A_bs</span>, <span class="pl-smi">long</span> <span class="pl-c1">V_A</span>, <span class="pl-k">const</span> <span class="pl-smi">ByteStr</span> <span class="pl-c1">*</span><span class="pl-s1">dest_bs</span>, <span class="pl-smi">long</span> <span class="pl-s1">V_dest</span>, <span class="pl-k">const</span> <span class="pl-smi">OracleXform</span> <span class="pl-c1">*</span><span class="pl-s1">xform</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC827" class="react-file-line html-div" data-testid="code-cell" data-line-number="827" style="position:relative">    <span class="pl-smi">OracleMap</span> <span class="pl-s1">om</span>; <span class="pl-s1">om</span>.<span class="pl-c1">V_A</span> <span class="pl-c1">=</span> <span class="pl-c1">V_A</span>; <span class="pl-s1">om</span>.<span class="pl-c1">map</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-c1">V_A</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC828" class="react-file-line html-div" data-testid="code-cell" data-line-number="828" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V_A</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">om</span>.<span class="pl-c1">map</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC829" class="react-file-line html-div" data-testid="code-cell" data-line-number="829" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">xform</span><span class="pl-c1">-&gt;</span><span class="pl-c1">kind</span> <span class="pl-c1">==</span> <span class="pl-c1">XFORM_NONE</span>) <span class="pl-k">return</span> <span class="pl-s1">om</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC830" class="react-file-line html-div" data-testid="code-cell" data-line-number="830" style="position:relative">    <span class="pl-smi">BSEntry</span> <span class="pl-c1">*</span><span class="pl-s1">entries</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">V_dest</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">BSEntry</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC831" class="react-file-line html-div" data-testid="code-cell" data-line-number="831" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">V_dest</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) { <span class="pl-s1">entries</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span> <span class="pl-c1">=</span> <span class="pl-s1">dest_bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span>; <span class="pl-s1">entries</span>[<span class="pl-s1">i</span>].<span class="pl-c1">len</span> <span class="pl-c1">=</span> <span class="pl-s1">dest_bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">len</span>; <span class="pl-s1">entries</span>[<span class="pl-s1">i</span>].<span class="pl-c1">id</span> <span class="pl-c1">=</span> (<span class="pl-smi">int32_t</span>)<span class="pl-s1">i</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC832" class="react-file-line html-div" data-testid="code-cell" data-line-number="832" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">entries</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">V_dest</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">BSEntry</span>), <span class="pl-s1">cmp_bsentry</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC833" class="react-file-line html-div" data-testid="code-cell" data-line-number="833" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-s1">buf</span>[<span class="pl-c1">8192</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC834" class="react-file-line html-div" data-testid="code-cell" data-line-number="834" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V_A</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC835" class="react-file-line html-div" data-testid="code-cell" data-line-number="835" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">A_bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">len</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">8000</span>) <span class="pl-k">continue</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC836" class="react-file-line html-div" data-testid="code-cell" data-line-number="836" style="position:relative">        <span class="pl-smi">int</span> <span class="pl-s1">outlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC837" class="react-file-line html-div" data-testid="code-cell" data-line-number="837" style="position:relative">        <span class="pl-en">xform_apply</span>(<span class="pl-s1">xform</span>, <span class="pl-s1">A_bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">data</span>, <span class="pl-s1">A_bs</span>[<span class="pl-s1">i</span>].<span class="pl-c1">len</span>, <span class="pl-s1">buf</span>, <span class="pl-c1">&amp;</span><span class="pl-s1">outlen</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC838" class="react-file-line html-div" data-testid="code-cell" data-line-number="838" style="position:relative">        <span class="pl-smi">long</span> <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">V_dest</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>, <span class="pl-s1">found</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC839" class="react-file-line html-div" data-testid="code-cell" data-line-number="839" style="position:relative">        <span class="pl-k">while</span> (<span class="pl-s1">lo</span> &lt;= <span class="pl-s1">hi</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC840" class="react-file-line html-div" data-testid="code-cell" data-line-number="840" style="position:relative">            <span class="pl-smi">long</span> <span class="pl-s1">mid</span> <span class="pl-c1">=</span> (<span class="pl-s1">lo</span> <span class="pl-c1">+</span> <span class="pl-s1">hi</span>) / <span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC841" class="react-file-line html-div" data-testid="code-cell" data-line-number="841" style="position:relative">            <span class="pl-smi">BSEntry</span> <span class="pl-c1">*</span><span class="pl-s1">e</span> <span class="pl-c1">=</span> <span class="pl-c1">&amp;</span><span class="pl-s1">entries</span>[<span class="pl-s1">mid</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC842" class="react-file-line html-div" data-testid="code-cell" data-line-number="842" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">minlen</span> <span class="pl-c1">=</span> <span class="pl-s1">e</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">outlen</span> ? <span class="pl-s1">e</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> : <span class="pl-s1">outlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC843" class="react-file-line html-div" data-testid="code-cell" data-line-number="843" style="position:relative">            <span class="pl-smi">int</span> <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">minlen</span> ? <span class="pl-en">memcmp</span>(<span class="pl-s1">e</span><span class="pl-c1">-&gt;</span><span class="pl-c1">data</span>, <span class="pl-s1">buf</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">minlen</span>) : <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC844" class="react-file-line html-div" data-testid="code-cell" data-line-number="844" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">c</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">e</span><span class="pl-c1">-&gt;</span><span class="pl-c1">len</span> <span class="pl-c1">-</span> <span class="pl-s1">outlen</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC845" class="react-file-line html-div" data-testid="code-cell" data-line-number="845" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">c</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) { <span class="pl-s1">found</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span>; <span class="pl-k">break</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC846" class="react-file-line html-div" data-testid="code-cell" data-line-number="846" style="position:relative">            <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) <span class="pl-s1">lo</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span> <span class="pl-c1">+</span> <span class="pl-c1">1</span>; <span class="pl-k">else</span> <span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-s1">mid</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC847" class="react-file-line html-div" data-testid="code-cell" data-line-number="847" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC848" class="react-file-line html-div" data-testid="code-cell" data-line-number="848" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">found</span> &gt;= <span class="pl-c1">0</span>) <span class="pl-s1">om</span>.<span class="pl-c1">map</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-s1">entries</span>[<span class="pl-s1">found</span>].<span class="pl-c1">id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC849" class="react-file-line html-div" data-testid="code-cell" data-line-number="849" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC850" class="react-file-line html-div" data-testid="code-cell" data-line-number="850" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">entries</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC851" class="react-file-line html-div" data-testid="code-cell" data-line-number="851" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">om</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC852" class="react-file-line html-div" data-testid="code-cell" data-line-number="852" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC853" class="react-file-line html-div" data-testid="code-cell" data-line-number="853" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_oracle_map</span>(<span class="pl-smi">OracleMap</span> <span class="pl-c1">*</span><span class="pl-s1">m</span>) { <span class="pl-en">free</span>(<span class="pl-s1">m</span><span class="pl-c1">-&gt;</span><span class="pl-c1">map</span>); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC854" class="react-file-line html-div" data-testid="code-cell" data-line-number="854" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC855" class="react-file-line html-div" data-testid="code-cell" data-line-number="855" style="position:relative"><span class="pl-c">/* ---------------- greedy top-256 alignment map ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC856" class="react-file-line html-div" data-testid="code-cell" data-line-number="856" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC857" class="react-file-line html-div" data-testid="code-cell" data-line-number="857" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-c1">dest_to_A</span>; <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-c1">A_to_dest</span>; <span class="pl-smi">long</span> <span class="pl-c1">V_dest</span>, <span class="pl-c1">V_A</span>; } <span class="pl-smi">AlignMap</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC858" class="react-file-line html-div" data-testid="code-cell" data-line-number="858" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC859" class="react-file-line html-div" data-testid="code-cell" data-line-number="859" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">int32_t</span> <span class="pl-c1">id</span>; <span class="pl-smi">long</span> <span class="pl-c1">freq</span>; } <span class="pl-smi">FreqItem</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC860" class="react-file-line html-div" data-testid="code-cell" data-line-number="860" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">cmp_freq_desc</span>(<span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">y</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC861" class="react-file-line html-div" data-testid="code-cell" data-line-number="861" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">FreqItem</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>, <span class="pl-c1">*</span><span class="pl-s1">q</span> <span class="pl-c1">=</span> <span class="pl-s1">y</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC862" class="react-file-line html-div" data-testid="code-cell" data-line-number="862" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">freq</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">freq</span>) <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">freq</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">freq</span> ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC863" class="react-file-line html-div" data-testid="code-cell" data-line-number="863" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">id</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">id</span> ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC864" class="react-file-line html-div" data-testid="code-cell" data-line-number="864" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC865" class="react-file-line html-div" data-testid="code-cell" data-line-number="865" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> { <span class="pl-smi">double</span> <span class="pl-c1">dist</span>; <span class="pl-smi">int32_t</span> <span class="pl-c1">di</span>, <span class="pl-c1">ai</span>; } <span class="pl-smi">CandPair</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC866" class="react-file-line html-div" data-testid="code-cell" data-line-number="866" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">cmp_candpair</span>(<span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">x</span>, <span class="pl-k">const</span> <span class="pl-smi">void</span> <span class="pl-c1">*</span><span class="pl-s1">y</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC867" class="react-file-line html-div" data-testid="code-cell" data-line-number="867" style="position:relative">    <span class="pl-k">const</span> <span class="pl-smi">CandPair</span> <span class="pl-c1">*</span><span class="pl-s1">p</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span>, <span class="pl-c1">*</span><span class="pl-s1">q</span> <span class="pl-c1">=</span> <span class="pl-s1">y</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC868" class="react-file-line html-div" data-testid="code-cell" data-line-number="868" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dist</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dist</span>) <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dist</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dist</span> ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC869" class="react-file-line html-div" data-testid="code-cell" data-line-number="869" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">ai</span> <span class="pl-c1">!=</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">ai</span>) <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">ai</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">ai</span> ? <span class="pl-c1">-1</span> : <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC870" class="react-file-line html-div" data-testid="code-cell" data-line-number="870" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">di</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">di</span> ? <span class="pl-c1">-1</span> : (<span class="pl-s1">p</span><span class="pl-c1">-&gt;</span><span class="pl-c1">di</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">q</span><span class="pl-c1">-&gt;</span><span class="pl-c1">di</span> ? <span class="pl-c1">1</span> : <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC871" class="react-file-line html-div" data-testid="code-cell" data-line-number="871" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC872" class="react-file-line html-div" data-testid="code-cell" data-line-number="872" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC873" class="react-file-line html-div" data-testid="code-cell" data-line-number="873" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">AlignMap</span> <span class="pl-en">build_align_map</span>(<span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">dd</span>, <span class="pl-k">const</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">dest_n1</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC874" class="react-file-line html-div" data-testid="code-cell" data-line-number="874" style="position:relative">                                 <span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">ad</span>, <span class="pl-k">const</span> <span class="pl-smi">long</span> <span class="pl-c1">*</span><span class="pl-s1">a_n1</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC875" class="react-file-line html-div" data-testid="code-cell" data-line-number="875" style="position:relative">                                 <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">shuf</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC876" class="react-file-line html-div" data-testid="code-cell" data-line-number="876" style="position:relative">    <span class="pl-smi">AlignMap</span> <span class="pl-s1">am</span>; <span class="pl-s1">am</span>.<span class="pl-c1">V_dest</span> <span class="pl-c1">=</span> <span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>; <span class="pl-s1">am</span>.<span class="pl-c1">V_A</span> <span class="pl-c1">=</span> <span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC877" class="react-file-line html-div" data-testid="code-cell" data-line-number="877" style="position:relative">    <span class="pl-s1">am</span>.<span class="pl-c1">dest_to_A</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC878" class="react-file-line html-div" data-testid="code-cell" data-line-number="878" style="position:relative">    <span class="pl-s1">am</span>.<span class="pl-c1">A_to_dest</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-smi">int32_t</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC879" class="react-file-line html-div" data-testid="code-cell" data-line-number="879" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">am</span>.<span class="pl-c1">dest_to_A</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC880" class="react-file-line html-div" data-testid="code-cell" data-line-number="880" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-s1">am</span>.<span class="pl-c1">A_to_dest</span>[<span class="pl-s1">i</span>] <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC881" class="react-file-line html-div" data-testid="code-cell" data-line-number="881" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC882" class="react-file-line html-div" data-testid="code-cell" data-line-number="882" style="position:relative">    <span class="pl-smi">FreqItem</span> <span class="pl-c1">*</span><span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">FreqItem</span>)); <span class="pl-smi">long</span> <span class="pl-s1">ndf</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC883" class="react-file-line html-div" data-testid="code-cell" data-line-number="883" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>[<span class="pl-s1">i</span>]) { <span class="pl-s1">df</span>[<span class="pl-s1">ndf</span>].<span class="pl-c1">id</span> <span class="pl-c1">=</span> (<span class="pl-smi">int32_t</span>)<span class="pl-s1">i</span>; <span class="pl-s1">df</span>[<span class="pl-s1">ndf</span>].<span class="pl-c1">freq</span> <span class="pl-c1">=</span> <span class="pl-s1">dest_n1</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">ndf</span><span class="pl-c1">++</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC884" class="react-file-line html-div" data-testid="code-cell" data-line-number="884" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">df</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">ndf</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">FreqItem</span>), <span class="pl-s1">cmp_freq_desc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC885" class="react-file-line html-div" data-testid="code-cell" data-line-number="885" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">topD</span> <span class="pl-c1">=</span> <span class="pl-s1">ndf</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span> ? <span class="pl-s1">ndf</span> : <span class="pl-c1">256</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC886" class="react-file-line html-div" data-testid="code-cell" data-line-number="886" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC887" class="react-file-line html-div" data-testid="code-cell" data-line-number="887" style="position:relative">    <span class="pl-smi">FreqItem</span> <span class="pl-c1">*</span><span class="pl-s1">af</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">FreqItem</span>)); <span class="pl-smi">long</span> <span class="pl-s1">naf</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC888" class="react-file-line html-div" data-testid="code-cell" data-line-number="888" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>[<span class="pl-s1">i</span>]) { <span class="pl-s1">af</span>[<span class="pl-s1">naf</span>].<span class="pl-c1">id</span> <span class="pl-c1">=</span> (<span class="pl-smi">int32_t</span>)<span class="pl-s1">i</span>; <span class="pl-s1">af</span>[<span class="pl-s1">naf</span>].<span class="pl-c1">freq</span> <span class="pl-c1">=</span> <span class="pl-s1">a_n1</span>[<span class="pl-s1">i</span>]; <span class="pl-s1">naf</span><span class="pl-c1">++</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC889" class="react-file-line html-div" data-testid="code-cell" data-line-number="889" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">af</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">naf</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">FreqItem</span>), <span class="pl-s1">cmp_freq_desc</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC890" class="react-file-line html-div" data-testid="code-cell" data-line-number="890" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">topA</span> <span class="pl-c1">=</span> <span class="pl-s1">naf</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">256</span> ? <span class="pl-s1">naf</span> : <span class="pl-c1">256</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC891" class="react-file-line html-div" data-testid="code-cell" data-line-number="891" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC892" class="react-file-line html-div" data-testid="code-cell" data-line-number="892" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">cap_pairs</span> <span class="pl-c1">=</span> <span class="pl-s1">topD</span> <span class="pl-c1">*</span> <span class="pl-s1">topA</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC893" class="react-file-line html-div" data-testid="code-cell" data-line-number="893" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">cap_pairs</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">1</span>) <span class="pl-s1">cap_pairs</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC894" class="react-file-line html-div" data-testid="code-cell" data-line-number="894" style="position:relative">    <span class="pl-smi">CandPair</span> <span class="pl-c1">*</span><span class="pl-s1">pairs</span> <span class="pl-c1">=</span> <span class="pl-en">malloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">cap_pairs</span> <span class="pl-c1">*</span> <span class="pl-k">sizeof</span>(<span class="pl-s1">CandPair</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC895" class="react-file-line html-div" data-testid="code-cell" data-line-number="895" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">pi</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC896" class="react-file-line html-div" data-testid="code-cell" data-line-number="896" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">topA</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC897" class="react-file-line html-div" data-testid="code-cell" data-line-number="897" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">a</span> <span class="pl-c1">=</span> <span class="pl-s1">af</span>[<span class="pl-s1">i</span>].<span class="pl-c1">id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC898" class="react-file-line html-div" data-testid="code-cell" data-line-number="898" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">eff_a</span> <span class="pl-c1">=</span> <span class="pl-s1">shuf</span> ? <span class="pl-s1">shuf</span>[<span class="pl-s1">a</span>] : <span class="pl-s1">a</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC899" class="react-file-line html-div" data-testid="code-cell" data-line-number="899" style="position:relative">        <span class="pl-k">if</span> (!<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>[<span class="pl-s1">eff_a</span>]) <span class="pl-k">continue</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC900" class="react-file-line html-div" data-testid="code-cell" data-line-number="900" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">j</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">topD</span>; <span class="pl-s1">j</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC901" class="react-file-line html-div" data-testid="code-cell" data-line-number="901" style="position:relative">            <span class="pl-smi">int32_t</span> <span class="pl-s1">di</span> <span class="pl-c1">=</span> <span class="pl-s1">df</span>[<span class="pl-s1">j</span>].<span class="pl-c1">id</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC902" class="react-file-line html-div" data-testid="code-cell" data-line-number="902" style="position:relative">            <span class="pl-s1">pairs</span>[<span class="pl-s1">pi</span>].<span class="pl-c1">dist</span> <span class="pl-c1">=</span> <span class="pl-en">zdist</span>(<span class="pl-s1">dd</span>, <span class="pl-s1">di</span>, <span class="pl-s1">ad</span>, <span class="pl-s1">eff_a</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC903" class="react-file-line html-div" data-testid="code-cell" data-line-number="903" style="position:relative">            <span class="pl-s1">pairs</span>[<span class="pl-s1">pi</span>].<span class="pl-c1">di</span> <span class="pl-c1">=</span> <span class="pl-s1">di</span>; <span class="pl-s1">pairs</span>[<span class="pl-s1">pi</span>].<span class="pl-c1">ai</span> <span class="pl-c1">=</span> <span class="pl-s1">a</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC904" class="react-file-line html-div" data-testid="code-cell" data-line-number="904" style="position:relative">            <span class="pl-s1">pi</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC905" class="react-file-line html-div" data-testid="code-cell" data-line-number="905" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC906" class="react-file-line html-div" data-testid="code-cell" data-line-number="906" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC907" class="react-file-line html-div" data-testid="code-cell" data-line-number="907" style="position:relative">    <span class="pl-en">qsort</span>(<span class="pl-s1">pairs</span>, (<span class="pl-smi">size_t</span>)<span class="pl-s1">pi</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">CandPair</span>), <span class="pl-s1">cmp_candpair</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC908" class="react-file-line html-div" data-testid="code-cell" data-line-number="908" style="position:relative">    <span class="pl-smi">unsigned <span class="pl-smi">char</span></span> <span class="pl-c1">*</span><span class="pl-s1">matchedD</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>, <span class="pl-c1">1</span>), <span class="pl-c1">*</span><span class="pl-s1">matchedA</span> <span class="pl-c1">=</span> <span class="pl-en">calloc</span>((<span class="pl-smi">size_t</span>)<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span>, <span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC909" class="react-file-line html-div" data-testid="code-cell" data-line-number="909" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">pi</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC910" class="react-file-line html-div" data-testid="code-cell" data-line-number="910" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">dist</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">2.0</span>) <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC911" class="react-file-line html-div" data-testid="code-cell" data-line-number="911" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">matchedD</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">di</span>] <span class="pl-c1">||</span> <span class="pl-s1">matchedA</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">ai</span>]) <span class="pl-k">continue</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC912" class="react-file-line html-div" data-testid="code-cell" data-line-number="912" style="position:relative">        <span class="pl-s1">matchedD</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">di</span>] <span class="pl-c1">=</span> <span class="pl-c1">1</span>; <span class="pl-s1">matchedA</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">ai</span>] <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC913" class="react-file-line html-div" data-testid="code-cell" data-line-number="913" style="position:relative">        <span class="pl-s1">am</span>.<span class="pl-c1">dest_to_A</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">di</span>] <span class="pl-c1">=</span> <span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">ai</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC914" class="react-file-line html-div" data-testid="code-cell" data-line-number="914" style="position:relative">        <span class="pl-s1">am</span>.<span class="pl-c1">A_to_dest</span>[<span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">ai</span>] <span class="pl-c1">=</span> <span class="pl-s1">pairs</span>[<span class="pl-s1">k</span>].<span class="pl-c1">di</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC915" class="react-file-line html-div" data-testid="code-cell" data-line-number="915" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC916" class="react-file-line html-div" data-testid="code-cell" data-line-number="916" style="position:relative">    <span class="pl-en">free</span>(<span class="pl-s1">matchedD</span>); <span class="pl-en">free</span>(<span class="pl-s1">matchedA</span>); <span class="pl-en">free</span>(<span class="pl-s1">pairs</span>); <span class="pl-en">free</span>(<span class="pl-s1">df</span>); <span class="pl-en">free</span>(<span class="pl-s1">af</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC917" class="react-file-line html-div" data-testid="code-cell" data-line-number="917" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">am</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC918" class="react-file-line html-div" data-testid="code-cell" data-line-number="918" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC919" class="react-file-line html-div" data-testid="code-cell" data-line-number="919" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_align_map</span>(<span class="pl-smi">AlignMap</span> <span class="pl-c1">*</span><span class="pl-s1">m</span>) { <span class="pl-en">free</span>(<span class="pl-s1">m</span><span class="pl-c1">-&gt;</span><span class="pl-c1">dest_to_A</span>); <span class="pl-en">free</span>(<span class="pl-s1">m</span><span class="pl-c1">-&gt;</span><span class="pl-c1">A_to_dest</span>); }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC920" class="react-file-line html-div" data-testid="code-cell" data-line-number="920" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC921" class="react-file-line html-div" data-testid="code-cell" data-line-number="921" style="position:relative"><span class="pl-c">/* raw (pre-escape) prior via an alignment map (used identically for</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC922" class="react-file-line html-div" data-testid="code-cell" data-line-number="922" style="position:relative"><span class="pl-c"> * learned align and for oracle, which only swaps in the true map).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC923" class="react-file-line html-div" data-testid="code-cell" data-line-number="923" style="position:relative"><span class="pl-c"> * &quot;only aligned continuations count&quot;: among a_star&#039;s own right-neighbour</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC924" class="react-file-line html-div" data-testid="code-cell" data-line-number="924" style="position:relative"><span class="pl-c"> * distribution in A (denominator = A&#039;s own full mass, not renormalized),</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC925" class="react-file-line html-div" data-testid="code-cell" data-line-number="925" style="position:relative"><span class="pl-c"> * only neighbours that are themselves aligned to some destination unit</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC926" class="react-file-line html-div" data-testid="code-cell" data-line-number="926" style="position:relative"><span class="pl-c"> * contribute; if none are aligned the position is undefined. */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC927" class="react-file-line html-div" data-testid="code-cell" data-line-number="927" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">align_style_prior_raw</span>(<span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">dest_to_A</span>, <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">A_to_dest</span>, <span class="pl-smi">long</span> <span class="pl-s1">V_dest</span>, <span class="pl-smi">long</span> <span class="pl-c1">V_A</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC928" class="react-file-line html-div" data-testid="code-cell" data-line-number="928" style="position:relative">                                     <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">a_fwd1</span>, <span class="pl-smi">long</span> <span class="pl-s1">a_n_fwd1</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC929" class="react-file-line html-div" data-testid="code-cell" data-line-number="929" style="position:relative">                                     <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">shuf</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">truth</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC930" class="react-file-line html-div" data-testid="code-cell" data-line-number="930" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">c1</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">c1</span> &gt;= <span class="pl-s1">V_dest</span>) <span class="pl-k">return</span> <span class="pl-c1">-1.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC931" class="react-file-line html-div" data-testid="code-cell" data-line-number="931" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-s1">a_star</span> <span class="pl-c1">=</span> <span class="pl-s1">dest_to_A</span>[<span class="pl-s1">c1</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC932" class="react-file-line html-div" data-testid="code-cell" data-line-number="932" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">a_star</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-c1">-1.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC933" class="react-file-line html-div" data-testid="code-cell" data-line-number="933" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-s1">eff_star</span> <span class="pl-c1">=</span> <span class="pl-s1">shuf</span> ? <span class="pl-s1">shuf</span>[<span class="pl-s1">a_star</span>] : <span class="pl-s1">a_star</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC934" class="react-file-line html-div" data-testid="code-cell" data-line-number="934" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-en">fwd_lower_bound</span>(<span class="pl-s1">a_fwd1</span>, <span class="pl-s1">a_n_fwd1</span>, <span class="pl-s1">eff_star</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC935" class="react-file-line html-div" data-testid="code-cell" data-line-number="935" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">total_all</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>, <span class="pl-s1">aligned_count</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC936" class="react-file-line html-div" data-testid="code-cell" data-line-number="936" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">truth_weight</span> <span class="pl-c1">=</span> <span class="pl-c1">-1.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC937" class="react-file-line html-div" data-testid="code-cell" data-line-number="937" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">a_n_fwd1</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">a_fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">eff_star</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC938" class="react-file-line html-div" data-testid="code-cell" data-line-number="938" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">v</span> <span class="pl-c1">=</span> <span class="pl-s1">a_fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC939" class="react-file-line html-div" data-testid="code-cell" data-line-number="939" style="position:relative">        <span class="pl-s1">total_all</span> <span class="pl-c1">+=</span> <span class="pl-s1">a_fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC940" class="react-file-line html-div" data-testid="code-cell" data-line-number="940" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">v</span> &gt;= <span class="pl-c1">0</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">v</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">V_A</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC941" class="react-file-line html-div" data-testid="code-cell" data-line-number="941" style="position:relative">            <span class="pl-smi">int32_t</span> <span class="pl-s1">dest_v</span> <span class="pl-c1">=</span> <span class="pl-s1">A_to_dest</span>[<span class="pl-s1">v</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC942" class="react-file-line html-div" data-testid="code-cell" data-line-number="942" style="position:relative">            <span class="pl-k">if</span> (<span class="pl-s1">dest_v</span> &gt;= <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC943" class="react-file-line html-div" data-testid="code-cell" data-line-number="943" style="position:relative">                <span class="pl-s1">aligned_count</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC944" class="react-file-line html-div" data-testid="code-cell" data-line-number="944" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">dest_v</span> <span class="pl-c1">==</span> <span class="pl-s1">truth</span>) <span class="pl-s1">truth_weight</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">a_fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC945" class="react-file-line html-div" data-testid="code-cell" data-line-number="945" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC946" class="react-file-line html-div" data-testid="code-cell" data-line-number="946" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC947" class="react-file-line html-div" data-testid="code-cell" data-line-number="947" style="position:relative">        <span class="pl-s1">i</span><span class="pl-c1">++</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC948" class="react-file-line html-div" data-testid="code-cell" data-line-number="948" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC949" class="react-file-line html-div" data-testid="code-cell" data-line-number="949" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total_all</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">aligned_count</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>) <span class="pl-k">return</span> <span class="pl-c1">-1.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC950" class="react-file-line html-div" data-testid="code-cell" data-line-number="950" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">truth_weight</span> &gt;= <span class="pl-c1">0</span> ? <span class="pl-s1">truth_weight</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total_all</span> : <span class="pl-c1">0.0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC951" class="react-file-line html-div" data-testid="code-cell" data-line-number="951" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC952" class="react-file-line html-div" data-testid="code-cell" data-line-number="952" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC953" class="react-file-line html-div" data-testid="code-cell" data-line-number="953" style="position:relative"><span class="pl-c">/* ---------------- cache prior (context-keyed, cached per chunk) ---------------- */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC954" class="react-file-line html-div" data-testid="code-cell" data-line-number="954" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC955" class="react-file-line html-div" data-testid="code-cell" data-line-number="955" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">get_top4_right</span>(<span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">fwd1</span>, <span class="pl-smi">long</span> <span class="pl-s1">n_fwd1</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">unit</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">out_ids</span>[<span class="pl-c1">4</span>], <span class="pl-smi">int</span> <span class="pl-c1">*</span><span class="pl-s1">n_out</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC956" class="react-file-line html-div" data-testid="code-cell" data-line-number="956" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-en">fwd_lower_bound</span>(<span class="pl-s1">fwd1</span>, <span class="pl-s1">n_fwd1</span>, <span class="pl-s1">unit</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC957" class="react-file-line html-div" data-testid="code-cell" data-line-number="957" style="position:relative">    <span class="pl-smi">long</span> <span class="pl-s1">start</span> <span class="pl-c1">=</span> <span class="pl-s1">i</span>, <span class="pl-s1">total</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC958" class="react-file-line html-div" data-testid="code-cell" data-line-number="958" style="position:relative">    <span class="pl-k">while</span> (<span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n_fwd1</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">a</span> <span class="pl-c1">==</span> <span class="pl-s1">unit</span>) { <span class="pl-s1">total</span> <span class="pl-c1">+=</span> <span class="pl-s1">fwd1</span>[<span class="pl-s1">i</span>].<span class="pl-c1">c</span>; <span class="pl-s1">i</span><span class="pl-c1">++</span>; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC959" class="react-file-line html-div" data-testid="code-cell" data-line-number="959" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">sorted_p</span>[<span class="pl-c1">4</span>] <span class="pl-c1">=</span> {<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC960" class="react-file-line html-div" data-testid="code-cell" data-line-number="960" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-s1">sorted_id</span>[<span class="pl-c1">4</span>] <span class="pl-c1">=</span> {<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>,<span class="pl-c1">-1</span>};</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC961" class="react-file-line html-div" data-testid="code-cell" data-line-number="961" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">total</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">0</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC962" class="react-file-line html-div" data-testid="code-cell" data-line-number="962" style="position:relative">        <span class="pl-k">for</span> (<span class="pl-smi">long</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-s1">start</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">i</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC963" class="react-file-line html-div" data-testid="code-cell" data-line-number="963" style="position:relative">            <span class="pl-smi">double</span> <span class="pl-s1">p</span> <span class="pl-c1">=</span> (<span class="pl-smi">double</span>)<span class="pl-s1">fwd1</span>[<span class="pl-s1">k</span>].<span class="pl-c1">c</span> / (<span class="pl-smi">double</span>)<span class="pl-s1">total</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC964" class="react-file-line html-div" data-testid="code-cell" data-line-number="964" style="position:relative">            <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">s</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">s</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">4</span>; <span class="pl-s1">s</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC965" class="react-file-line html-div" data-testid="code-cell" data-line-number="965" style="position:relative">                <span class="pl-k">if</span> (<span class="pl-s1">p</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">sorted_p</span>[<span class="pl-s1">s</span>]) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC966" class="react-file-line html-div" data-testid="code-cell" data-line-number="966" style="position:relative">                    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">t</span> <span class="pl-c1">=</span> <span class="pl-c1">3</span>; <span class="pl-s1">t</span> <span class="pl-c1">&gt;</span> <span class="pl-s1">s</span>; <span class="pl-s1">t</span><span class="pl-c1">--</span>) { <span class="pl-s1">sorted_p</span>[<span class="pl-s1">t</span>]<span class="pl-c1">=</span><span class="pl-s1">sorted_p</span>[<span class="pl-s1">t</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]; <span class="pl-s1">sorted_id</span>[<span class="pl-s1">t</span>]<span class="pl-c1">=</span><span class="pl-s1">sorted_id</span>[<span class="pl-s1">t</span><span class="pl-c1">-</span><span class="pl-c1">1</span>]; }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC967" class="react-file-line html-div" data-testid="code-cell" data-line-number="967" style="position:relative">                    <span class="pl-s1">sorted_p</span>[<span class="pl-s1">s</span>] <span class="pl-c1">=</span> <span class="pl-s1">p</span>; <span class="pl-s1">sorted_id</span>[<span class="pl-s1">s</span>] <span class="pl-c1">=</span> <span class="pl-s1">fwd1</span>[<span class="pl-s1">k</span>].<span class="pl-c1">b</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC968" class="react-file-line html-div" data-testid="code-cell" data-line-number="968" style="position:relative">                    <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC969" class="react-file-line html-div" data-testid="code-cell" data-line-number="969" style="position:relative">                }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC970" class="react-file-line html-div" data-testid="code-cell" data-line-number="970" style="position:relative">            }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC971" class="react-file-line html-div" data-testid="code-cell" data-line-number="971" style="position:relative">        }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC972" class="react-file-line html-div" data-testid="code-cell" data-line-number="972" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC973" class="react-file-line html-div" data-testid="code-cell" data-line-number="973" style="position:relative">    <span class="pl-smi">int</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC974" class="react-file-line html-div" data-testid="code-cell" data-line-number="974" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">s</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">s</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">4</span>; <span class="pl-s1">s</span><span class="pl-c1">++</span>) <span class="pl-k">if</span> (<span class="pl-s1">sorted_id</span>[<span class="pl-s1">s</span>] &gt;= <span class="pl-c1">0</span>) <span class="pl-s1">out_ids</span>[<span class="pl-s1">n</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">sorted_id</span>[<span class="pl-s1">s</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC975" class="react-file-line html-div" data-testid="code-cell" data-line-number="975" style="position:relative">    <span class="pl-c1">*</span><span class="pl-s1">n_out</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC976" class="react-file-line html-div" data-testid="code-cell" data-line-number="976" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC977" class="react-file-line html-div" data-testid="code-cell" data-line-number="977" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC978" class="react-file-line html-div" data-testid="code-cell" data-line-number="978" style="position:relative"><span class="pl-k">typedef</span> <span class="pl-k">struct</span> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC979" class="react-file-line html-div" data-testid="code-cell" data-line-number="979" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">a_star</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC980" class="react-file-line html-div" data-testid="code-cell" data-line-number="980" style="position:relative">    <span class="pl-smi">int32_t</span> <span class="pl-c1">top4</span>[<span class="pl-c1">4</span>]; <span class="pl-smi">int</span> <span class="pl-c1">n_top4</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC981" class="react-file-line html-div" data-testid="code-cell" data-line-number="981" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-c1">max_r</span>, <span class="pl-c1">sum_exp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC982" class="react-file-line html-div" data-testid="code-cell" data-line-number="982" style="position:relative">} <span class="pl-smi">CacheCtxInfo</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC983" class="react-file-line html-div" data-testid="code-cell" data-line-number="983" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC984" class="react-file-line html-div" data-testid="code-cell" data-line-number="984" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">double</span> <span class="pl-en">min_zdist_to_top4</span>(<span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">dd</span>, <span class="pl-smi">int32_t</span> <span class="pl-s1">u</span>, <span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">ad</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC985" class="react-file-line html-div" data-testid="code-cell" data-line-number="985" style="position:relative">                                 <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">top4</span>, <span class="pl-smi">int</span> <span class="pl-s1">n4</span>, <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">shuf</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC986" class="react-file-line html-div" data-testid="code-cell" data-line-number="986" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">mind</span> <span class="pl-c1">=</span> <span class="pl-c1">1e300</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC987" class="react-file-line html-div" data-testid="code-cell" data-line-number="987" style="position:relative">    <span class="pl-k">for</span> (<span class="pl-smi">int</span> <span class="pl-s1">k</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-s1">k</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">n4</span>; <span class="pl-s1">k</span><span class="pl-c1">++</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC988" class="react-file-line html-div" data-testid="code-cell" data-line-number="988" style="position:relative">        <span class="pl-smi">int32_t</span> <span class="pl-s1">eff_nb</span> <span class="pl-c1">=</span> <span class="pl-s1">shuf</span> ? <span class="pl-s1">shuf</span>[<span class="pl-s1">top4</span>[<span class="pl-s1">k</span>]] : <span class="pl-s1">top4</span>[<span class="pl-s1">k</span>];</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC989" class="react-file-line html-div" data-testid="code-cell" data-line-number="989" style="position:relative">        <span class="pl-k">if</span> (!<span class="pl-s1">ad</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>[<span class="pl-s1">eff_nb</span>]) <span class="pl-k">continue</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC990" class="react-file-line html-div" data-testid="code-cell" data-line-number="990" style="position:relative">        <span class="pl-smi">double</span> <span class="pl-s1">dtmp</span> <span class="pl-c1">=</span> <span class="pl-en">zdist</span>(<span class="pl-s1">dd</span>, <span class="pl-s1">u</span>, <span class="pl-s1">ad</span>, <span class="pl-s1">eff_nb</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC991" class="react-file-line html-div" data-testid="code-cell" data-line-number="991" style="position:relative">        <span class="pl-k">if</span> (<span class="pl-s1">dtmp</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">mind</span>) <span class="pl-s1">mind</span> <span class="pl-c1">=</span> <span class="pl-s1">dtmp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC992" class="react-file-line html-div" data-testid="code-cell" data-line-number="992" style="position:relative">    }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC993" class="react-file-line html-div" data-testid="code-cell" data-line-number="993" style="position:relative">    <span class="pl-k">return</span> <span class="pl-s1">mind</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC994" class="react-file-line html-div" data-testid="code-cell" data-line-number="994" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC995" class="react-file-line html-div" data-testid="code-cell" data-line-number="995" style="position:relative">
</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC996" class="react-file-line html-div" data-testid="code-cell" data-line-number="996" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">CacheCtxInfo</span> <span class="pl-en">compute_cache_ctx</span>(<span class="pl-smi">int32_t</span> <span class="pl-s1">c1</span>, <span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">dd</span>, <span class="pl-k">const</span> <span class="pl-smi">Descriptors</span> <span class="pl-c1">*</span><span class="pl-s1">ad</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC997" class="react-file-line html-div" data-testid="code-cell" data-line-number="997" style="position:relative">                                       <span class="pl-k">const</span> <span class="pl-smi">Pair2</span> <span class="pl-c1">*</span><span class="pl-s1">a_fwd1</span>, <span class="pl-smi">long</span> <span class="pl-s1">a_n_fwd1</span>, <span class="pl-k">const</span> <span class="pl-smi">int32_t</span> <span class="pl-c1">*</span><span class="pl-s1">shuf</span>) {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC998" class="react-file-line html-div" data-testid="code-cell" data-line-number="998" style="position:relative">    <span class="pl-smi">CacheCtxInfo</span> <span class="pl-s1">info</span>; <span class="pl-en">memset</span>(<span class="pl-c1">&amp;</span><span class="pl-s1">info</span>, <span class="pl-c1">0</span>, <span class="pl-k">sizeof</span>(<span class="pl-s1">info</span>)); <span class="pl-s1">info</span>.<span class="pl-c1">a_star</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC999" class="react-file-line html-div" data-testid="code-cell" data-line-number="999" style="position:relative">    <span class="pl-k">if</span> (<span class="pl-s1">c1</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> <span class="pl-s1">c1</span> &gt;= <span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">V</span> <span class="pl-c1">||</span> !<span class="pl-s1">dd</span><span class="pl-c1">-&gt;</span><span class="pl-c1">alive</span>[<span class="pl-s1">c1</span>]) <span class="pl-k">return</span> <span class="pl-s1">info</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1000" class="react-file-line html-div" data-testid="code-cell" data-line-number="1000" style="position:relative">    <span class="pl-smi">double</span> <span class="pl-s1">best</span> <span class="pl-c1">=</span> <span class="pl-c1">1e300</span>; <span class="pl-smi">int32_t</span> <span class="pl-s1">best_a</span> <span class="pl-c1">=</span> <span class="pl-c1">-1</span>;</div></div></div></div></div><div class="CodeLinesSSR-module__viewRemainderLink__pd3EU"><a class="prc-Link-Link-9ZwDx" data-component="Link" href="https://github.com/ariannamethod/netta/raw/refs/heads/main/transfer_check.c">View remainder of file in raw view</a></div></div><div id="copilot-button-container"></div></div><div id="highlighted-line-menu-container"></div><div class="HighlightedLineMenu-module__overlayPortalRoot__QDpCt"></div></div></div><!--/$--><div class="d-none"></div></section></div></div></div> </div> <!-- --> </div></div></div></div></div></div><div class="ScrollMarksContainer-module__scrollMarksContainer__Eu7uU" id="find-result-marks-container"></div><div class="d-none"></div><div class="d-none"></div></div> <!-- --> <!-- --> </div>
</react-app>




  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer f6 color-fg-muted color-border-subtle tmp-pt-7 tmp-pb-6 p-responsive" role="contentinfo"  >
  <h2 class='sr-only'>Footer</h2>

  


  <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
    <div class="d-flex flex-items-center flex-shrink-0 mx-2">
      <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" data-component="Octicon" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
      <span>
        &copy; 2026 GitHub,&nbsp;Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>

      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">


          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>


            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
            </li>

            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
            </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
          </li>

          
<li class="mx-2" >
  <cookie-consent-link>
    <button
      type="button"
      class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
      data-action="click:cookie-consent-link#showConsentManagement"
      data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"
    >
      Manage cookies
    </button>
  </cookie-consent-link>
</li>

  <li class="mx-2">
    <cookie-consent-link>
      <button
        type="button"
        class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left"
        data-action="click:cookie-consent-link#showConsentManagement"
        data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"
      >
        Do not share my personal information
      </button>
    </cookie-consent-link>
  </li>

      </ul>
    </nav>
  </div>
</footer>



    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
      data-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="true"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    You can’t perform that action at this time.
  </div>

    <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
    <summary role="button" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
      </button>
      <div class="octocat-spinner tmp-my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
  </div>
</div>

    <template id="snippet-clipboard-copy-button">
  <div class="zeroclipboard-container position-absolute right-0 top-0">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2 tmp-m-2">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2 tmp-m-2">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>
<template id="snippet-clipboard-copy-button-unpositioned">
  <div class="zeroclipboard-container">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>




    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
  </body>
</html>

