Special:Badtitle/NS3000:All/AXA legal structure

From New wiki
Jump to navigation Jump to search

🍊 Step 1: Get the list of legal entities and countries

Source: AXA legal structure as of 31 December, 2024

<syntaxhighlight lang="markdown" copy="1">

Read the attached PDF file. Process each page sequentially. For each page: 1. Identify every legal entity shown INSIDE A BOX on the org chart. 2. Extract its name and country of incorporation as displayed inside that same box. 3. Extract its shareholders by reading the arrows and percentage labels pointing INTO that box from other boxes. Each shareholder entry must include the name of the parent entity and the ownership percentage shown on the arrow or line. 4. Ignore anything outside boxes β€” branches, footnotes, annotations, dashed-line boxes, and any other text are NOT relevant for entity identification. However, footnotes that clarify ownership percentages (e.g., "0.01% held by AXA Belgium") SHOULD be used to populate shareholder entries. 5. The top-level entity labeled "AXA" must be recorded as:

  * name: "AXA SA"
  * country: "France"

After processing ALL pages, return the final deduplicated JSON array as a single output. Output format β€” a single JSON array, deduplicated by entity name: [

 {
   "name": "AXA SA",
   "country": "France",
   "shareholders": []
 },
 {
   "name": "KΓΆlnische Verwaltungs AG fΓΌr Versicherungswerte",
   "country": "Unknown",
   "shareholders": [
     { "name": "AXA SA", "percentage": 76.98 },
     { "name": "AXA Konzern AG", "percentage": 23.02 }
   ]
 }

] Rules:

  • Only extract entities that are inside a box. Nothing else matters for entity identification.
  • One entry per unique entity (first occurrence wins if duplicated across pages).
  • Use the exact legal name as written inside the box.
  • Country = the country shown inside the box (in parentheses or italics below the entity name).
  • If a box contains no country, infer the country from the page title (e.g., if the page is titled "AXA Group β€” Germany", assign "Germany" as the country for any entity on that page whose box does not specify a country).
  • If a box contains no country AND no country can be inferred from the page title, mark as "Unknown".
  • Shareholders = every entity with an arrow or line pointing into the box, with the percentage shown on that arrow or line.
  • If ownership is described as "indirectly" with no specific percentage, record the percentage as "indirect".
  • If a footnote clarifies additional ownership (e.g., "0.01% held by XYZ"), include that as a separate shareholder entry.
  • If a footnote references a minority or unnamed shareholder, record the name as "Minority shareholders" or "Other shareholders" with the stated percentage.
  • If an entity has no incoming ownership arrows and no footnote references, set shareholders to an empty array [].
  • Do not return any output until all pages have been processed.

</syntaxhighlight>

🍊 Step 2: Generate reports

<syntaxhighlight lang="markdown" copy="1">

You are given a JSON file containing a batch of legal entities belonging to the AXA Group. For each entity in the JSON, conduct thorough research and produce a dedicated section in your report. The section heading must be the exact legal name of the entity as it appears in the JSON field "name".

---

INPUT FORMAT

The JSON is an array of objects. Each object has: - "name": the legal name of the entity - "country": the country of incorporation - "shareholders": an array of shareholder objects with "name" and "percentage"

Use the name and country as your starting point for research. The shareholder data is provided for context β€” do not re-research it, but you may reference it.

---

RESEARCH SCOPE

For each entity, find and report the following information. If a data point cannot be found after reasonable research, explicitly state "Not found" rather than omitting the field or guessing.

1. IDENTITY & DOMICILIATION

  - Legal name (confirm exact registered name if it differs from the JSON)
  - Commercial or trade name (if different from legal name)
  - Legal form (e.g. SA, SAS, AG, Ltd, PLC, DAC, SE, GmbH, LLC, S.Γ .r.l., etc.)
  - Country of incorporation
  - Registered address
  - Company registration number (from local commercial registry)
  - Year of incorporation

2. REGULATORY STATUS

  - Is this a regulated entity? (Yes / No)
  - Type of license or authorization: classify as one or more of the following: Life, P&C (Non-Life), Composite, Health, Reinsurance, Asset Management, Insurance Intermediary/Broker, Bancassurance, Holding, Services/Operational, Other
  - Name of supervisory authority (e.g. ACPR, BaFin, PRA, FCA, MAS, CIMA, CBB, NAICOM, OJK, etc.)
  - License or authorization reference number (if publicly available)

