← ArchLangCONTENT HISTORY

Update to ArchLang

Snapshot Nov 1, 2026 · 12:10 UTC · version 1.50.1

WHAT CHANGED

Declared capabilities changed

Declared skills — Now says: [{"description":"Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save ArchLang and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Declared skills

Before

Nov 1, 2026 · 07:17 UTC

[{"description":"Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out ...

After

Nov 1, 2026 · 12:10 UTC

[{"description":"Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out ...

Composer icon url

Before

Nov 1, 2026 · 07:17 UTC

https://files.openai.com/content?id=file_000000003c3c820b9b14f27a192a2f50

After

Nov 1, 2026 · 12:10 UTC

https://files.openai.com/content?id=file_0000000075c081fa82d1ee9622bf0429

Default prompts

Before

Nov 1, 2026 · 07:17 UTC

["Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.","Make the bedroom in plan.arch 1 m wider and show me what changed.","Export plan.arch as a PDF on A3 and list the files written."]

After

Nov 1, 2026 · 12:10 UTC

["Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.","Make the bedroom in plan.arch 1 m wider and show me what changed.","Put plan.arch on an A3 sheet and give me a link to download it as a PDF."]

Logo url

Before

Nov 1, 2026 · 07:17 UTC

https://files.openai.com/content?id=file_000000007f7c820b8c7bec5fd143d6b4

After

Nov 1, 2026 · 12:10 UTC

https://files.openai.com/content?id=file_00000000189081faa1310731c12839d8

Compare saved observations

Download comparison JSON
Full technical diff · 6 changed fields

changed /release/id

BEFORE
"pluginrel_bb253cba5cb081918b2eb4c0e158e34c"
AFTER
"pluginrel_62ea3989f42c8191bcc0965a482956b7"

changed /release/interface/composer_icon_url

BEFORE
"https://files.openai.com/content?id=file_000000003c3c820b9b14f27a192a2f50"
AFTER
"https://files.openai.com/content?id=file_0000000075c081fa82d1ee9622bf0429"

changed /release/interface/default_prompts

BEFORE
[
  "Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.",
  "Make the bedroom in plan.arch 1 m wider and show me what changed.",
  "Export plan.arch as a PDF on A3 and list the files written."
]
AFTER
[
  "Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.",
  "Make the bedroom in plan.arch 1 m wider and show me what changed.",
  "Put plan.arch on an A3 sheet and give me a link to download it as a PDF."
]

changed /release/interface/logo_url

BEFORE
"https://files.openai.com/content?id=file_000000007f7c820b8c7bec5fd143d6b4"
AFTER
"https://files.openai.com/content?id=file_00000000189081faa1310731c12839d8"

changed /release/skills

BEFORE
[
  {
    "description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render."
    },
    "name": "archlang",
    "plugin_release_skill_id": "pluginrsk_6ae6c76ef27c819185a5475431a4c5f9"
  },
  {
    "description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export).",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-brief-to-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export)."
    },
    "name": "archlang-brief-to-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6c76de82c819184238d06eb2e704a"
  },
  {
    "description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan).",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-edit-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan)."
    },
    "name": "archlang-edit-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6c76ead348191b3f8ef78501d2cc6"
  },
  {
    "description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, all through the archlang CLI. Not for writing or changing the plan itself.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-export",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "pdf",
      "short_description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, all through the archlang CLI. Not for writing or changing the plan itself."
    },
    "name": "archlang-export",
    "plugin_release_skill_id": "pluginrsk_6ae6c76d8e9c8191be610003d254bf10"
  },
  {
    "description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-review-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked."
    },
    "name": "archlang-review-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6c76dac588191bc2d035ce186babe"
  }
]
AFTER
[
  {
    "description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render."
    },
    "name": "archlang",
    "plugin_release_skill_id": "pluginrsk_6ae6edfa7d888191b76c3058c045e042"
  },
  {
    "description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export).",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-brief-to-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export)."
    },
    "name": "archlang-brief-to-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6edf980408191b6cd2e9aa8fbd716"
  },
  {
    "description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan).",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-edit-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "hierarchy",
      "short_description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan)."
    },
    "name": "archlang-edit-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6edf9b5d08191980d86c64b029d5e"
  },
  {
    "description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-export",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "pdf",
      "short_description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself."
    },
    "name": "archlang-export",
    "plugin_release_skill_id": "pluginrsk_6ae6edf95f1481919fa281d016ff4bfe"
  },
  {
    "description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked.",
    "interface": {
      "brand_color": null,
      "default_prompt": null,
      "display_name": "archlang-review-plan",
      "icon_large_url": null,
      "icon_small_url": null,
      "iconography": "radar",
      "short_description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked."
    },
    "name": "archlang-review-plan",
    "plugin_release_skill_id": "pluginrsk_6ae6edf9a3ac81919ff075950a456e60"
  }
]

