Topolo Docs Topolo Platform
Open workspace

Preview suppression list import

Dry-run a suppression CSV of up to 5000 rows with an email column: count the addresses that match contacts in this workspace (they would be blocked: manual_block by default, or unsubscribed), and list unmatched and invalid addresses. Nothing is written.

Outcome

Dry-run a suppression CSV of up to 5000 rows with an email column: count the addresses that match contacts in this workspace (they would be blocked: manual_block by default, or unsubscribed), and list unmatched and invalid addresses. Nothing is written.

Before you start

  • Verify the intended environment, signed-in credential, authorized organization and the action permission workspace:write.
  • Discover and select an authorized canonical Engage workspace. Pass resourceType=workspace and resourceId separately from action input.

Discover the target

topolo whoami --json
topolo actions get app_topolo_engage.imports.suppression.preview --json
topolo workspaces list topolo-engage --json

Set ENGAGE_WORKSPACE_ID to the identifier of the selected authorized workspace.

Input contract

FieldRequiredDeclared constraints
csvYes{"type":"string","minLength":1,"maxLength":2000000}
mappingNo{"type":"object","propertyNames":{"type":"string","maxLength":200},"additionalProperties":{"anyOf":[{"anyOf":[{"type":"string","const":"email"},{"type":"string","maxLength":80}]},{"type":"null"}]}}
typeNo{"type":"string","enum":["manual_block","unsubscribed"]}
idempotencyKeyYes{"type":"string","minLength":8,"maxLength":128}

Validate, plan and execute

Build payload.json from the current schema and discovered identifiers. The action description above defines its behavior, limits, side effects and declared errors.

: "${ENGAGE_WORKSPACE_ID:?Set ENGAGE_WORKSPACE_ID to your selected workspace identifier}"
topolo actions validate app_topolo_engage.imports.suppression.preview --data @payload.json --json
topolo actions plan app_topolo_engage.imports.suppression.preview --resource-type workspace --resource-id "$ENGAGE_WORKSPACE_ID" --data @payload.json --json

Execute the unchanged validated read.

: "${ENGAGE_WORKSPACE_ID:?Set ENGAGE_WORKSPACE_ID to your selected workspace identifier}"
topolo actions call app_topolo_engage.imports.suppression.preview --resource-type workspace --resource-id "$ENGAGE_WORKSPACE_ID" --data @payload.json --json

For MCP, use topolo_get_action, topolo_validate_action, topolo_plan_action and topolo_call_action. Pass resource context separately where required; confirm:true is required for mutations.

Captured successful requests and responses

Captured HTTP 200 · contactability routes > suppression imports > previews matched, unmatched and invalid addresses without writing

Action input

{
  "csv": "Email,Note\nada@acme.io,x\nnobody@acme.io,y\nnot-an-email,z\nADA@acme.io,dup",
  "idempotencyKey": "supp-0001"
}

Actual local response

{
  "headers": [
    "Email",
    "Note"
  ],
  "suggestedMapping": {
    "Email": "email",
    "Note": "custom:note"
  },
  "mapping": {
    "Email": "email",
    "Note": "custom:note"
  },
  "type": "manual_block",
  "summary": {
    "rows": 4,
    "matched": 1,
    "unmatched": 1,
    "invalid": 1
  },
  "unmatched": [
    {
      "rowIndex": 1,
      "address": "nobody@acme.io"
    }
  ],
  "invalid": [
    {
      "rowIndex": 2,
      "value": "not-an-email",
      "reason": "missing_at"
    }
  ]
}

Source test: contactability-routes.test.ts. Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

Effects and response meaning

  • Dry-run a suppression CSV of up to 5000 rows with an email column: count the addresses that match contacts in this workspace (they would be blocked: manual_block by default, or unsubscribed), and list unmatched and invalid addresses. Nothing is written.

Verify the outcome

  • Check the response against the declared output schema and the requested operation. For mutations, use the action-specific read described in the action description before any dependent operation.

Recover

For an uncertain result, inspect current retained state with a read action before retrying. Do not replay a mutation unless its contract explicitly guarantees idempotency.

Refused requests

Captured HTTP 422 · contactability routes > suppression imports > refuses files it cannot use

Action input

{
  "csv": "Name\nAda",
  "idempotencyKey": "supp-0001"
}

Actual local response

{
  "error": {
    "code": "mapping_requires_email",
    "message": "Map exactly one column of the file to email."
  }
}

Source test: contactability-routes.test.ts. Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

Captured HTTP 422 · contactability routes > suppression imports > refuses files it cannot use

Action input

{
  "csv": "Email\n\"ada@acme.io",
  "idempotencyKey": "supp-0001"
}

Actual local response

{
  "error": {
    "code": "invalid_csv",
    "message": "The file is not valid CSV."
  }
}

Source test: contactability-routes.test.ts. Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

Captured HTTP 422 · contactability routes > suppression imports > refuses files it cannot use

Action input

{
  "csv": "Email\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\na@b.co\n",
  "idempotencyKey": "supp-0001"
}

Actual local response

{
  "error": {
    "code": "too_many_rows",
    "message": "Imports are limited to 5000 rows.",
    "details": {
      "maxRows": 5000
    }
  }
}

Source test: contactability-routes.test.ts. Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

Captured HTTP 422 · contactability routes > suppression imports > refuses files it cannot use

Action input

{
  "csv": "Email,Note\nada@acme.io,x\nnobody@acme.io,y\nnot-an-email,z\nADA@acme.io,dup",
  "mapping": {
    "Missing": "email"
  },
  "idempotencyKey": "supp-0001"
}

Actual local response

{
  "error": {
    "code": "mapping_requires_email",
    "message": "Map exactly one column of the file to email."
  }
}

Source test: contactability-routes.test.ts. Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

Error recovery

  • HTTP 422 mapping_requires_email: Read the refusal details and current action contract, correct the stated cause, then validate and plan again. Do not retry unchanged or infer success.
  • HTTP 422 invalid_csv: Read the refusal details and current action contract, correct the stated cause, then validate and plan again. Do not retry unchanged or infer success.
  • HTTP 422 too_many_rows: Read the refusal details and current action contract, correct the stated cause, then validate and plan again. Do not retry unchanged or infer success.

Evidence and limits

  • /api/imports/suppression/preview

  • contactability-routes.test.ts

  • Actual route handlers with SQLite repositories; synthetic identity/workspace grants and provider ports.

  • Widget/bootstrap use actual app handler but mocked worker runtime and app identity.

  • No gateway execution, live permissions, external delivery or deployed proof.

These are local route captures with synthetic identity and simulated dependencies. They do not prove live authorization, gateway execution, production state, or external delivery.