3. OWNERSHIP & GROUP POSITION

  - Shareholders: use the data provided in the JSON. Only add corrections or supplements if you find a clear discrepancy with an official source.
  - Ultimate parent: confirm whether AXA SA (France) is the ultimate parent, and note the chain of control if it passes through intermediate holdings.
  - Status within group: classify as one of: Subsidiary, Joint Venture, Associate, Branch, or Other.

4. FINANCIAL OVERVIEW

  Report the most recent publicly available figures for the following metrics. Use the latest annual reporting period available (state the reporting year). Convert nothing β€” report in the original reporting currency. If a metric is not disclosed or not applicable to the entity type, state "Not found" or "N/A".
  - Reporting year: the financial year to which the figures relate
  - Total revenue (or total income): as reported in the income statement or profit & loss account
  - Gross Written Premiums (GWP): total premiums written before reinsurance cessions (for insurance/reinsurance entities only; "N/A" for non-insurance entities)
  - Net Written Premiums (NWP): premiums after reinsurance cessions, if separately disclosed
  - Shareholders' equity (or net assets / own funds): as reported on the balance sheet
  - Total assets: as reported on the balance sheet
  - Net income (or net profit/loss): bottom-line result for the period
  - Solvency ratio: the SCR coverage ratio as reported in the SFCR, if applicable and publicly available
  - Eligible own funds (EOF): total eligible own funds to meet the SCR, as reported in the SFCR. For non-Solvency II entities, report the equivalent local regulatory capital measure (e.g. available capital, admitted assets minus liabilities, or net asset value under the applicable prudential regime). This figure serves as a quick proxy for the economic value of the entity.
  - Currency: the reporting currency used (e.g. EUR, USD, GBP, CHF, etc.)
  Preferred sources for financial data: Solvency and Financial Condition Reports (SFCRs), annual reports, statutory accounts filed with the local commercial registry, regulatory filings, and official AXA Group publications (e.g. AXA Universal Registration Document).

5. OPERATIONAL PROFILE

  - Brief description of activity or purpose within the AXA Group (1-3 sentences)
  - Lines of business or services offered
  - Operating status: Active, In run-off, In liquidation, or Dormant
  - Key markets or geographies served
  - List of branches (if any are publicly documented)

6. BACKGROUND

  - Former names (if the entity was renamed at any point)
  - Year or date of any name change
  - Notable history: mergers, acquisitions, demergers, portfolio transfers, or other structural events relevant to the entity
  - Any other noteworthy facts relevant to understanding the entity

7. ENTITY SUMMARY

  Write a single narrative paragraph that gives the reader a concise overview of the entity. It should naturally weave together the most salient facts collected above: what the entity is (legal form, domicile), its role or purpose within the AXA Group, its scale (using whichever financial metrics are available and meaningful for the entity type), its current operating status, and any notable history. Adapt the emphasis to the nature of the entity β€” for example, highlight premiums and solvency for an insurer, assets under management for an asset manager, or group function for a holding or services company. The tone should be factual and professional, not promotional. Aim for 4-6 sentences.

---

OUTPUT FORMAT

Return a single structured report. Organize it as follows:

  1. AXA Group β€” Entity Research Report
    1. [Legal Name of Entity 1]
    • Identity & Domiciliation**

- Legal name: ... - Commercial name: ... - Legal form: ... - Country: ... - Registered address: ... - Registration number: ... - Year of incorporation: ...

    • Regulatory Status**

- Regulated: ... - License type: ... - Supervisory authority: ... - License number: ...

    • Ownership & Group Position**

- Shareholders: [use JSON data, note any corrections] - Ultimate parent: ... - Status within group: ...

    • Financial Overview**

- Reporting year: ... - Total revenue: ... - Gross Written Premiums (GWP): ... - Net Written Premiums (NWP): ... - Shareholders' equity: ... - Total assets: ... - Net income: ... - Solvency ratio: ... - Eligible own funds (EOF): ... - Currency: ...

    • Operational Profile**

- Description: ... - Lines of business: ... - Operating status: ... - Markets served: ... - Branches: ...

    • Background**

- Former names: ... - Notable history: ... - Other notes: ...

    • Entity Summary**

[Single narrative paragraph as described in Section 7]

---

    1. [Legal Name of Entity 2]

[Same structure]

---

[Continue for every entity in the JSON]

---

IMPORTANT GUIDELINES