changed /release/version

BEFORE
"1.50.0"
AFTER
"1.50.1"
Full snapshot data
{
  "canonical_app_id": "asdk_app_6acf8381cca08191bfb3eb7305fb6970",
  "connector_id": "asdk_app_6acf8381cca08191bfb3eb7305fb6970",
  "created_at": "2026-10-15T00:12:35.134041Z",
  "discoverability": "LISTED",
  "id": "plugin_asdk_app_6acf8381cca08191bfb3eb7305fb6970",
  "is_template": false,
  "is_template_instance": false,
  "is_v2_template": false,
  "name": "archlang",
  "release": {
    "app_ids": [
      "asdk_app_6acf8381cca08191bfb3eb7305fb6970"
    ],
    "app_manifest": {
      "apps": {
        "archlang": {
          "id": "asdk_app_6acf8381cca08191bfb3eb7305fb6970",
          "required": true
        }
      }
    },
    "app_templates": [],
    "description": "ArchLang: write floor plans as code, compiled and checked by a deterministic compiler. Skills to author, edit, review and export .arch plans through the archlang CLI, and the ArchLang MCP server.",
    "display_name": "ArchLang",
    "id": "pluginrel_62ea3989f42c8191bcc0965a482956b7",
    "interface": {
      "brand_color": null,
      "capabilities": [
        "Read",
        "Write"
      ],
      "category": "Developer Tools",
      "composer_icon_dark_url": null,
      "composer_icon_url": "https://files.openai.com/content?id=file_0000000075c081fa82d1ee9622bf0429",
      "default_prompt": "Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.",
      "default_prompts": [
        "Design a two-bedroom flat of about 75 m² as an ArchLang plan and check it against the brief.",
        "Make the bedroom in plan.arch 1 m wider and show me what changed.",
        "Put plan.arch on an A3 sheet and give me a link to download it as a PDF."
      ],
      "developer_name": "Chan Meng",
      "logo_url": "https://files.openai.com/content?id=file_00000000189081faa1310731c12839d8",
      "logo_url_dark": null,
      "long_description": "ArchLang: write floor plans as code, compiled and checked by a deterministic compiler. Skills to author, edit, review and export .arch plans through the archlang CLI, and the ArchLang MCP server. The MCP server is hosted at https://mcp.archlang.uk/mcp with no sign-in: it compiles a plan to an SVG drawing and returns the plan's measured facts and lint findings.",
      "plugin_category_id": "developer tools",
      "privacy_policy_url": "https://archlang.uk/privacy",
      "screenshot_urls": [],
      "short_description": "Floor plans as checked code",
      "terms_of_service_url": "https://archlang.uk/terms",
      "website_url": "https://archlang.uk"
    },
    "keywords": [
      "floor-plan",
      "architecture",
      "dsl",
      "svg",
      "dxf",
      "cad"
    ],
    "mcp_servers": [
      {
        "key": "archlang",
        "metadata": {
          "headers": {},
          "type": "streamable-http",
          "url": "https://mcp.archlang.uk/mcp"
        }
      }
    ],
    "onboarding_skill_name": null,
    "requires_local_executor": false,
    "skills": [
      {
        "description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render.",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "archlang",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Use when the user wants to create, edit, or inspect an architectural floor plan / building layout as code — e.g. \"draw a 2-bedroom apartment\", \"add a bathroom to this plan\", \"make the bedroom 1 m wider\", \"lay out an office floor\". ArchLang is a tiny text language that compiles a .arch file to a professional floor-plan drawing (SVG/PNG/PDF/DXF). Drive it entirely through the `archlang` CLI; do not hand-render."
        },
        "name": "archlang",
        "plugin_release_skill_id": "pluginrsk_6ae6edfa7d888191b76c3058c045e042"
      },
      {
        "description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export).",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "archlang-brief-to-plan",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Use when the user gives a written brief for a new floor plan (rooms, areas, how rooms connect, a plot size) and wants the drawing, e.g. \"design a two-bedroom flat of about 75 m²\" or \"lay out a small office with four rooms\". Writes an ArchLang .arch file from the brief, checks it against the brief with the archlang CLI, and finishes it as a sheet. Not for changing an existing plan (archlang-edit-plan) or for exporting one (archlang-export)."
        },
        "name": "archlang-brief-to-plan",
        "plugin_release_skill_id": "pluginrsk_6ae6edf980408191b6cd2e9aa8fbd716"
      },
      {
        "description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan).",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "archlang-edit-plan",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "hierarchy",
          "short_description": "Use when the user wants to change an existing ArchLang .arch floor plan, e.g. \"make the bedroom 1 m wider\", \"add a bathroom next to the hall\", \"move the front door to the south wall\", \"merge the kitchen into the living room\". Reads the plan's facts with the archlang CLI, makes the smallest edit that does the job, and re-verifies. Not for writing a plan from a brief (archlang-brief-to-plan)."
        },
        "name": "archlang-edit-plan",
        "plugin_release_skill_id": "pluginrsk_6ae6edf9b5d08191980d86c64b029d5e"
      },
      {
        "description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself.",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "archlang-export",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "pdf",
          "short_description": "Use when the user wants an ArchLang .arch floor plan delivered as files, e.g. \"export this plan as PDF\", \"give me a DXF for CAD\", \"a PNG I can paste into a document\", \"one sheet per floor\", \"print it at 1:50 on A3\". Covers SVG, PNG, PDF and DXF output, paper size and scale, multi-storey plans and batches, through the archlang CLI, or through the ArchLang MCP tools and the Playground where the CLI cannot run. Not for writing or changing the plan itself."
        },
        "name": "archlang-export",
        "plugin_release_skill_id": "pluginrsk_6ae6edf95f1481919fa281d016ff4bfe"
      },
      {
        "description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked.",
        "interface": {
          "brand_color": null,
          "default_prompt": null,
          "display_name": "archlang-review-plan",
          "icon_large_url": null,
          "icon_small_url": null,
          "iconography": "radar",
          "short_description": "Use when the user wants an existing ArchLang .arch floor plan checked rather than changed, e.g. \"review this plan\", \"does this layout meet the brief?\", \"is every room reachable?\", \"check it for accessibility\", \"why does lint complain?\". Reads the plan's facts, runs the lint profiles and the intent gate through the archlang CLI, and reports findings with suggested fixes. It edits nothing unless asked."
        },
        "name": "archlang-review-plan",
        "plugin_release_skill_id": "pluginrsk_6ae6edf9a3ac81919ff075950a456e60"
      }
    ],
    "version": "1.50.1"
  },
  "scope": "GLOBAL",
  "share_url": "https://chatgpt.com/plugins/plugin_asdk_app_6acf8381cca08191bfb3eb7305fb6970?open_in_app",
  "status": "ENABLED"
}

SHA-256 of public snapshot: 3c86af17652cd3aee18c24d5a957367d2716ac169acda7e1c1d9960b0c4aa623