- Use only publicly available, verifiable sources: official company registries, regulatory authority databases, annual reports, Solvency and Financial Condition Reports (SFCRs), insurance authority registers, and reputable news sources. - Do not fabricate or hallucinate any data point. If information is not findable, write "Not found". - Do not skip any entity in the JSON. Every entity must have its own section, even if very little information is available. - Keep each section concise and factual. Avoid marketing language. - When reporting addresses, use the local format and include postal/zip code if available. - For the "Type of license" field, you may assign multiple categories if the entity holds multiple authorizations (e.g. "Life, Health"). - For financial data, always state the reporting year and currency. Do not convert between currencies. Prefer statutory or regulatory filings over press releases or third-party estimates. - The report will be read by insurance professionals who need reliable reference data for regulatory filings, due diligence, reinsurance security reviews, and group structure analysis.

---

The JSON batch to research is provided as an attached file. Read the entire attached JSON file and process every entity it contains. </syntaxhighlight>

🍊 Step 3: Generate drawio charts using plantUML

πŸŸ₯ Prompt:All/AXA legal structure/Drawio charts

Examples: If needed, put <syntaxhighlight lang="text" class="" style="" inline="1">left to right direction</syntaxhighlight> at the beginning.

<syntaxhighlight lang="markdown" copy="1">

You are a document analyst that converts legal-structure charts from a PDF into wikitext with embedded PlantUML diagrams.

    1. Input

- An attached PDF showing the legal structure of AXA Group.

    1. Page filtering

- SKIP pages 10, 11, 12 (AXA Investment Managers β€” no longer part of AXA). - SKIP any page without a legal-structure chart (covers, table of contents, etc.). - PROCESS every remaining page.

    1. Per-page instructions

1. Identify the page title (PAGE_TITLE).

  - If the title contains ":", replace it with "()" format.
    Example: "AXA Partners: America" β†’ "AXA Partners (America)"

2. Convert the chart into PlantUML code (PLANTUML_CODE) following the style rules and example below. 3. If the page has footnotes, include them in a `legend left … end legend` block.

    1. Output format

Return a single .txt file containing wikitext. Use this template for each page, in document order:

PAGE_TITLE

drawio:PAGE_TITLE <syntaxhighlight lang="plantuml"> PLANTUML_CODE </syntaxhighlight>

    1. PlantUML style rules

- Wrap every diagram in `@startuml … @enduml`. - Apply these skinparams and style block exactly:

skinparam defaultTextAlignment center skinparam defaultFontName "Arial Narrow" skinparam ranksep 40 skinparam nodesep 20 <style> rectangle {

 MinimumWidth 80
 MaximumWidth 80
 MinimumHeight 50
 RoundCorner 10

} legend {

 BackgroundColor transparent
 LineColor transparent
 HorizontalAlignment left

} </style>

- Define each entity as a `rectangle` with a short alias. - Use `\n` for line breaks inside entity labels; include the country in parentheses on the last line. - Draw ownership links with `-->`. Add ownership percentage as a label (e.g., `: "99.99%"`) only when the chart explicitly shows a percentage. - Omit the percentage label when ownership is 100% or not specified. - Place footnotes in `legend left … end legend` at the bottom of the diagram.

    1. Reference example

@startuml skinparam defaultTextAlignment center skinparam defaultFontName "Arial Narrow" skinparam ranksep 40 skinparam nodesep 20 <style> rectangle {

 MinimumWidth 80
 MaximumWidth 80
 MinimumHeight 50
 RoundCorner 10

} legend {

 BackgroundColor transparent
 LineColor transparent
 HorizontalAlignment left

} </style>

rectangle "AXA" as AXA rectangle "AXA Partners\nHolding SA\n(France)" as APH rectangle "Inter Partner\nAssistance S.A. (d)\n(Belgium)" as IPA rectangle "AXA Partners SAS (e)\n(France)" as APS rectangle "AXA Partners CLP Brazil\nServiΓ§os de Apoio Γ \nAtividade Seguradora e\nResseguradora Ltda.\n(Brazil)" as APBR rectangle "AXA Partners CLP\nOperaciones S. De R.L.\nde C.V.\n(Mexico)" as APMX rectangle "AXA Partners CLP\nOperaciones Colombia\nSAS\n(Colombia)" as APCO rectangle "AXA Asistencia\nChile SA\n(Chile)" as ACH rectangle "AXA Assistance\nArgentine SA\n(Argentina)" as AAR rectangle "AXA Asistencia\nColombia SA (b)\n(Colombia)" as ACOL rectangle "AXA Assistance\nMexico SA de CV (c)\n(Mexico)" as AMX rectangle "AXA Assistance\nCanada Inc\n(Canada)" as ACA rectangle "AXA Assistance\nUSA Inc (e)\n(USA)" as AUS rectangle "AXA Asistencia\nIPS SAS\n(Colombia)" as AIPS rectangle "AXA Assistance\nPanama SA\n(Panama)" as APN rectangle "AXA Asistencia\nPeru SAC\n(Peru)" as APE rectangle "AXA Assistance Peru\nSAC branch:\nEcuador" as APEC rectangle "HAA Preferred\nPartners\n(USA)" as HAA rectangle "AXA Assistance\nFlorida Inc\n(USA)" as AFL rectangle "AXA Partners\nReinsurance\nSolutions, LLC (d)\n(USA)" as APR rectangle "AXA Assistance Mexico\nsuccursal Panama SA\n(Panama)" as AMSP

AXA --> APH APH --> IPA : "99.99%" APH --> APS APH --> APBR APS --> APMX : "99.99% (a)" APS --> APCO IPA --> ACH ACH --> AAR : "94.6%" IPA --> AAR : "5.4%" IPA --> ACOL : "66.30%" IPA --> AMX : "99.99%" IPA --> ACA IPA --> AUS APCO --> AIPS IPA --> APN APN --> APE APE --> APEC AUS --> HAA AUS --> AFL AUS --> APR APN --> AMSP

legend left

 (a) 0.1% held by AXA Partners Holding S.A.
 (b) 33.65% owned by Grupo Aviator Ltd.
 (c) 0.01% owned by AXA Assistance USA Inc.
 (d) Insurance/reinsurance entity.
 (e) Insurance intermediary.

end legend @enduml

</syntaxhighlight>

🍊 Step 4: Generate upload-ready JSON

<syntaxhighlight lang="markdown" copy="1">

PROMPT β€” Generate Wiki-style company articles from DOCX research report

===========================================================

You are given: 1. A DOCX file containing a structured entity research report. The file covers one or more companies belonging to the same corporate group. Each entity has sections such as: Identity & Domiciliation, Regulatory Status, Ownership & Group Position, Financial Overview, Operational Profile, Background, and Entity Summary. Inline citations appear as [number](URL) markers and fileciteturn references.

  *Example filename:* `Batch_starting_AXA_SA.docx` β€” a report covering entities in the AXA group.

YOUR TASK: Read the DOCX. First, extract the list of all companies covered in the report by scanning section headings and entity names. Then, for EVERY company identified, produce a JSON object with two keys:

 - "name": the exact legal company name as it appears in the DOCX heading
 - "content": a wikitext string containing (a) one infobox, (b) one description paragraph, and (c) a references section, as specified below.

If the DOCX contains a detailed research section for that company, use it. If a company is mentioned only briefly (e.g., as a parent or shareholder in another entity's section) but has no dedicated section of its own, write a minimal description based solely on whatever data can be gathered from the DOCX and mark any unknown fields in the infobox as empty strings.

Return the final output as a JSON array. For example, if the input DOCX covers the AXA group, the output would look like: [

 { "name": "AXA SA", "content": "..." },
 { "name": "AXA Partners Holding SA", "content": "..." },
 ...

]

===========================================================

A) DESCRIPTION PARAGRAPH

===========================================================

For each company, write exactly ONE paragraph in MediaWiki wikitext. The paragraph must:

1. **Start with a relevant emoji and the company name in bold using triple apostrophes.**

  Choose the emoji based on the entity type:
  - 🏒 for holding companies or group-level entities
  - πŸ›‘οΈ for insurance/reinsurance underwriters
  - 🀝 for assistance/service companies
  - πŸ₯ for health-related companies
  - 🏦 for banks or financial services
  - πŸ’Ό for intermediaries, brokers, or advisory firms
  - βš–οΈ for legal protection / legal expenses companies
  - πŸ—οΈ for real estate or property holding companies
  - πŸ”¬ for climate, innovation, or venture entities
  - 🌍 for multi-market or regional holding companies
  Example opening (for an AXA entity): πŸ›‘οΈ AXA SA is a French ...

2. **Content:** Synthesize the Entity Summary, Operational Profile, and key Financial Overview data from the DOCX into a fluent, encyclopedia-style paragraph (approximately 80–200 words). Include:

  - Legal form, country, and registered address (if available).
  - Main business activity/description.
  - Ownership chain (direct parent β†’ ultimate parent).
  - One or two key financial figures (e.g., total assets, net income, solvency ratio) if available; omit if "Not found".
  - Former names or notable history if available.

3. **Apply internal links** on insurance-related terms per the INTERNAL LINKING RULES below.

4. **Apply citations** per the CITATION LOGIC below.

===========================================================

B) INFOBOX

===========================================================

Place the infobox BEFORE the description paragraph in the "content" string.

Use the following wikitext infobox template. Fill each parameter from the DOCX data. Use an empty string for any field that is "Not found" or not available.

{{#invoke:infobox|infoboxTemplate|child= | bodyclass = vcard

| above =

<legal name>

| subheader = | subheaderstyle = font-weight:bold; font-size:105%;

| image = {{#invoke:InfoboxImage|InfoboxImage|image=|size=|sizedefault=frameless|alt=}} | caption =

| header1 = Corporate identity

| label2 = Type | data2 = <legal form, e.g., SociΓ©tΓ© Anonyme (SA), GmbH, Ltd, S.R.L., etc.> | class2 = category

| label3 = Traded as | data3 =

| label4 = ISIN | data4 =

| label5 = LEI | data5 =

| label6 = Registration number | data6 = <registration/company number if available>

| label7 = Regulated | data7 = <Yes / No>

| label8 = License type | data8 = <e.g., P&C, Life, Reinsurance, Holding, Assistance, etc.>

| label9 = NPN | data9 =

| label10 = Coverholder reference | data10 =

| label11 = License number | data11 = <license or authorization number if available>

| label12 = Incorporation | data12 = <year of incorporation if available>

| label13 = Founded | data13 =

| label14 = Headquarters | data14 = <registered address if available> | class14 = label

| label15 = Country | data15 = <country of incorporation>

| label16 = Domicile | data16 =

| label17 = Licensed jurisdictions | data17 =

| label18 = Regulator | data18 = <name of regulator if available>

| label19 = Ultimate parent | data19 = <direct parent company name>

| label20 = Major shareholders | data20 =

| label21 = Group status | data21 = <Subsidiary / Holding / Ultimate parent>

| label22 = Key people | data22 =

| label23 = Number of employees | data23 =

| header24 = Business & markets

| label25 = Operating status | data25 = <Active / Inactive / Not found>

| label26 = Customer segments | data26 =

| label27 = Lines of business | data27 = <main lines of business if available>

| label28 = Business segments | data28 =

| label29 = Main products & services | data29 =

| label30 = Technology platform | data30 =

| label31 = Capacity providers | data31 =

| label32 = Distribution | data32 =

| label33 = Geographic markets | data33 = <geographic markets if available>

| label34 = Branches | data34 =

| label35 = Customers served | data35 =

| label36 = Competitors | data36 =

| label37 = Market share rank | data37 =

| header38 = Key financials (<most recent reporting year if available>)

| label39 = Currency | data39 = <reporting currency if available>

| label40 = Market cap | data40 =

| label41 = Revenue | data41 = <total revenue figure with currency if available>

| label42 = Insurance revenue | data42 =

| label43 = Operating income | data43 =

| label44 = EBITDA | data44 =

| label45 = Net income | data45 = <net income figure with currency if available>

| label46 = Gross written premium | data46 = <Gross Written Premiums if available>

| label47 = Net written premium | data47 =

| label48 = Loss ratio | data48 =

| label49 = Combined ratio | data49 =

| label50 = Commission / MGA fee | data50 =

| label51 = Total assets | data51 = <total assets figure with currency if available>

| label52 = Invested assets | data52 =

| label53 = Technical reserves | data53 =

| label54 = Contractual service margin | data54 =

| label55 = Net debt | data55 =

| label56 = Equity | data56 = <shareholders' equity figure with currency if available>

| label57 = Operating margin | data57 =

| label58 = Solvency ratio | data58 = <solvency ratio if available>

| label59 = Return on equity | data59 =

| label60 = Total funding raised | data60 =

| label61 = Last funding round | data61 =

| label62 = Last known valuation | data62 =

| label63 = Lead investors | data63 =

| label64 = Capital structure | data64 =

| label65 = Insurer financial strength | data65 =

| label66 = Capacity partner ratings | data66 =

| label67 = External ratings | data67 =

| data68 =

}}{{#invoke:Check for unknown parameters|check|unknown=|preview = Page using Template:Infobox company with unknown parameter "_VALUE_"|ignoreblank=y | address | alt | branches | capacity_partner_ratings | capacity_providers | capital_structure | caption | child | combined_ratio | commission_rate | competitors | country | coverholder_ref | csm | currency | customer_segments | distribution | domicile | ebitda | embed | equity | exchange | financial_year | footnotes | founded | geographic_markets | group_status | gwp | headquarter | headquarters | ifsr | image | image_size | imagesize | incorporated | incorporation | insurance_jurisdictions | insurance_revenue | invested_assets | isin | key_people | last_round | last_valuation | lead_investors | legal_name | lei | license_number | license_type | lines_of_business | logo | logo_alt | logo_caption | logo_size | loss_ratio | market_cap | market_share_rank | markets_served | name | net_debt | net_income | npn | num_customers | num_employees | nwp | operating_income | operating_margin | operating_status | parent | products | ratings | registered | registration_number | regulated | regulator | reporting_year | revenue | roe | segments | shareholders | shareholders_equity | solvency_ratio | status_in_group | supervisory_authority | technology_platform | technical_reserves | ticker | total_assets | total_funding | total_revenue | type | ultimate_parent }}

===========================================================

C) REFERENCES SECTION

===========================================================

At the very end of each company's "content" string (after the description paragraph), append the following references section:

References

{{#invoke:Check for unknown parameters|check|unknown=|preview=Page using Template:Reflist with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}

This ensures that all Cite error: Closing </ref> missing for <ref> tag` (define once, reuse with `[1]`).

2. **Formatting:** Convert markers into `Cite error: Closing </ref> missing for <ref> tag`

* **Reuse:** If a source is cited multiple times, define it once (`Cite error: Closing </ref> missing for <ref> tag It is wholly owned by AXA Partners Holding SA, positioning it within the AXA Partners chain under AXA SA as ultimate parent.[2] Authorized by the National Bank of Belgium under number 0487, the company serves as a key underwriting entity for travel insurance products distributed across European and international markets.[3] The FSMA register indicates the former legal name \"Gesa\" through January 2000, with the current name recorded from January 2, 2000.[4]\n\n==References==\n

  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named docxdata
  2. ↑ Entity research report (DOCX source file).
  3. ↑ {{#invoke:citation/CS1|citation |CitationClass=web }}
  4. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named \"fsma-ipa\"

{{#invoke:Check for unknown parameters|check|unknown=|preview=Page using Template:Reflist with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}"

}

===========================================================

PROCESSING INSTRUCTIONS

===========================================================

1. Parse the DOCX using pandoc or equivalent to extract the full text with citation markers intact. 2. Scan all section headings to build the complete list of companies to process. 3. Build a source-URL lookup table from the citation markers found in the DOCX. 4. For each company identified:

  a. Find its section in the DOCX (match by heading / entity name).
  b. Extract all relevant data fields for the infobox.
  c. Synthesize the Entity Summary and key facts into one paragraph.
  d. Apply internal links on first occurrence of each insurance term.
  e. Convert citation markers to proper <ref> tags.
  f. Assemble the infobox + paragraph + references section into the "content" string.

5. For companies mentioned but without a dedicated DOCX section, produce a minimal article using only the available contextual data. 6. Output the complete JSON array.

===========================================================

QUALITY CHECKS

===========================================================

Before finalizing, verify: - [ ] Every company with a dedicated section in the DOCX has a corresponding output object. - [ ] No self-links (a company's own name is never wrapped in Definition:...). - [ ] Each insurance term is linked only once per article. - [ ] All <ref name="..."> values are descriptive strings (no bare integers). - [ ] Dates in {{#invoke:citation/CS1|citation |CitationClass=web }} follow the mandatory format rules (never YYYY-MM). - [ ] Infobox parameters with unknown values use empty strings, not "Not found". - [ ] The description paragraph starts with an emoji and the company name in triple-apostrophe bold.

- [ ] Every "content" string ends with \n\n==References==\n

{{#invoke:Check for unknown parameters|check|unknown=|preview=Page using Template:Reflist with unknown parameter "_VALUE_"|ignoreblank=y| 1 | colwidth | group | liststyle | refs }}

- [ ] The JSON output is valid (properly escaped quotes, newlines as \n).

</syntaxhighlight>